In 1996, Macromedia purchased vector-based animation program, FutureSplash from FutureWave Software, and began to redistribute it as Flash 1.0.
As the program developed, it became more suited to interactive and visually appealing web content. Unfortunately this development also meant that web users with accessibility difficulties were left behind. Flash was completely inaccessible to almost all those using assistive technologies.
In 2001, the usability guru, Jakob Nielsen wrote a damning analysis of the program, Flash 99% bad. Nielsen observed that Flash “…discourages usability…makes bad design more likely, it breaks with the Web’s fundamental interaction style and it consumes resources…”.
Initially most flash developers were choosing to build their entire sites out of Flash by simply embedding their offline flash movie in a standard html page and publishing it.
Nowadays, people tend to use Flash elements in a different way, more as a complement to their html design. Today, the Flash player is the most popular browser plugin with 97.7% of web users capable of viewing Flash content.
In 2000, Macromedia became aware of its obligation to make it’s Flash player more accessible to all users and developed an accessibility development kit for Flash 5. This became common to all versions with the release of Flash MX in 2004 and was improved with Flash 8 in 2005.
Currently, Flash uses Microsoft Active Accessibility, MSAA, to send information to screen readers and other devices. The Flash player makes a list of the objects being displayed and sends them to the MSAA data tree, which can then be read out when they are encountered onscreen. As screen content changes, the MSAA is updated and the screen reader restarts again.
Flash developer Bob Regan identifies a few key concepts to bear in mind when creating accessible Flash content:
- Labels
- Use the Accessibility panel in Flash to give every important element its own label. This will then work with the screen reader much like the
altortitletags do in html or xhtml. These are especially important when the link or object is a symbol-based control device for something like volume control or play movie. - Role
- “What does this control do?” If you have created a radio button or a combo box, then say so. This will then help users who have come across controls like these in the past to identify and work with them.
- State
- This will apply to things like volume controls or switches. For example, simply define what the current volume is and how high you can go.
- Structure
- If you have a series of objects such as text boxes and one follows on from another, then it is essential that you monitor the reading order, so the screen reader can go through the swf in a specified, logical order.
With those 4 concepts in mind, there are a few guidelines and issues to bear in mind when creating accessible Flash content.
- Think logically about potential difficulties faced by the user
- Traditional browsing issues like poorly contrasting colours and irregular text size make navigation considerably more difficult to those who are visually impaired, eg someone with 20/200 vision (the level of impairment at which someone is considered legally blind).
- Use keyboard shortcuts
- The keyboard is far easier to use than the mouse for many with mobility difficulties. Set up your links in Flash to have access keys and ensure the screen reader reads them out.
- Preloaders
- If you decide to use a percentage based preloader, think about how the screen reader will output this. Instead of this onslaught of rapidly increasing numbers, use action script (set the
.silentproperty totrue) to announce that the swf is loading and then output a tone when the loading is complete. - Be aware of layers
- If you wish to have links or other information that will be aimed only at those using a screen reader, then you should include them on a layer below your movie. Similarly, if you do not want an item to be recognised by the screen reader, then simply uncheck the “make object accessible” box in Flash.
- Be conscious of elements over-riding assistive devices
- Make sure the user has control over anything that may interfere with their assistive device. For example, announcing at the beginning of the movie that there is a keyboard shortcut to mute any music or sound effects means they will always be able to hear their screen-reader.
Making the Flash content on your website accessible isn’t difficult in a technical sense. More often than not, it’s simply an issue of inexperience and not understanding about how different people of different abilities browse the web. When you start a project, bear in mind the problems faced by users with accessibility issues and tailor your Flash to be as much for them as for everyone else.
Tags: accessibility, Flash
So since Flash exposes its accessibility features via MSAA, i wonder: is MSAA Windows-only? Meaning that these accessibility features are useless for the ever-increasing numbers of people using alternative OSes, such as Mac OS X and Linux?
[...] Often the primary message or content of your page is contained in your video, so it is essential to provide adequate descriptions for the video during the authoring process. This should tell a user with a screen-reader or mobile device what is being conveyed in the video. [...]