Accessibility Support
From OpenLaszlo
Contents |
Introduction
Accessibility support is a common requirement for application development in order to conform to the U.S. Federal requirement for accessible information systems (aka Section 508). To support this need, support has been added to the Laszlo Foundation Classes as of 3.x that leverage the accessibility features of the Flash player.
Proposal
API Specification
In Laszlo LZX, the most basic visible object is a view. Since almost every visible object inherits from view, almost all visible objects will inherit accessibility support including image, text, button, checkbox, and radio button. (The one exception, images embedded within editable text views, is covered at the end of this section.) The following methods and attributes will be added to view:
| Feature | Attribute | Method |
| activate/inactivate children for accessibility | aaactive="boolean" | setAAActive(boolean) |
| accessibility name | aaname="string" | setAAName(string) |
| accessibility description | aadescription="string" | setAADescription(string) |
| accessibility tab ordering [1] | aatabindex="number" | setAATabindex(number) |
| accessibility silencing/unsilencing | aasilent="boolean" | setAASilent(boolean) |
| screen reader active | LzBrowser.isAAActive()
returns true if a screen reader is active and the Flash player is focused. | |
| set system clipboard | LzBrowser.setClipboard(string) |
[1] optional, not required, but would be desirable
Note that during the implementation phase, the API may change, but the functionality is as stated.
By default, all text contained in a Laszlo application will be read by supported screen readers. Therefore, the activation feature allows developers to specify which views should be read by the screen reader. Activation applies to the current view and all of its children. Accessibility name and description provide the overview and detailed text for the screen reader. Accessibility tab ordering, if implemented, would specify the reading order for accessible objects. Silencing/unsilencing specifies whether an individual item is accessible or not. Finally, LzBrowser provides the isAAActive() method to determine if a screen reader is active and the Flash player is currently focused.
Aadescription is treated separately from the contents - if specified, aadescription will be read in addition to the aaname. By default, aaname is equal to the contents of the text field. Aaname can also be specified/overridden.
For non-MSAA compliant screen readers such as R&W Gold, we will support the ability to place text on the clipboard from within an OpenLaszlo application. The exact mechanism needs to be proposed to and approved by the community, but will likely look something like LzBrowser.setClipboard(string).
For embedded images, we are currently investigating the exact mechanism for providing MSAA support.
Examples
In this example, there are two views that provide accessibility information. When the first view is clicked, it uses the scripting API to unsilence the button.
<view aaactive="true" aaname="Activation Button" aadescription="This button allows you to access more information by activating important views." aatabindex="1" onclick="important.setAASilent(false)">
<button id="important" aaactive="true" aaname="Important Information" aadescription="Here is some important information." aatabindex="2" aasilent="true"/>
Compatibility Notes
Flash has basic support for screen readers with Flash player versions 6 and above. For best results, we recommend upgrading to Flash 8. Laszlo's built-in version detection feature can facilitate automatic upgrades.
Here are some notes from the Macromedia Flash 8 accessibility FAQ: http://www.macromedia.com/resources/accessibility/flash8/faq.html
Microsoft Active Accessibility (MSAA) makes it easier for all assistive technologies to incorporate support for Macromedia Flash Player. Once the contents of a Macromedia Flash movie are placed under MSAA, it is up to the individual assistive technology to render that content for the user. Macromedia is committed to expanding the number of tools that take advantage of the new features of Macromedia Flash Player. Macromedia is working with leading vendors of assistive technology to ensure the broadest possible support for Macromedia Flash Player. To date, the following assistive technologies support the Flash player: Window Eyes from GW Micro, JAWS from Freedom Scientific, Home Page Reader from IBM and ZoomText from Ai Squared.
History
The first wiki version of this spec was copied from rev1.3 of the Word copy, dated 11/09/2005.

