Categories
Archives
-
June 2010 (1)
-
May 2010 (2)
-
April 2010 (1)
-
March 2010 (6)
-
January 2010 (1)
-
December 2009 (3)
-
November 2009 (5)
-
October 2009 (10)
-
September 2009 (1)
-
June 2009 (1)
-
October 2008 (1)
-
August 2008 (1)
-
May 2008 (1)
-
April 2008 (2)
-
February 2008 (1)
-
January 2008 (4)
-
Flex & Accessibility
During the last days I’ve been testing accessibility issues in Flex. Screen readers (SR) in particular. The most common SRs in Norway are JAWS, SuperNova, WindowEyes og Blindows. Out of these only JAWS and WindowEyes have Flash Player support. Most of my testing has been with JAWS, which is the most common SR in Norway and the SR with best Flex compability.
Following is a compilation of procedures, findings and experiences from my tests. No conclusions are reached yet. I’ll leave those to a later post.
Setup
JAWS is currently available in version 9.0, but the JAWS scripts for Flex are only supporting version 6.0 and 7.0.
Edit the flex-config.xml file so that the <accessible> attribute is set to true:
This file is usually located in:<mxml-compiler>
...
<accessible>true</accessible>
...
</mxml-compiler>
C:\Program Files\Adobe\Flex Builder 2\Flex SDK 2\frameworks\flex-config.xml
Coding
Flex-components have built-in support for SRs, but the help text is often not very descriptive, and some components (eg. checkboxes and radiobuttons) aren’t read at all. Therefore it’s more safe to prepare every interactive component with a descriptive name for the SR to read.
Following is a function to ease the addition of accessibility text to components:
private function addAccessibility(comp:UIComponent, name:String):void {comp.accessibilityProperties = new AccessibilityProperties();
comp.accessibilityProperties.name = name;
comp.accessibilityProperties.forceSimple = true;
comp.accessibilityProperties.noAutoLabeling = true;
}
To make forms best suited for accessibility, use
mx:Formfor the entire form andmx:FormItems for every input component:<mx:Form><mx:FormItem label="First Name">
<mx:TextInput id="txtFirstname" />
</mx:FormItem>
...
</mx:Form>
Usage
Compile your movie and display it in IE with JAWS running in the background. Even if JAWS supports both IE 6.0, IE 7.0, Firefox 2.0 and Netscape® Communicator 4.5, JAWS+Flex/Flash only works in IE. The accessibility technology in Flash Player is built upon Microsoft Active Accessibility (MSAA) which is only available to JAWS from IE.
When the flash movie has loaded, JAWS will start reading through all of the content from start to end. Activate Forms Mode in JAWS by hitting NUM PAD SLASH or ENTER. You can now press TAB to select a button or an input field, JAWS will first try to read the accessibility text associated to the current element. If no such text exists, only the default text is read, describing the label and the type of element.
Issues
<mx:FormHeading label="x"/>for forms. These will erroneously get read as the label to the following input component.Further Reading
Adobe: Flex Accessibility
WebAIM: Creating Accessible Macromedia Flash Content
Example applications from Adobe:
Blog Reader
Explorer