For the last six months of 2009 I was working with a team of Flex developers at the Irish Revenue Commissioners on the next version of their innovative PAYE Anytime application. A key objective of this phase of the project was achieving a level of accessibility equivalent to the WCAG ‘AA’ standard.

The application incorporates a number of general features for improved accessibility:

  • Support for “keyboard-only” users
  • An alternative high-contrast style-sheet for vision-impaired users
  • A zoom feature for vision impaired users

We also added features specifically aimed at improving the experience for screen-reader users:

  • Focussable static-text to allow screen-reader users to peruse all content using the tab key
  • Additional announcements to describe each new view as the user navigates
  • Additional verbosity to clarify the meaning of buttons and other controls
  • A skip content feature to allow large areas of content (lists, grids, etc) to be jumped

You can view the application here, but only people working in Ireland and registered for PAYE are able to log-in. Otherwise, you can experience many of the accessibility features on the log-in page or the accompanying product-tour.

There are still fundamental problems that can limit the accessibility of applications developed with Flex. We found fixes for some issues, but we often had to resort to monkey-patching to apply them to the framework.  Other issues have workarounds, but these often require an unnatural change in the browsing behaviour of screen-reader  users. This remains a problem for Flash and Flex: Improving accessibility at the expense of usability is nonsensical.

In addition to problems with the architecture and implementation of accessibility features within Flex there is a general lack of good documentation, articles or tutorials on the subject of accessibility. Many of the tutorials and presentations I’ve seen offer simplistic advice that is inadequate for the development of anything but the smallest of applications. Adobe’s own Flex applications do not appear to achieve anything close to a WCAG level of accessibility and I’ve struggled to find any third-party accessible applications online. To help correct this, I hope to share some of our learnings in future blog entries.

However, despite the cheeky title of this post, I doubt this really is the first attempt at an accessible Flex application, so where are all the others?

3 comments so far

Add Your Comment
  1. Really a nice attempt toward Accessibility in Flex. Hope in coming future we’ll have most of the Flex applications accessible for all people.

    I saw the login page and it gave me good impression of accessibility.
    But I also saw few things which I guess should be taken care as part of accessibility feature, and I think you know what those things are.

    But just to mention a important thing, Whenever I focus on any button via TAB, I am not able to invoke that button function via Enter button.

  2. Hi Paul, we’ve done some attempt over here http://www.portaldasescolas.pt/jaimeematilde/c/index.html
    Documentation was lacking though as you said.

  3. Paul,
    Accessible applications are unfortunately less common than we’d like for all technologies, and many exist behind firewalls. A couple of accessible Flex applications that I used to point people to have been taken down for one reason or another, so I’m very happy to have this excellent example. Irish Revenue and Adobe Consulting did a great job with this app.

    To VG’s comment, there is a difference between a button and a default button - buttons are activated with the space bar, but default buttons are activated with the enter key.