Best Practices for Accessible Flash Design: Part 2 | 2 | WebReference

Best Practices for Accessible Flash Design: Part 2 | 2

To page 1current pageTo page 3

Best Practices for Accessible Flash Design: Part 2

Ensure Keyboard Access

It is important that all controls that can be manipulated via the mouse also be accessible via the keyboard. This is intended to support users with mobility impairments as well as screen reader users. The Flash player facilitates keyboard access on its own by automatically making mouse defined events accessible via the keyboard. However, there are two specific techniques commonly used among Flash designers that should be avoided. In addition, designers should add keyboard shortcuts to facilitate keyboard access in complex applications. Finally, designers should be aware of an issue with the Flash Player 6 and earlier in pages that blend HTML and Flash content.

For example, the script shown above might be used to open a web page. It is directly associated with the instance of the movie clip used as a button. This script should instead be placed in a frame, likely the first frame, of the movie. The revised script could be as follows.

Avoid empty hit areas

Hit areas are empty button clips with a shape defined in the hit state. These allow designers to reuse a single library objects repeatedly by placing them over text objects and varying only the scripts used. The problem with this technique is that screen readers assume that if the contents of the up state of a button clip is empty, then it is not a button at all.

The solution to this issue is quite simple. By placing a transparent movie clip in the up state, screen readers will recognize the button and allow the user to activate it.

Assign keyboard shortcuts for most essential controls

In complex applications with multiple controls, it is extremely helpful for users to navigate the application using keyboard shortcuts. For many users with mobility impairments, pressing keys may be very difficult. Using keyboard shortcuts to reduce the number of keystrokes required to perform important tasks.

Using the shortcut field on the Accessibility panel or the .shortcut property in ActionScript is not sufficient for this purpose. Creating a keyboard shortcut requires that a listener event be defined and a script associated with that listener. The shortcut field merely announces a shortcut value via MSAA. It does not create the listener. Moreover, no screen readers support this feature in MSAA as of the writing of this document.

Be aware of ActiveX controls trapping focus within hybrid pages

When using Macromedia Flash Player 6 or earlier versions, users may find that they are not able to tab out of a Flash movie to the HTML contents elsewhere on the page. This is a common issue to all ActiveX controls. The easiest solution to this issue is to update the Flash player to Version 7 or newer.

A workaround exists for this issue in earlier versions that requires modifications to the HTML and Flash content. Details on this technique can be found at:

Enable Component Accessibility

With the release of Macromedia Flash MX 2004, the following accessible components were included with the application.

  • Simple Button

  • Check Box

  • Radio Button

  • Label

  • Text Input

  • Text Area

  • Combo Box

  • List Box

  • Window

  • Alert

  • Data Grid

For each component, the designer or developer need only enable the accessibility object by using the command enableAccessibility(). This includes the accessibility object with the component as the movie is compiled. Because there is no simple means of removing an object once it has been added to the component, these options are turned off by default. It is therefore very important that the designer or developer enable accessibility for each component. This step needs to be done only once for each component; it is not necessary to enable accessibility for each instance of a component. Here is the sample code added for the label component:

Again, this code is added only once for each component. It is best to attach this script to the first frame in the movie. The code required for each of the components is listed below.

Simple Button

Check Box

Radio Button


Combo Box

List Box



Data Grid

No additional code is required for the text input and text area components. The player implements the accessibility for these components automatically.

There is a known issue with screen readers and the combo box, list box and data grid components. The Macromedia Flash Player 7 is not able to pass information past the first instance of one of these objects without entering forms mode. This significantly reduces the usefulness of these components.

Provide Captions

Flash is frequently used to deliver audio and video content. Any audio used to deliver substantive content should include a synchronized text equivalent in the form of captions. There are three key strategies for including captions. Captions may be included by importing previously captioned audio content, by placing text objects directly on the stage, or by streaming caption data via XML.

Importing audio content that is already captioned

A simple if rather limited approach to captioning in Flash is to import content that has been captioned in another application. The limitation of this solution is that it limits the design options and flexibility of the application. By building the caption tool directly into Flash, the designer has an increased number of options in terms of formatting and the user interface.

Placing text directly on the stage

A second strategy for captioning Flash content relies on placing text objects directly on the stage. This method is the most precise in terms of synchronizing audio content with the captions, yet it is the most tedious in terms of the effort required on the part of the designer. One particular advantage of this method is that it allows for captions to be positioned on the stage to indicate different speakers as well as emphasis and emotion.

There is a third party tool from Hi Software available to help facilitate delivering captions by placing text objects directly on the stage. The single greatest challenge in delivering captions is creating the transcript of the audio. While voice recognition software has improved tremendously, it still is not a reliable means of converting speech to text automatically. Once the transcript is available, there are two commonly used tools for creating captions: Hi Caption SE from Hi Software and MAGpie from the National Center for Accessible Media. These tools help designers break the transcript into individual screens of text and then set the timing for each of those screens.

Hi Caption SE has the additional advantage of being able to convert this information directly into text objects on the timeline. This is particularly useful in situations where use of XML can result in sandbox violations, such as a Macromedia Breeze presentation.

To page 1current pageTo page 3

Created: March 27, 2003
Revised: July 29, 2006