If an AccessibilityImplementation subclass implements the two getters in this class, a screen reader such as JAWS can determine the text selection range by calling them. The AccessibilityImplementation subclass does not have to formally declare that it implements this interface; you can simply declare getters for these two properties, as follows:
The AccessibilityImplementation class provides a set of methods that allow a component developer to make information about system roles, object based events, and states available to assistive technology.
Adobe Flash Player uses Microsoft Active Accessibility (MSAA), which provides a descriptive and standardized way for applications and screen readers to communicate. For more information on how the Flash Player works with MSAA, see the accessibility chapter in Using Flex SDK.
The methods of the AccessibilityImplementation class are a subset of the
The way that an AccessibilityImplementation implements the IAccessible interface, and the events that it sends, depend on the kind of component being implemented.
Do not directly instantiate AccessibilityImplementation by calling its constructor. Instead, create new accessibility implementations by extending the AccImpl class for each new component. In Flash, see the fl.accessibility package. In Flex, see the mx.accessibility package and the accessibility chapter in Using Flex SDK.
Note: The AccessibilityImplementation class is not supported in AIR runtime versions before AIR 2. The class is available for compilation in AIR versions before AIR 2, but is not supported in the runtime until AIR 2.
Implement this method only if the AccessibilityImplementation represents a UI element that has a default action in the MSAA model.
If you are implementing
This method is never called with a
You can usually satisfy the requirements of this method by returning an
object that represents the child element itself. This works as long as the
child element is a
If a child element does not qualify for the technique described above,
you may do the bounding-box math yourself and return a
If the child element specified by
The
The
The
The
Note that for a non-multi-selectable component, the only valid
If you encounter flags that seem invalid, set
Finally, note that when
The length of the array may be zero. The IDs in the array should appear in the same logical order as the child elements they represent. If your AccessibilityImplementation can contain child elements, this method is mandatory; otherwise, do not implement it.
In assigning child IDs to your child elements, use any scheme that preserves uniqueness within each instance of your AccessibilityImplementation. Child IDs need not be contiguous, and their ordering need not match the logical ordering of the child elements. You should arrange so as to not reuse child IDs; if a child element is deleted, its ID should never be used again for the lifetime of that AccessibilityImplementation instance. Be aware that, due to implementation choices in the Flash player code, undesirable behavior can result if you use child IDs that exceed one million.
Implement this method only if the AccessibilityImplementation represents a UI element that has a default action in the MSAA model; be sure to return the exact string that the MSAA model specifies. For example, the default action string for a Button component is "Press."
If you are implementing
In the case of the AccessibilityImplementation itself (
For AccessibilityImplementations that can have child elements, this method must be implemented,
and must return a string value when
Depending on the type of user interface element, names in MSAA mean one of two different
things: an author-assigned name, or the actual text content of the element.
Usually, an AccessibilityImplementation itself will fall into the former category.
Its
When the
This leaves three possibilities for the AccessibilityImplementation itself (
Author-assigned name within component. The
Author-assigned name from UI. If the AccessibilityImplementation can have child
elements, the
Name signifying content. The
Note that for child elements (if the AccessibilityImplementation can have them), the third case
always applies. The
This method must return a combination of zero, one, or more of the predefined
To indicate that none of the state constants currently applies, this method should return zero.
You should not need to track or report the STATE_SYSTEM_FOCUSABLE or STATE_SYSTEM_FOCUSED states. Flash Player handles these states automatically.
Implement this method only if your AccessibilityImplementation represents a UI element
that has a value in the MSAA model. Be aware that some UI elements that have an apparent 'value'
actually expose this value by different means, such as
If you are implementing
The
This method allows accessible components to fit into the Flash Player's search for automatic labeling relationships, which allow text external to an object to supply the object's name. This method is provided because it is expected that the criteria for recognizing labels will differ from component to component. If you implement this method, you should aim to use geometric criteria similar to those in use inside the player code for buttons and textfields. Those criteria are as follows:
If the component that the AccessibilityImplementation represents should never participate in automatic
labeling relationships, do not implement
Note that this method is not based on any IAccessible method; it is specific to Flash.
To create a component accessibility stub,
subclass the relevant AccImpl class, overriding the property stub
with a value of
You can attach an AccessibilityProperties object to any display object, but Flash Player will read
your AccessibilityProperties object only for certain kinds of objects: entire
SWF files (as represented by
The
In Flash Professional, the properties of
To determine whether Flash Player is running in an environment that supports accessibility aids, use
the
Note: Call
The following example processes the
In Flash Professional, this property corresponds to the Description field in the Accessibility panel.
In Flash Professional, this property corresponds to the Name field in the Accessibility panel.
The
Note: Assigning this property does not automatically assign the specified key
combination to this object; you must do that yourself, for example, by
listening for a
The syntax for this string uses long names for modifier keys, and the plus(+) character to indicate key combination. Examples of valid strings are "Ctrl+F", "Ctrl+Shift+Z", and so on.
Mobile Browser Support: This class is not supported in mobile browsers.
AIR profile support: This feature is supported on all desktop operating systems,
but is not supported on mobile devices or on AIR for TV devices. See
To get and set accessible properties for a specific object, such as a button, movie
clip, or text field, use the
Note: AIR 2 supports the JAWS 11 (or higher) screen reader software. For additional information, please see http://www.adobe.com/accessibility/.
Note: Call
The following example processes the
If you modify the accessibility properties for multiple objects, only one call to the
Once this property is set to
Note: Before calling this method, wait 1 or 2 seconds after launching your
AIR application or after the first appearance of the Flash® Player window in which
your document is playing. Otherwise, you might get a return value of