3 Myths of Ajax and Accessibility
I've seen quite a few ideas and bits of policy writing about accessiblity that could probably do with some updating. These are the 3 most common.
Myth 1. Accessibility is a single issue
One of the problems with accessibility as a single concept is that it lumps together issues that are sometimes fairly unrelated. Blind people have different accessibility requirements from partially sighted people, or those with motor impairment. People with slow modems need different things from those on corporate networks with strict security. We need to think about separate requirements, ... separately.
Myth 2. All accessibility issues must be fixed
Our attitudes to these disabilities should also vary between accessibility issues. We can't ignore blind people from a moral or legal standpoint. Do we ignore someone that really likes his or her copy of Netscape 3 and doesn't want to upgrade? Now it's a business decision, not a moral or legal one. There are many issues like text-mode browsers and small screens that accessibility books handle. We don't always need to address them all.
Myth 3. Javascript won't work with screen readers
Screen readers mostly work by plugging into IE or Firefox and reading what's on the screen. It doesn't matter how it got there. More advanced ones actually let you fire off onmouseover and onclick events using the keyboard and will inform the listener that there is an action worth considering. That's more feedback than sighted users get sometimes. Screen readers do have a problem with content that's generated at a point on the screen that has already been read. This is where Ajax may have the biggest issue with accessibilty, and something that we need to be aware of.
It's great to have got DWR 1.1 out of the door (check the detailed release notes and download it). One of my focuses for DWR 2.0 is making it easy to create websites that interact with screen readers to solve the problem of generated content.
Not really myths...
Re: 3 Myths of Ajax and Accessibility
Myth 1. Accessibility is a single issue
Many accessibility advocates now emphasize focusing on standards-based methods, which include device-independent features that work for a wide range of adaptive and assistive devices. Stick to the standards and design to take best advantage of those d-i features and your site will work with the widest range of devices. Sorting out audiences helps to understand how this approach helps, but the underlying principles are the same. So I am not sure what he means by "We need to think about separate requirements, ... separately."
Of course, AJAX is standards-based, in the sense that JavaScript, XHTML, CSS, and XML all have well defined standards specs. So learn them and stick to them and you have gone a long way toward making your site intelligible to a wide range of devices.
The "design to take advantage of those d-i features" clause above is the critical area. You can make pages that are well-formed, standards compliant XHTML/CSS, yet are full of obstacles for the disabled. An example would be a onclick event - if the only way you can evoke the event is by clicking a mouse, then that event is unavailable to people who cannot use a mouse. So you either have to provide an alternative way to evoke the event, such as having the element accept focus so the reader can just press return to evoke it, or avoid events altogether. The Yahoo Developer Network Design Pattern Library (http://developer.yahoo.net/ypatterns/index.php) includes such accessibility considerations. That level of thinking is what call intentional technology to fulfill design goals.
Complying to standards is also critical to having services work on new devices, like smartphones, cell phones, and mind melds.
Myth 2. All accessibility issues must be fixed
I do think we need to distinguish between which design methods support accessibility and which are leftovers from the days of trying to support pre-standards browsers. Now, the best approach is to design to the standards. The leftovers problem is a bit moot anyway because old browsers are being weeded out by OS and software updates done for security reasons.
One problem here is that a lot of the old accessibility literature that is still on the Web is about minimizing technology to deal with the lack of standards that was the situation in the past. Technologies are a lot more standardized now, so that old literature should be set aside and developers directed to sites that reflect current thinking.
Myth 3. Javascript won't work with screen readers
This one is a bit jumbled. Saying "it doesn't matter how it got there" is misleading. It does matter how the content gets to the displaying software. Adaptive/assistive software definitely likes to have good input - well-formed, standards compliant content structured in logical elements (headings, paragraphs, list items, etc.). Most a/a products make use of attributes such as summary, label, alt, scope, id, and headers to make the content more navigable and intelligible. JAWS, the most common voice browser for the blind, works with IE, as well as with many other Windows programs. IBM Home Page Reader works through IE. Both read off the DOM, which only works as well if the content is well structured to fit into the DOM's tree structure of elements.
I would need to test a/a software that says it can interpret onclick events. What code does is required for that capability to work? The core problem here that onclick requires a mouse, which requires visual abilities. How a blind person, linearly moving through the content, would encounter and recognize that code is the question.
The point about AJAX dynamically updating a page after it has been loaded is a major one for the handicapped. At present, this aspect of AJAX has the potential of cutting the handicapped completely out of using new Web applications. Current adaptive/assistive software generally would not be aware of such changes. Methods are only now being suggested on how pages can be designed to indicate the changes have occured and give a/a software a way to locate and read them. New a/a software may address this puzzle too.
Put on your thinking hats, developers. If you want to do Web 2.0 apps that comply with Section 508 or W3C-WAI, you have to address this problem.