Adobe® Flex® 4 Language Reference
Show Packages and Classes List |  Packages  |  Classes  |  Index  |  Appendixes
mx.accessibility 
AccImpl 
Packagemx.accessibility
Classpublic class AccImpl
InheritanceAccImpl Inheritance AccessibilityImplementation Inheritance 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

AccImpl is Flex's base accessibility implementation class for MX and Spark components.

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 FormHeader, the header text is added. Developers wishing to avoid this should set the accessibilityName of the FormHeader to a space (" ").
    • 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 field is required, the locale-dependent string "required field" is added.
  • 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 implements getName() to specify that a Button's default name is the label that it displays.) If not empty, the return value of getName() is added.
    • Otherwise (if getName() returned empty), if the component's toolTip property is set, that String is added.
    • If the component's errorString property is set, that String is added.

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 focused)
Note that by default all components are assumed to be focusable and thus the accessibility implementation classes for non-focusable components like Label must clear this state flag. When a component has a state of unavailable, the focusable state is removed by the accessibility implementation class.

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.



Public Properties
 PropertyDefined By
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
 Inheritederrno : uint
Indicates an error code.
AccessibilityImplementation
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
 Inheritedstub : Boolean
Used to create a component accessibility stub.
AccessibilityImplementation
Protected Properties
 PropertyDefined 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
Public Methods
 MethodDefined By
  
Constructor.
AccImpl
 Inherited
An IAccessible method that performs the default action associated with the component that this AccessibilityImplementation represents or of one of its child elements.
AccessibilityImplementation
 Inherited
accLocation(childID:uint):*
MSAA method for returning a DisplayObject or Rectangle specifying the bounding box of a child element in the AccessibilityImplementation.
AccessibilityImplementation
 Inherited
accSelect(operation:uint, childID:uint):void
IAccessible method for altering the selection in the component that this AccessibilityImplementation represents.
AccessibilityImplementation
 Inherited
MSAA method for returning the default action of the component that this AccessibilityImplementation represents or of one of its child elements.
AccessibilityImplementation
 Inherited
MSAA method for returning the unsigned integer ID of the child element, if any, that has child focus within the component.
AccessibilityImplementation
 Inherited
MSAA method for returning the name for the component that this AccessibilityImplementation represents or for one of its child elements.
AccessibilityImplementation
 Inherited
MSAA method for returning the system role for the component that this AccessibilityImplementation represents or for one of its child elements.
AccessibilityImplementation
 Inherited
MSAA method for returning an array containing the IDs of all child elements that are selected.
AccessibilityImplementation
 Inherited
IAccessible method for returning the current runtime state of the component that this AccessibilityImplementation represents or of one of its child elements.
AccessibilityImplementation
 Inherited
MSAA method for returning the runtime value of the component that this AccessibilityImplementation represents or of one of its child elements.
AccessibilityImplementation
 Inherited
Returns an array containing the unsigned integer IDs of all child elements in the AccessibilityImplementation.
AccessibilityImplementation
  
[static] Method for supporting Form Accessibility.
AccImpl
 Inherited
Indicates whether an object has a specified property defined.
Object
  
[static] Method for supporting state Accessibility.
AccImpl
 Inherited
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
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns the string representation of the specified object.
Object
 Inherited
Returns the primitive value of the specified object.
Object
Protected Methods
 MethodDefined By
  
Generic event handler.
AccImpl
  
Returns the name of the accessible component.
AccImpl
  
getState(childID:uint):uint
Utility method to determine state of the accessible component.
AccImpl
Property Detail

eventsToHandle

property
eventsToHandle:Array  [read-only]

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

All subclasses must override this function by returning an array of strings of the events to listen for.



Implementation
    protected function get eventsToHandle():Array

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.

Constructor Detail

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.

Parameters
master:UIComponent — The UIComponent instance that this AccImpl instance is making accessible.
Method Detail

eventHandler

()method
protected function eventHandler(event:Event):void

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Generic event handler. All AccImpl subclasses must implement this to listen for events from its master component.

Parameters

event:Event

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.

Parameters

component:UIComponent

Returns
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

Returns
String

getState

()method 
protected function getState(childID:uint):uint

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Utility method to determine state of the accessible component.

Parameters

childID:uint

Returns
uint

isAncestorDisabled

()method 
public static function isAncestorDisabled(component:UIComponent):Boolean

Method for supporting state Accessibility. Returns true if an ancestor of the component has enabled set to false.

Parameters

component:UIComponent

Returns
Boolean