User Agent and Assistive Technology Support Notes

Description

The intent of this technique is to prevent sounds from playing when
the Flash movie loads. This is useful for those who utilize assistive
technologies (such as screen readers, screen magnifiers, switch mechanisms,
etc.) and those who may not (such as those with cognitive, learning
and language disabilities). By default, the sound will be played automatically.
When a screen reader such as JAWS is detected however, the sound will
have to be started manually.

To perform screen reader detection, Flash provides the flash.accessibility.Accessibility.active
property. If this property is set to true, it means that the Flash
player has detected running assistive technology. Based on this flag,
the Flash developer can choose to run different functionality.

Note 1:
The Flash player requires some time to detect active assistive
technology and set the Accessibility.active property. To get accurate
results, do not check for this property immediately on the first frame
of the movie. Instead, perform the check 5 frames in or based on a
timed event.

Note 2:
Not every screen reader will be detected using this mechanism.
In general, the property will be set to true when any MSAA client
is running.

Note 3:
Other assistive technology tools, including screen magnifiers,
or tools not used as assistive technologies may also utilize MSAA in
ways that result in Accessibility.active being set to true.

Examples

Example 1: A SoundHandler class

A class called SoundHandler is created which automatically starts
playing an mp3 file only when Accessibility.active is set to false.
Note that this example also checks the flash.system.Capabilities.hasAccessibility
property. This property does not check whether a screen reader is running,
but instead indicates whether the Flash player is running in an environment
that supports MSAA (which basically means the Windows operating system).