Posted by Sandro on 06 23rd, 2010

Flash & The Quest for Accessibility – Part #2

Overview Part #2

In this two-part blog post i will cover the technical, as well as overall aspects of implementing accessibility into the EventManager Project. And not just any form of accessibility – the Game has earned the AA+ Certification from Access For All (their highest certification grade conform to WCAG 2.0).

Go here for the first blog post on accessibility. This second part will cover all the technically nitty-gritty, blood and tears that went into implementing accessibility for this project. :)



Some Resources First

Throughout my research and while developing the accessiblity implementation for EventManager i’ve collected useful resources on the web which i’m glad i can share with you via my delicious. There are notes for all the links available that will tell you what type of information you will find behind the click.


Accessibility Introduction

If you haven’t worked with accessiblity in Flash or Flex yet, here’s a short introduction on how it all works.

Flash has it’s own package responsible for all the accessibility features. This package is situated under flash.accessibility.*

Within this package (as of this writing) you will find three classes:

The Accessibility class is a static class that allows you to do three important things. From that class you can check if the user is actually using a screenreader and if it is available or not (Accessibility.active). It also allows you to make sure that all accessibility properties are updated if you change any of their values (Accessibility.updateProperties()). The third and in my opinion most important bit of this class is the capability to manually submit an Event to the MSAA API (Accessibility.sendEvent()).

The AccessibilityProperties class is the place where you define the properties, such as name, description and shortcut that are being presented to accessibility aids. You can also set some properties that control the behaviour of your object towards screenreaders. AcessibilityProperties can be attached to any type of DisplayObject.

The AccessibilityImplementation class, is a bit of a special one. It is the base class in Flash that allows for the implementation of accessibility. This class you will never really use directly, since Adobe advices us not to instantiate it but instead extends AccImpl (which again extends from AccessibilityImplementation) in order to create our own implementation for any custom component we might create. The AccImpl class exists in two versions, one for flash and one for flex.


More Than a Million Words

Instead of boring you any further with details and long paragraphs of information, i figured it’s easier to understand how this all works by actually showing you. Enjoy the videos, if the quality is a bit low and you would like them to be sharper, make sure to head over to the vimeo site itself to download the original videos directly from there.


A Basic Example

WATCH IN 800 x 600 | DOWNLOAD EXAMPLE SOURCE CODE


A Basic AccessibilityImplementation Example

WATCH IN 800 x 600 | DOWNLOAD EXAMPLE SOURCE CODE


The Final EventManager Accessibility Approach

WATCH IN 800 x 600 | DOWNLOAD EXAMPLE SOURCE CODE


Like this Post? Show some Love!
If you liked this post or thought it was helpful to you, why not give something back via Flattr? Flattr is a social micropayment platform. Help support the people you like - and enable them to continue to do what they do!
Related Posts
Post a Comment


No Comments »

No comments yet.

RSS feed for comments on this post | TrackBack URL

Leave a comment

Flash Flex Actionscript Tutorials Tutorial AS2 AS3 AS1 Feeds MXML Blog Zinc AIR Launcher Twitter Tweetr Yet Another Coverflow Liip Adobe Macromedia PHP MySQL PostgreSQL XML AMF MXNA Phidgets Schweiz Switzerland Suisse Svizzera Fribourg Freiburg