Package | mx.accessibility |
Class | public class AccImpl |
Inheritance | AccImpl AccessibilityImplementation Object |
Subclasses | AccordionHeaderAccImpl, ButtonAccImpl, ButtonBaseAccImpl, ComboBaseAccImpl, DateChooserAccImpl, DateFieldAccImpl, LabelAccImpl, ListBaseAccImpl, ListBaseAccImpl, MenuBarAccImpl, PanelAccImpl, PanelAccImpl, RichEditableTextAccImpl, SliderAccImpl, SliderBaseAccImpl, SpinnerAccImpl, TabBarAccImpl, TextBaseAccImpl, TreeAccImpl, VideoPlayerAccImpl |
Language Version: | ActionScript 3.0 |
Product Version: | Flex 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
It is a subclass of the Flash Player's AccessibilityImplementation class.
When an MX or Spark component is created,
its accessibilityImplementation
property
is set to an instance of a subclass of this class.
The Flash Player then uses this object to allow MSAA clients
such as screen readers to see and manipulate the component.
See the flash.accessibility.AccessibilityImplementation class
for additional information about accessibility implementation
classes and MSAA.
Children
The Flash Player does not support
a true hierarchy of accessible objects.
If a DisplayObject has an accessibilityImplementation
object,
then the accessibilityImplementation
objects
of its children are ignored.
However, the Player does allow a component's accessibility implementation class
to expose MSAA information for its internal parts.
(For example, a List exposes MSAA information about its items.)
The number of children (internal parts)
and the child IDs used to identify them
are determined by the getChildIDArray()
method.
In the Player's AccessibilityImplementation base class,
this method simply returns null
.
Flex's AccImpl class overrides it to return an empty array.
It also provides a protected utility method,
createChildIDArray()
which subclasses with internal parts
can use in their overrides.
Role
The MSAA Role of a component and its internal parts
is determined by the get_accRole()
method.
In the Player's AccessibilityImplementation base class,
this method throws a runtime error,
since subclasses are expected to override it.
Flex's AccImpl class has a protected role
property
which subclasses generally set in their constructor,
and it overrides get_accRole()
to return this property.
Name
The MSAA Name of a component and its internal parts
is determined by the get_accName()
method.
In the Player's AccessibilityImplementation base class,
this method simply returns null
.
Flex's AccImpl class overrides it to construct a name as follows,
starting with an empty string
and separating added portions with a single space:
- If a simple child (e.g., combo or list box item) is being requested, only the child's default name is returned. The rest of the steps below apply only to the component itself (childID 0).
- If the component is inside a Form:
- If the Form has a FormHeading and the component is inside
a FormItem, the heading text is added.
Developers wishing to avoid this should set the
accessibilityName
of the FormHeading to a space (" "). - If the field is required, the locale-dependent string "required field" is added.
- If the component is inside a FormItem,
the FormItem label text is added.
Developers wishing to avoid this should set the
accessibilityName
of the FormItem to a space (" ").
- If the Form has a FormHeading and the component is inside
a FormItem, the heading text is added.
Developers wishing to avoid this should set the
- The component's name is then determined thus:
- If the component's
accessibilityName
(i.e.,accessibilityProperties.name
) is a space, no component name is added. - Otherwise, if the component's name is specified (i.e., is not null and not empty) then it is added.
- Otherwise, a protected
getName()
method, defined by AccImpl and implemented by each subclass, is called to provide a default name. (For example, ButtonAccImpl implementsgetName()
to specify that a Button's default name is the label that it displays.) If not empty, the return value ofgetName()
is added. - Otherwise (if
getName()
returned empty), if the component'stoolTip
property is set, that String is added. - If the component's
errorString
property is set, that String is added.
- If the component's
Description
The MSAA Description is determined solely by a component's
accessibilityProperties
object and not by its
accessibilityImplementation
object.
Therefore there is no logic in AccessibilityImplementation or AccImpl
or any subclasses of AccImpl related to the description.
The normal way to set the description in Flex is via the
accessibilityDescription
property on UIComponent,
which simply sets accessibilityProperties.description
.
State
The MSAA State of a component and its internal parts
is determined by the get_accState()
method.
In the Player's AccessibilityImplementation base class,
this method throws a runtime error,
since subclasses are expected to override it.
Flex's AccImpl class does not override it,
but provides a protected utility method, getState()
,
for subclasses to use in their overrides.
The getState()
method determines the state
as a combination of
- STATE_SYSTEM_UNAVAILABLE (when enabled is false on this component or any ancestor)
- STATE_SYSTEM_FOCUSABLE
- STATE_SYSTEM_FOCUSED (when the component itself is focused, not set for any subparts the component may have)
Value
The MSAA Value of a component and its internal parts
is determined by the get_accValue()
method.
In the Player's AccessibilityImplementation base class,
this method simply returns null
.
Flex's AccImpl class does not override it,
but subclasses for components like TextInput do.
Location
The MSAA Location for a component's internal parts,
but not the component itself,
is determined by the get_accLocation()
method.
This method is never called with a childID of 0;
instead, the Flash Player determines the MSAA Location of a component
based on its bounding rectangle as determined by getBounds()
.
Flex's AccImpl class does not override this method,
but subclasses for components with internal parts do.
Default Action
The MSAA DefaultAction for a component and its internal parts
is determined by the get_accDefaultAction()
method.
In the Player's AccessibilityImplementation base class,
this method simply returns null
.
Flex's AccImpl class does not override it,
but subclasses with default actions do.
These subclasses also override AccessibilityImplementation's
accDoDefaultAction()
method
to perform the default action that they advertise.
Other
The MSAA events EVENT_OBJECT_SHOW and EVENT_OBJECT_HIDE are sent when the object is shown or hidden. The corresponding states for these are covered by the Flash Player which does not render any MSAA components that are hidden. When the component is shown the states mentioned for AccImpl are used.
Property | Defined By | ||
---|---|---|---|
eventsToHandle : Array [read-only]
All subclasses must override this function by returning an array
of strings of the events to listen for. | AccImpl | ||
master : UIComponent
A reference to the UIComponent instance that this AccImpl instance
is making accessible. | AccImpl | ||
role : uint
Accessibility role of the component being made accessible. | AccImpl |
Method | Defined By | ||
---|---|---|---|
AccImpl(master:UIComponent)
Constructor. | AccImpl | ||
An IAccessible method that performs the default action associated with the component
that this AccessibilityImplementation represents or of one of its child elements. | AccessibilityImplementation | ||
MSAA method for returning a DisplayObject or Rectangle
specifying the bounding box of a child element in the AccessibilityImplementation. | AccessibilityImplementation | ||
IAccessible method for altering the selection in the component
that this AccessibilityImplementation represents. | AccessibilityImplementation | ||
MSAA method for returning the default action of the component
that this AccessibilityImplementation represents or of one of its child elements. | AccessibilityImplementation | ||
MSAA method for returning the unsigned integer ID of the child element, if any,
that has child focus within the component. | AccessibilityImplementation | ||
MSAA method for returning the name for the component
that this AccessibilityImplementation represents or for one of its child elements. | AccessibilityImplementation | ||
MSAA method for returning the system role for the component
that this AccessibilityImplementation represents or for one of its child elements. | AccessibilityImplementation | ||
MSAA method for returning an array containing the IDs of all child elements that are selected. | AccessibilityImplementation | ||
IAccessible method for returning the current runtime state of the component that this
AccessibilityImplementation represents or of one of its child elements. | AccessibilityImplementation | ||
MSAA method for returning the runtime value of the component that this
AccessibilityImplementation represents or of one of its child elements. | AccessibilityImplementation | ||
Returns an array containing the unsigned integer IDs of all child elements
in the AccessibilityImplementation. | AccessibilityImplementation | ||
[static]
Method for supporting Form Accessibility. | AccImpl | ||
Indicates whether an object has a specified property defined. | Object | ||
[static]
Returns true if an ancestor of the component has enabled set to false. | AccImpl | ||
Returns true or false to indicate whether a text object having
a bounding box specified by a x, y, width, and height
should be considered a label for the component that this AccessibilityImplementation represents. | AccessibilityImplementation | ||
Indicates whether an instance of the Object class is in the prototype chain of the object specified
as the parameter. | Object | ||
Indicates whether the specified property exists and is enumerable. | Object | ||
Sets the availability of a dynamic property for loop operations. | Object | ||
Returns the string representation of this object, formatted according to locale-specific conventions. | Object | ||
Returns the string representation of the specified object. | Object | ||
Returns the primitive value of the specified object. | Object |
Method | Defined By | ||
---|---|---|---|
Generic event handler. | AccImpl | ||
Returns the name of the accessible component. | AccImpl | ||
Utility method to determine state of the accessible component. | AccImpl |
eventsToHandle | property |
master | property |
protected var master:UIComponent
Language Version: | ActionScript 3.0 |
Product Version: | Flex 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
A reference to the UIComponent instance that this AccImpl instance is making accessible.
role | property |
protected var role:uint
Language Version: | ActionScript 3.0 |
Product Version: | Flex 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Accessibility role of the component being made accessible.
AccImpl | () | Constructor |
public function AccImpl(master:UIComponent)
Language Version: | ActionScript 3.0 |
Product Version: | Flex 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Constructor.
Parametersmaster:UIComponent — The UIComponent instance that this AccImpl instance
is making accessible.
|
eventHandler | () | method |
getFormName | () | method |
public static function getFormName(component:UIComponent):String
Language Version: | ActionScript 3.0 |
Product Version: | Flex 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Method for supporting Form Accessibility. Called from get_accName() in this AccImpl class. Also called from the UIComponentAccProps constructor.
Parameters
component:UIComponent |
String |
getName | () | method |
protected function getName(childID:uint):String
Language Version: | ActionScript 3.0 |
Product Version: | Flex 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Returns the name of the accessible component. All subclasses must implement this instead of implementing get_accName().
Parameters
childID:uint |
String |
getState | () | method |
isAncestorDisabled | () | method |
public static function isAncestorDisabled(component:UIComponent):Boolean
Returns true if an ancestor of the component has enabled set to false. The given component itself is not checked.
Parameters
component:UIComponent — The UIComponent to check for a disabled ancestor.
|
Boolean — true if the component has a disabled ancestor.
|
Mon Nov 28 2011, 06:48 AM -08:00