Improving accessibility of AJAX forms
Fortunately there are some things we can do to increase accessbility of AJAX forms. Here are my recommendations:
Inform the user at the top of the form that it requires javascript or detect javascript automatically and warn the user when it isn’t available. If the form has many fields you will spare your users a lot of frustration. Everyone hates filling out a form just to find out that they can’t submit it.
Inform the user that the page is updated dynamically. This is especially important for screen reader users and will help them decide when to trigger a re-read of the page.
Make it possible to recieve an alert when information was updated. This may not be practically possible depending on the complexity of your form but will help a screen reader user a lot. Alert boxes are read by the screen reader and are usually displayed together with a sound. The checkbox should be displayed so it is clear that it is not part of the original form.
Highlight recently updated areas for a short period of time. This will help sighted users understand what just happened. The nice folks over at 37signals have dubbed this “The Yellow Fade Technique” but you can use any colour you like. Check out Adam Michela’s code for another way of providing the fade.
WebAssist Professional’s CSS Menu Writer™ for Dreamweaver takes the pain out of creating standards-compliant horizontal or vertical navigation menus with nested fly-outs.
When we’re designing interfaces for browsing data-driven sites, it’s valuable to be able to create navigation elements that are also visualization tools. We can keep the user informed as they explore, so they can make better decisions about what they’re looking at and what they’re clicking on.
Great post. It perfectly summarizes all my problems with captcha and the fact that there's not yet a good solution. I think that using computing power to recognize spammy submissions and weed them out (based on time it takes to complete the form or the language used in the post or the attached link) would work well for our purposes but ultimately we have to reduce/eliminate the benefit of spamming in order to stem the tide at the source.