160 likes | 379 Views
Flash accessibility architecture. Flex content. Custom Flash content. Flash content. Flex SDK. Flash components. Flash Player. MSAA. Assistive technology. AccessibilityProperties object. name description silent forceSimple shortcut noAutoLabeling.
E N D
Flash accessibility architecture Flex content Custom Flash content Flash content Flex SDK Flash components Flash Player MSAA Assistive technology
AccessibilityProperties object • name • description • silent • forceSimple • shortcut • noAutoLabeling
AccessibilityProperties.name and .description • AccessibilityProperties.name • Labeling information for the object. • AccessibilityProperties.description • Additional information on the object.
AccessibilityProperties.silent and .forceSimple • AccessibilityProperties.silent • Used to make the movie clip or root movie inaccessible to assistive technologies. • AccessibilityProperties.forceSimple • Used to hide all child objects for a object, resulting in a single accessible object
What you see when you can’t see Flash movie start Bicycle Wheel Frame Gears Other Wheel Flash movie end
Using forceSimple Flash movie start Bicycle Wheel Frame Gears Other Wheel Flash movie end
Other accessibility-related code • Capabilities.hasAccessibility • Accessibility.isActive() • Takes 2 seconds to handshake
AccessibilityProperties.shortcut and .noAutoLabeling • AccessibilityProperties.shortcut • Cue for the screen reader • Does not give the object that shortcut! • AccessibilityProperties.noAutoLabeling • Used to toggle the Flash player’s ability to assign accessibility names automatically. If this property is disabled, developers need to assign names for all objects • Only defined at the root movie level
Accessible Flash components • SimpleButton • CheckBox • RadioButton • Label • TextInput • TextArea • ComboBox • ListBox • Window • Alert • DataGrid
Enabling component accessibility import fl.accessibility.ComboBoxAccImpl; ComboBoxAccImpl.enableAccessibility(); Use Accessibility.updateProperties() to refresh Flash content when it’s modified.
Testing Flash for Accessibility • Designers are often visual in their way of looking at the world • Devote time to learning the screen reader, then use it • Test for accessibility are regular intervals • Test for screen reader access at least twice a day • Test other use cases at least once a week (more often on compressed schedules) • Involve people with disabilities in the process • User testing for large scale projects • Email based feedback for smaller projects
Controlling Tab and Reading Order Inspect32 / AccExplorer32 Demo • Quick tools for identifying reading order, object names, and role and state information
Controlling Tab and Reading Order Ensure objects are read in a sensible order • The tab order for a Flash or Flex application is used to determine the order of the items in the MSAA tree, which is used for the reading order • The MSAA tree is used in the same way that JAWS uses the DOM for HTML reading order. • Use MSAA inspector tools and a screen reader to: • ensure labels are read before controls • ensure any instructions for controls are read before controls themselves
Controlling Tab and Reading Order Controlling reading order is different from controlling what the user reads • Flash allows the focus to be programmatically moved, screen readers will respond to this in “forms” mode only. • Screen readers maintain an off-screen model which is followed instead of the system focus, except in forms mode.
Provide Structure, Role, and State Information • Screen reader user should know what every control does • Buttons must be correctly identified • Controls emulating standard windows controls should be identified appropriately • Unusual controls should provide cues to users as to their identification, operation and state information • Flash CS4’s UI components handle role for you.
Provide Structure, Role, and State Information • Every control should indicate state: • Current selection. • Number of possible selections. • Update when selection changes. • Flash CS4’s UI components handle state for you.