Now Adobe flash is one of the widest technologies used on web to create RIAs (Rich Internet Applications).
Accessibility involves two key issues: first, how users with disabilities access electronic information, and second, how web content designers and developers enable web pages to function with assistive devices used by individuals with disabilities.
More about Accessibility
Accessibility policies vary from country to country, but most countries, including the European Union, have adopted standards based on the Web Content Accessibility Guidelines (WCAG) of the World Wide Web Consortium (W3C).
Accessibility standards help designers and developers of web content identify and address accessibility issues.
Some of the accessible related issues by users:
• Hearing disabilities
o Provide synchronized captions for any audio that conveys content
• Photo epilepsy
o Remove strobing content that flashes between 2 and 55 times per second
• Motor disabilities
o Ensure the Flash content is keyboard accessible
o Do not require fine motor skills
• Cognitive disabilities
o Give users control over time sensitive content
o Provide easy to use controls and navigation schemes
o Be consistent
o Use the clearest, simplest language appropriate to the content
• Low vision
o Provide plenty of contrast
o Allow the Flash content to scale to a larger size
• Blindness
o Ensure screen reader accessibility or provide an accessible alternative
o Ensure keyboard accessibility
o Do not interfere with screen reader audio or keyboard commands
o Provide textual equivalents for all non-text elements that convey content or provide a function.
Accessibility class
In Flash Accessibility class manages communication with screen readers.
To determine whether the player is running in an environment that supports accessibility aids, use the System.capabilities.hasAccessibility() method .
if (Accessibility.isActive()) {
trace ("An accessibility aid is currently active");
} else {
trace ("There is currently no active accessibility aid");
}
The above code checks whether accessibility aids are active or not.
Note:
isActive is static method of class Accessibility.
The main thing in making flash content is to set tab index for the MovieClips, then to set _ accProps
If we want some movieclips not to be listed in the automatic tab order then we can set
My_mc. _mc.tabEnabled = false;
And if we want to specify the tab order at runtime we can use
My _mc.tabIndex = 1;
If we want to change tab order at runtime for movieclips once we assigned is to simply reassign new index.
My _mc.tabIndex = 2;
Or we want to remove the movieclip that we once assigned the tab index is to set tab index as undefined
My _mc.tabIndex = undefined;
_accProps:
Lets you control screen reader accessibilityoptions for SWF files, movie clips, buttons, dynamic text fields, and input textfields at runtime.
To set _accProbs for a MovieClip
if (my_mc._accProps == undefined ) {
my_mc._accProps = new Object();
}
my_mc._accProps.name = "I am accessible now!";
Accessibility.updateProperties();
If we add or update an accessible property then we should call the static method updateProperties();
Accessibility.updateProperties() causes all changes to _accProps (accessibility properties) objects to take effect.
And in runtime if we add or change _accProbs then we need to call Accessibility.updateProperties();
But the call should be minimum, that is we should not call Accessibility.updateProperties() for each and every change.
Some properties of _accProps:
instanceName._accProps.silent = true; to hide instance from screen reader.
instanceName._accProps.forceSimple = true; to hide instance children from screen reader.
instanceName._accProps.name = "mc_name";
instanceName._accProps.description = "mc_description";
Name should be descriptive that id instance is next button, then name should be as "Next set of images"
Description should mention the functionality of the button. These should provide information for the disabled users.
Note:
- If we are using hit buttons then we should place movieclip of alpha zero at the over state. to read that instance by screen reader.
- To hide dynamic content from screen reader set _visible to false or _accProps.silent = true;
- Set tabIndex = undefined; to remove tabIndex once assigned.
Post a Comment