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?