explorers’ club


Accessible Flex Component Development
Wednesday, May 9, 2007, 8:48 pm
Filed under: accessibilities, actionScript, components, development, flash, flex

Since most components make use of either the data or dataProvider, I recommend targeting these properties as a source for binding within the each accessibilityProperties object. Here is an example that you would find within an MXML component:

<accessibility:AccessibilityProperties id="symbolNumberXChange_acc" forceSimple="true"
description="The symbol {data.symbol}, at {data.number}, exchanges on {data.exchange}."/>

It should be noted that accessibilityProperties should be implemented based on data content not based on control context. Now children within the component can target the object. Take the following example:

<mx:label text="{data.symbol}"
accessibilityproperties="{symbolNumberXChange_acc}"/>

Since the label’s accessibilityProperties is tied to symbolNumberXChange_acc, the accessible content of the component is now implementor-agnostic (not talking interfaces here). It is not knowledgeable of its implementors. By doing it this way, accessibilities can be developed in a custom component, where different layout states (and subsequent children controls) can implement the same accessibilityProperties objects. Also since binding is in use, those subscribers to binding events will automatically update their accessibilityProperties.

If the component in question is developed is an actionScript class (rather than an mxml class) then this procedure becomes more involved. It is recommended to override the setter functions of the data or dataProvider or other customer data property. Updates to the accessibilityProperties objects will take place within the setter function. It may also require that implementors of the accessibilityProperties objects be updated as well.

Caution:
Because there have been no performance benchmark tests regarding JAWS and Flex applications. it is advised that individual components developed with accessibilities do not call the Accessibilities.updateProperties(). Multiple calls to Accessibilities.updateProperties() has caused JAWS to crash or become unstable. It is recommended that the views that contain accessible-friendly components make the call to that function to limit the number of calls.


4 Comments so far
Leave a comment

Nice tips, but which version of JAWS did you use?

Comment by Weyert

Version 8

Comment by jwopitz

Nice tips, you can check the components and services we are offering at http://www.flexmonster.com

Comment by Flex/Flash development

[...] accessible functionality. Accessibility is also a topic of conversation for those working in the Adobe Flex [...]

Pingback by AniktoBlog » Blog Archive » Accessible RIA




Leave a comment
Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>