Web 2.0 and accessibility

Web 2.0 is the hottest buzzword since Ajax, and I’m glad to see that I’m not the only one worried about what thoughtless implementation of everything that fits in “Web 2.0” could mean for accessibility and device independence on the web. From Bruce Lawson’s On “Web 2.0”:

But in the rush to “Ajaxify” everything (whether it actually serves a useful purpose other than saying “ooh look at me I’m web 2.0 too!”), the majority of developers are not properly thinking through the accessibility ramifications.

There is some truth to Bruce’s observations, and it would be a sad step backwards if the perceived coolness of “Web 2.0” brings back the old days of non-graceful degradation. Using scripting to enhance usability or to add “cool” features is fine, as long as it’s done in a responsible way.

Update (2008): There has been some progress since this article was published. WAI-ARIA is intended to help developers make dynamic content and advanced custom user interface controls accessible. Also see WAI-ARIA Overview for more information.

Posted on November 29, 2005 in Quicklinks

Comments

  1. I’m just confused now. I thought the whole point of AJAX over simple javascript was that it did degrade gracefully, falling back to server side code as required (I’m thinking about this particle tree article as I write). Oh dear.

  2. It isn’t. AJAX is simply a realization what can be achieved now that Javascript actually work and sometimes a race to overdo everyone else.

    Or as a mathematician in me would say: “There’s a non-empty intersection between AJAX and degradable javascript, but neither set is a subset of the other.” ;)

  3. That’s the theory, but lots of designers just go for shininess factor, rather than thinking about whether what they are doing actually improves the system. AJAX done well is great for rapidly updating data driven sites, and highly interactive things like Google Maps. AJAX done badly is great for making sites that only work in specific versions of browsers, making sites that only work with mouse control, and sites that are all style and no substance. The problem is finding which sites will benefit from these techniques, while still keeping them degradable…

  4. I reckon any focus on implementation details is only ever going to be of interest to implementors, i.e. us coders and developers.

    And there’s nothing revolutionary in the implementation of any Web 2.0 stuff.

    http://www.quirksmode.org/blog/archives/2005/03/ajaxpromiseor.html

    Still, nice to see people interested in doing stuff on the internet again.

  5. I have been thinking about this recently and have had a little play with AJAX just to understand the basics but the way I see it is if you are building with such things you need to build 2 systems to support it. One for standard page requests + server side scripting and one for the AJAX interface if javascript is allowed.

    It is almost like going back to building for different resolutions in a lots of ways.

    I can definitely see how the Web 2.0 thing could get out of hand really quickly. Especially if all the DHTML folks clamber out their caves and go “ooooo scripty goodness… lets abuse it…”

    Anyway, correct me if I am wrong… I have only just started looking at it out of curiosity. After all, we all have a resonsibility to understand what is going on around us so we can make educated decisions.

  6. P.S. I am not slating all DHTML folk out there so please don’t flame me ;-)

  7. Whoops, sorry, forgot about the Markdown:

    Peter-Paul Koch’s AJAX hype article

  8. And double-sorry: I just went completely off-topic, didn’t I? Maybe I can save myself by saying that Peter-Paul Koch’s article outlines a pretty sensible plan for building accessible AJAX applications, of which anyone mucking around with XMLHTTPRequest should take note.

  9. November 29, 2005 by Richard

    I agree with Roger completely - there’s got to be careful use of these ideas.

    Rule of thumb: if your site is useless with JavaScript/Ajax functionality turned off/unavailable, you are using it wrongly.

    Build the site and the forms etc. to work without any Ajax-cleverness. THEN add the Ajax, so that it takes the front seat.

    No worries.

  10. I say, if you’re going to “Ajaxify” a site to the point that it isn’t accessible, you might as well use Flash. It’s got better development tools.

    AJAX should only be used to unobtrusively enhance a page’s functionality. Not break a page’s inherent functionality—such as the back button.

  11. There’s one podcast from WE05 (unfortunately I don’t remember which one), where the presenter (was it Derek Featherstone?) talks about “hijacking” a commonly functional app with the JS/AJAX events, so it’s like icing on the completely working solution. Only this can preserve the functionality without modern tools and scripting.

  12. Basically it comes down to this. If your ‘ajaxified’ components do not have a fallback, then it’s not accessible.

  13. Ha, found it ;) It was Stuart Langridge - “DOM Scripting and Ajax” at d.Construct:

    d.C web with slides and MP3
    Podcast
    Notes

  14. I recently came accross a JS lib that makes tooltips. Its a great idea, with one drawback: as soon as JavaScript is disabled, the tooltops display permenantly…

  15. Accessibility doesn’t mean that the Ajax application has a good degradation implementation in case your JavaScript isn’t turned on. You can run into an Ajaxed application that has excellent degradation, and still you can do something in one part of the application and it will change something else somewhere else, and you won’t have a clue about what and where - That is an example of bad accessibility. On the other hand I saw some fine examples of accessibility enhancement made with Ajax, like auto-complete, and a checking on the fly data entered into a form, and more. Users are still used to see the page refresh after they interacted with it (non Ajax applications). It does remind me of the bad old days of Flash (and some of the not so old days of Flash as well).

  16. I “always” develop my sites so that they work perfectly fine without javascript too. It’s just a shame, and sometimes you have to reload the whole page just to enable an extra box in the current page. That way, accessibility is left completely uncompromised.

  17. I have to agree with Raanan’s point. Ajax is in-danger of becoming the new Flash intro. I imagine it’s not actually the developers who are causing the problem here, but clients and bosses who are looking at ticking the Ajax box when developing their website. In the same way they feel the need to tick the RSS box, the Podcast box and the Blog box.

  18. @Rowan Lewis, Did you happen to see my toolTips called Sweet Titles

  19. I’d like to add an example. Here at work, lots of Ajax sites don’t work. The reason is paranoia on the part of the company, which makes sure something gets blocked, probably JS containing XMLHTTPRequest. As a result, the only Ajax sites that work are the ones I can reach over https (scrambled JS can’t be scanned :-). I don’t think my company is the only one blocking things like this. So if you want your Ajax site accessible in companies like mine, make sure https is working.

  20. <sarcasm> It is cooler to say your site is web 2.0 than accessible. </sarcasm>

  21. I think it’s a valid argument that “Web 2.0” is in several ways counterproductive. We face other problems, more important problems, for example when it comes to Accessibility, but also Usability. And there are only a few approaches to User Experience Design yet. All these issues are far more important and far more relevant for business success than a buzzword which just covers some mixed technologies.

    (This doesn’t mean that “Web 2.0” stuff cannot improve the user experience, as Google clearly demonstrates.)

  22. I agree with this. I have looked into AJAX for several apps, but stepped back and looked at the big picture - and it wasnt ready to meet my needs without over complicating things. I think too many people just get excited and jump on a boat and go with it, not really thinking it through.

    I sure hope that we dont slide into the bad habits of the past.

  23. December 1, 2005 by Andrea Martines

    The javascript dependence isn’t anyway the only accessibility issue for Ajax-based solutions. Think about a screen reader (e.g. Jaws) user with javascript enabled. He doesn’t have a complete, synchronic view of what’s happening in the page. So, if your Ajax engine refreshes some content somewhere in the page, how can this user be awared of? Our community has to answer in some way to this, testing solutions and providing best practices about some “focus management” under those circumstances. We cannot expect the Ajax enthusiasts will do this job unless it’s immediately profitable for them, that’s unfortunately not the case.

  24. On the topic of JS accessibility I found one presentation from AbilityNet: http://www.abilitynet.org.uk/content/oneoffs/pre-tech.htm

Comments are disabled for this post (read why), but if you have spotted an error or have additional info that you think should be in this post, feel free to contact me.