Professional Documents
Culture Documents
Flash Accessibility
NSW Government Website Flash Accessibility
© Crown Copyright
Department of Commerce
McKell Building
2-24 Rawson Place
Sydney NSW 2000
Feb 2009
Version 1
Contents
1. Introduction ....................................................................................................................................4
1.1. Overview ................................................................................................................................4
1.2. About Flash ............................................................................................................................5
2. Flash and accessibility ......................................................................................................................6
2.1. Flash Player and screen readers ...............................................................................................6
2.2. Flash CS3 and Flash Player 9....................................................................................................6
2.3. Use of Flash on Agency websites ..............................................................................................8
3. Provide text equivalents and captions................................................................................................9
3.1. Assign text equivalents for graphic elements..............................................................................9
3.2. Provide captions for audio content ............................................................................................9
4. Give users control............................................................................................................................11
4.1. Allow users to skip an introduction............................................................................................11
4.2. Enable stop, play and pause control..........................................................................................11
4.3. Enable control over audio playback ...........................................................................................11
4.4. Keep the user informed ...........................................................................................................12
5. Make navigation accessible...............................................................................................................13
5.1. Ensure keyboard access to all controls ......................................................................................13
5.2. Enable control over reading order .............................................................................................13
5.3. Establish a visual hierarchy ......................................................................................................14
5.4. Describe the structure of the movie ..........................................................................................15
5.5. Increase the target area of buttons...........................................................................................15
6. Manage visual features ....................................................................................................................16
6.1. Handle animation ....................................................................................................................16
6.2. Use colour and fonts wisely......................................................................................................18
7. Provide low bandwidth delivery.........................................................................................................19
7.1. Keep the file size small ............................................................................................................19
7.2. Separate content based on bandwidth needs .............................................................................19
8. Use other accessibility techniques .....................................................................................................20
8.1. Provide two versions of your Flash file.......................................................................................20
8.2. Optimise for search engines .....................................................................................................21
9. Test Flash for accessibility ................................................................................................................22
10. Document endnotes.........................................................................................................................23
1. Introduction
1.1. Overview
The purpose of this document is to assist NSW Government Agencies manage Flash movie files on websites
and at the same time comply with accessibility guidelines.
Note: It is assumed that the audience of this document are experienced users of Flash and its components.
This document (and the user guides listed below) compliments a suite of website best practice guidelines
located on the Government Chief Information Office (GCIO) website at
<http://www.gcio.nsw.gov.au/library/guidelines/797/>
NSW Government Website Style Directive: Specifies compulsory and optional elements for
public facing NSW Agency websites.
NSW Government Website Style Directive Explanatory Notes: Provides additional
information regarding compulsory and optional elements specified in the NSW Government Website
Style Directive. It also provides details on website usability and accessibility.
NSW Government Website Style Directive Technical Implementation Notes: Assists
developers with the style directive HTML templates and cascading style sheets.
NSW Government Website Style Directive Compliance Checklist: Provides a concise
checklist against which Agencies can check whether their websites are compliant with the NSW
Government Website Style Directive.
NSW Government Website Best Practices Checklist: Provides a checklist against which
Agencies can check whether they have used website best practices for usability and accessibility.
NSW Government Website Images and Graphics: Provides guidelines on how to manage
images on websites and at the same time comply with accessibility guidelines.
NSW Government Website Online Forms: Provides guidelines on how to design and code online
forms for accessibility.
NSW Government Website PDF Accessibility: Outlines how to create PDF files so they comply
with accessibility guidelines.
NSW Government Website Information Architecture: Guides Agencies through the process of
determining who their main website users are, the most relevant content for their website and
organising that content.
NSW Government Website Development and Maintenance: Provides information to help
NSW Government Agencies develop their websites and maintain the quality and effectiveness of
these sites.
NSW Government Website Legal Requirements and Statements: Outlines the legal
requirements regarding content, privacy and copyright on NSW Government websites.
Adobe Flash is software that can generate interactive animations of high visual impact with relatively small
sized files. Flash content is browser independent and looks the same on all graphical browsers that are
equipped with the necessary Flash plug-in player. Flash was originally created by Macromedia which was
absorbed into Adobe Systems Incorporated in 2005.
The Flash software tool creates a file with a .FLV extension that can be converted to various types of movie
files such as SWF, EXE, MOV and HQX. FLV files can also be converted to GIF, JPG and PNG graphic files.
Before the release of the Flash MX authoring tool and Flash Player 6, Flash generated content was
inaccessible to many web users with a disability. It was not possible to add alternative text equivalents to
visual content for users of screen readers or to caption audio content for users with impaired hearing.
However, by using Flash MX or later versions and by employing accessibility techniques, developers can now
create Flash files that are much more accessible than in the past.
Although Flash presents accessibility barriers for people with physical as well as sensory disabilities, in some
cases the use of Flash can enhance accessibility for people with cognitive and learning disabilities. A concept
or process is sometimes considerably easier to understand when it is presented in a simple, elegant
animation rather than explained in words. Since Flash uses vector-based graphics, presentations can also be
resized without loss of clarity which is helpful to users with visual impairments.
introductions to websites
instructional movies
cartoons and e-greeting cards
surveys and forms
applications with shopping carts
banner and pop-up window advertisements.
To access Flash content using a screen reader, users need the following:
Flash Player 6 or later installed (the latest version can be downloaded from
<http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash>)
a screen reader with the Flash Player implementation of MSAA, for example, Window-Eyes from GW
Micro or JAWS from Freedom Scientific
Microsoft Internet Explorer which is the only browser that supports MSAA.
Most screen readers including JAWS, IBM Home Page Reader and Window-Eyes, run on Windows. Windows
uses Microsoft Active Accessibility (MSAA) technology to help exchange information between a Windows
application, the program and an assistive device like a screen reader. With the release of Flash Player 6 in
2002, Macromedia provided a player that supports MSAA to serve as a link between appropriately made
Flash material and assistive technologies. The Flash Player creates a list of objects on the screen and records
them on the MSAA “data tree” so the screen reader can read this list as it encounters Flash content.
By default screen readers can read text objects in a Flash movie and also identify buttons and movie clips
with attached scripts. However, screen readers cannot determine the meaning of a graphic element on the
screen. The Flash developer must assign a text description to any graphic or animated elements via either
the Accessibility Panel or ActionScript.
As screen readers always start from the top of a movie and can only read one thing at a time, some complex
Flash content cannot be made accessible, for example, movies with multiple objects that must be interpreted
at the same time.
Additional information:
For more information about the Window-Eyes screen readers, see <http://www.gwmicro.com/>.
At time of writing, the latest version of Flash is Adobe Flash CS3 which has the following features to help
you design for accessibility:
MSAA support so users of assistive technologies can access the contents of a Flash movie
content magnification that allows users to zoom in on Flash content
mouse-free navigation so users can use keyboard controls to navigate Flash content
sound synchronisation where developers can provide synchronised narrative audio for users who are
unable to read graphics
an Accessibility Panel that allows developers give a text equivalent for a single element or a group of
elements
the auto-labelling feature of enableAccessibility() that automatically provides text equivalents for
several elements
the Make Child Object Accessible feature that hides elements that convey no content or are difficult
to render using assistive technologies.
Adobe Flash CS3 has a core set of accessible ActionScript components that can automate many of the
common accessibility practices related to labelling and keyboard access. To enable the accessibility object
for a component, all you have to do is use the command enableAccessibility().This includes the
accessibility object with the component as the movie is compiled.
Button
Check box
Radio button
Text input
Text area
Combo box
List box
Data grid
Tile list.
Additional information:
Adobe (2008), Adobe Flash Player 9 accessibility, Adobe Systems Incorporated, retrieved 11 August 2008,
<http://www.adobe.com/accessibility/products/flashplayer/>.
Adobe (2008), Adobe Flash CS3 accessibility FAQ, Adobe Systems Incorporated, Retrieved 11 August 2008,
<http://www.adobe.com/accessibility/products/flash/faq.html>.
Adobe (2008), Adobe Flash CS3 Professional Accessibility Overview, Adobe Systems Incorporated, Retrieved
11 August 2008, <http://www.adobe.com/accessibility/products/flash/author.html>.
Guideline:
Flash should generally be avoided unless it adds significant user value. For example, Flash is useful for
house banners, campaign advertisements, demonstrations, training materials and tours to demonstrate new
interactive functionality.
Animation and Flash can slow down web pages and should be used sparingly. Animation should be limited to
highlighting the key focus of a site and the file size of movies should be kept as small as possible.
Only use Flash introductions when it is appropriate to both the content of the site and the needs of site
users. When Flash introduction pages are used, always include a ‘Skip Introduction’ option outside the Flash
object.
If Flash is used, provide a HTML alternative that is automatically presented to users if they do not have Flash
installed.
Rationale:
However many users are afraid to download plug-ins such as the Flash Player and may not be able to view
content and achieve their tasks if this is the only option available. Therefore, it is essential that an HTML
alternative is provided. In addition, depending on how it is implemented, Flash content may not be
accessible to some users with disabilities.
Implementation notes:
If possible save the output from your Flash file so it has backward compatibility with the previous Flash plug-
in.
Additional information:
Regan B (2005), Best Practices for Accessible Flash Design, Adobe, retrieved 12 August 2008,
<http://www.adobe.com/resources/accessibility/best_practices/bp_fp.html>.
WebAIM (2008), Creating Accessible Flash Content, Utah State University, retrieved 11 August 2008,
<http://www.webaim.org/techniques/flash/>.
Hudson R (2003), Flash And Accessibility, Web Usability, retrieved 12 August 2008,
<http://www.usability.com.au/resources/flash.cfm>.
Nielsen J (2002), Making Flash Usable for Users With Disabilities, Useit.com: Jakob Nielsen's Website,
retrieved 12 August 2008, <http://www.useit.com/alertbox/20021014.html>.
When delivering narrative audio, provide captions using one of these methods:
Note: DFXP (Distribution Format Exchange Profile) is a file format for captions that is sanctioned by the
World Wide Web Consortium (W3C). 1
The following tools support the necessary formats for adding captions to video in Flash:
Hi-Caption Studio, a third-party extension for Flash that allows you to easily create captions, save
them in an XML file and load them into the SWF file at runtime.
Captionate 2 is a Windows application that embeds captions into FLV files as embedded cue
points. These cue points are displayed by the FLVPlaybackCaptioning component in Flash CS3.
MAGpie is a free tool from the Carl and Ruth Shapiro Family National Center for Accessible Media
(NCAM) at WGBH. It allows you to create captions once and then output them in multiple formats,
including DFXP. NCAM also offers a free component to display caption data in QuickTime and DFXP,
named ‘CC for Flash’.
Additional information:
For more information about captioning tools, see Captioning tools for Flash, ‘Adobe Flash CS3 accessibility
design guidelines’ at <http://www.adobe.com/accessibility/products/flash/captioning_tools.html>.
Adobe (2008), Accessibility Best Practices Overview ‘Adobe Flash Accessibility Design Guidelines’, Adobe
Systems Incorporated, retrieved 12 August 2008,
<http://www.adobe.com/accessibility/products/flash/best_practices.html>.
Regan B (2005), Best Practices for Accessible Flash Design, Macromedia White Paper, Adobe Systems
Incorporated, retrieved 11 August 2008,
<http://www.adobe.com/resources/accessibility/best_practices/best_practices_acc_flash.pdf>.
IBM Corporation (2008), Multimedia Web checkpoint 4, Human Ability and Accessibility Centre, IBM
Corporation, retrieved 11 August 2008, <http://www-
03.ibm.com/able/guidelines/web/webmultimedia.html>.
Examples:
Flash movie with the option to turn captions on or off (by clicking CC)
U.S. National Archives and Records Administration (NARA), retrieved 21 August 2008,
<http://videocast.nih.gov/sla/NARA/dsh/index.html>.
Flash introductions are often used to inform or entertain the user while the rest of the Flash content loads.
These introductions are useful if Flash content is loading over a slow connection. However, they can turn
users away from a website if they feel the information they are receiving is not directly related to their
goals. 2
Provide a ‘skip intro’ link as part of the HTML so the user can skip the introduction immediately without
having to wait for the animation to load.
The user should be able to stop a Flash animation at any time, rewind it and pause it. For all controls, it is
also important to provide the user with feedback on the control as it changes. For example when a ‘play’
button is pressed, it should clearly change to a ‘pause’ button and the accessibility information for the button
should be updated as well.
Provide ‘play’, ‘pause’ and ‘turn off all movie’ sound buttons so users can control audio playback. If a user is
using a screen reader and music and audio plays as soon as a web page loads, they may not be able to hear
the contents of the movie via the screen reader.
Examples:
A Flash movie that has buttons so users can control audio feedback and navigation
Lighthouse International, retrieved 12 August, <http://www.lighthouse.org/medical/see/>.
Offer the following information to users so their Flash experience is as accessible as possible:
Advise the user how long a download will take by providing a progress status when the movie is
loading via either percentage loaded (e.g. 45%) or as amount of data loaded (e.g. 10k).
Advise the user when the pre-loading is finished, e.g. use a short beep to alert the user the movie is
loaded.
If a specific version of the Flash plug-in is required to view the content, offer the user the option of
downloading the plug-in or viewing the content in an alternative format.
Examples:
Make sure users can navigate through your movie effectively using only their keyboard. To facilitate
keyboard access:
Try to keep scripts within frames as opposed to attaching them directly to objects.
Avoid using empty movie clips as buttons as these 'hit areas' are not recognised by screen readers.
Add keyboard shortcuts to commonly used buttons.
The default reading order of a Flash movie does not follow a predictable left to right, top to bottom order.
The most precise way of controlling the order in which a Flash movie is read by a screen reader is to use the
.tabindex property in ActionScript. To make sure the .tabindex property can be used properly, do the
following: 3
Ensure every instance on the stage has an instance name. This includes all text, movie clip,
and button symbols as well as all components over the life of the movie.
Only use dynamic text fields as it is not possible to give an instance name to static text objects.
One instance of static text will cause the entire reading order to revert to the default.
Include all instances over the life of the movie in the list of .tabindex values. This includes
elements that are not visible and sit offstage or are hidden under another instance and elements
that are not visible at the start of the movie which become visible later.
When child SWF files are loaded into a parent movie, list the .tabindex values in each child
movie clip. Make sure the .tabindex values in the reading order of each child SWF file are unique.
For example, so a screen reader will read the contents of the first movie followed by the contents of
the second movie, the list of .tabindex values for the first movie should be 1, 2, 3, while the list of
values for the second movie should be 4, 5, 6.
Use a third-party repair and validation tool
Use AccRepair, a third-party tool from HiSoftware (<http://www.hisoftware.com/access/repair.html>) to
look for missing instance names, convert static text into dynamic text and build the reading order.
Note: Another way to control the reading order is to limit the physical size of the stage and keep the
layout simple. A Flash movie that is less than 300 pixels wide and consists of a single column or a single row
of objects does not usually require control over the reading order, for example, a navigation bar that
consists of a single row or an application that consists of a single column.
Another method of controlling the reading order is to develop a secondary control that places a duplicate
version of content offstage in a single column.
Provide visual cues for users so they can easily identify what part of the design is for content and what part
is navigation. Create a visual hierarchy for content and maintain it throughout the movie. Make navigation
clear and easy to use. 4
Examples:
If a Adobe Flash movie has a complex layout, structure and/or navigation, it can be difficult for screen
reader users to make sense of its content. For complex movies add a description of the entire movie to help
orient screen reader users to its structure. This can be accomplished using a separate information screen so
the user can access the content without hearing the description at each refresh. It can also be accomplished
using the root-level description.
Increase the size of buttons or navigation items to assist disabled users who work with a mouse so the
easiest item to click on the screen is the one that is the closest to the mouse point and the largest in size.
Use ActionScript to dynamically improve the target area of buttons as the cursor approaches them. 5
Screen readers sometimes have trouble keeping up with quick changes in Adobe Flash movies. To make
animations more accessible:
Avoid presenting information in your movie that is displayed for only a short time.
Make sure anything that users need to read or interact with stays still. 6
Add ‘Next’ buttons on your movie so users can control movement.
As movies that never stop moving cause screen readers to refresh frequently, make looping
elements (e.g. child objects of movie clips or entire movies) inaccessible.
If you must have animation, stop the movement after one or two cycles.
Developers also should be aware that flickering animations can cause epileptic seizures in people. For
instance in 2007, a movie clip on the official London 2012 Olympic Games website
<http://www.london2012.com/> contained an animation that caused seizures in at least thirty people.
Additionally, according to Nielsen 7 , the use of animated words actually encourages users to ignore text
because they believe anything that contains moving or blinking words is usually an advertisement.
Most people find static text easier to read than moving text, especially user groups with disabilities, learning
disorders and/or low literacy 8 . Text that is moving, flashing or scrolling may be inaccessible to some users
with cognitive disabilities or learning disorders such as dyslexia and Attention Deficit Hyperactivity Disorder
(ADHD) who have difficulty focusing their attention to the task at hand 9 .
The Web Content Accessibility Guideline 7 (W3C, 1999) states the following about animation: 10
Additional information:
Bohman P (2004a), Cognitive Disabilities Part 1: We Still Know Too Little, and We Do Even Less, WebAIM,
retrieved 12 August 2008, <http://www.webaim.org/articles/cognitive/cognitive_too_little/>.
Bohman P (2004b), Cognitive Disabilities Part 2: Conceptualizing Design Considerations, WebAIM, retrieved
12 August 2008, <http://www.webaim.org/articles/cognitive/conceptualize/>.
Vassallo S (2003), Enabling the Internet for People with Dyslexia, E-bility.com, retrieved 12 August,
<http://e-bility.com/articles/dyslexia.shtml>.
Johansson R (2007), London 2012 Olympics branding film causes epileptic seizures, 456 Berea St, retrieved
11 August 2008,
<http://www.456bereastreet.com/archive/200706/london_2012_olympics_branding_film_causes_epileptic_s
eizures/>.
W3C (1999), Web Content Accessibility Guidelines 1.0 W3C Recommendation 5-May-1999, W3C, retrieved
12 August 2008, <http://www.w3.org/TR/WCAG10/wai-pageauth.html#toc>.
Examples:
Avoid using colour as the primary way to convey information. Colour-blind users rely on HTML pages to
underline links, otherwise they may not be able to distinguish between links and text. Flash developers
should implement similar measures, for example, instead of creating a movie that has a green and a red
button with the instructions, ‘click the green button to start and click the red button to stop’, create a movie
with buttons that have clearly defined labels of ‘Start’ and ‘Stop’. 11
It is also important to have sufficient contrast between foreground and background colours to make content
easily readable.
When possible use fonts that are designed for onscreen reading such as Verdana and Arial. Make sure there
is a high contrast between text and the background colour.
Examples:
A Flash banner with a button that has a clearly defined label of ‘FIND OUT MORE‘ in Arial font
NSW Roads and Traffic Authority, retrieved 13 August 2008, <http://www.rta.nsw.gov.au/>.
If possible, Flash content should be optimised for low bandwidth delivery. To keep a Flash file as small as
possible and therefore decrease loading time:
Optimise sound and graphic files before you import them into Flash.
Experiment with the sound settings in Flash to find the best settings for each sound file you use.
Sound significantly increases the file size of Flash content. 12
Use vector-based images as they are lower in memory size than bitmap images. (However, complex
bitmaps are better left as bitmap files.)
Use only a small number of fonts as fonts also increase the size of Flash content. Device fonts
decrease the file size but they do not display as anti-aliased (e.g. with straight lines and smooth
curves). 13
Some users still have dial-up or low speed connections. Provide these users with a version of your Flash
movie that does not have lengthy sound files and high-resolution bitmaps. If the file size is reduced, the load
time is shorter and users with slow connections have a much improved experience.
Developers can use ActionScript to test connection speed before loading various elements of the movie. By
timing how long it takes to load specific content, e.g. 20k of data, the developer can then set a variable that
tells Flash which content to deliver to the user.
If a complex Flash file is required, it is possible to give users a choice between two Flash files, one with
accessibility features enabled and one without them enabled.
Examples:
The information within Flash movies is not readily accessible to internet search engines. However,
developers can follow these strategies to ensure users looking for their content can find it via search
engines:
Create a synopsis page. A synopsis page that describes the site's content and contains
appropriate keywords assists search engines to index the information that contains Flash content.
Make Flash as accessible as possible. Flash content that has been developed to meet
accessibility guidelines (as outlined in this document) is likely to be ranked highly by search engines.
Additional information:
Kamerer J (2006), Making Flash websites searchable, Adobe Systems Incorporated, retrieved 18 August
2008, <http://www.adobe.com/devnet/flash/articles/flash_searchability.html>.
Avangate (2007), Flash and Search Engine Optimization, Avangate.com, retrieved 18 August 2008,
<http://www.avangate.com/articles/flash-seo_55.htm>.
K’necht A (2004), Search Engine Optimization and Non-HTML Sites, Digital Web Magazine, retrieved 18
August 2008, <http://www.digital-web.com/articles/seo_and_non_html_sites/>.
Additional information:
MacGregor C (2004), Guidelines for user testing of Macromedia Flash content, Frazoom.com, retrieved 11
August 2008, <http://www.flazoom.com/usability/usability_IV_2.shtml>
1
W3C (2006), Timed Text (TT) Authoring Format 1.0 – Distribution Format Exchange Profile (DFXP), W3C,
retrieved 12 August 2008, <http://www.w3.org/TR/2006/CR-ttaf1-dfxp-20061116/>.
2
MacGregor C, Developing User-Friendly Flash Content, Flazoom.com, retrieved 5 August 2008,
<http://www.flazoom.com/usability/usability_toc.shtml>
3
Adobe Systems Incorporated (2008), Control reading order, ‘Adobe Flash CS3 accessibility design
guidelines’, Adobe Systems Incorporated, retrieved 30 July 2008,
<http://www.adobe.com/accessibility/products/flash/reading.html>.
4
MacGregor C, op. Cit.
5
MacGregor C, op. Cit.
6
Nielsen J (2002), Making Flash Usable for Users With Disabilities, Useit.com: Jakob Nielsen's Website,
retrieved 5 August 2008, <http://www.useit.com/alertbox/20021014.html>.
7
Nielsen, J. (2000). op. cit
8
Nielsen, J. (2005). Lower-literacy Users in Jakob Nielsen's Alertbox, March 14, 2005. Retrieved 22 June,
from <http://www.useit.com/alertbox/20050314.html>.
9
Vassallo, S. (2003). Enabling the Internet for People with Dyslexia. Retrieved 9 June, 2005, from <http://e-
bility.com/articles/dyslexia.shtml>.
10
W3C (1999), Guideline 7. Ensure user control of time-sensitive content changes, ‘Web Content
Accessibility Guidelines 1.0’, W3C, retrieved 12 August 2008, <http://www.w3.org/TR/WCAG10/#gl-
movement>.
11
Perry J M (2002), Flash MX Accessibility Issues, Web Devcenter, O'Reilly Media Inc, retrieved 5 August
2008, <http://www.oreillynet.com/lpt/a/2894>.
12
MacGregor C, op. Cit.
13
MacGregor C, op. Cit.