Bruce Lawson’s personal site

Book review: ‘Understanding Ajax’ by Joshua Eichorn

Last week, I was down in London to watch a user test of a very basic prototype of a large online application form. In order to be a accessible, I’d designed it with a lot of small pages, letting the server decide on branching, showing optional fields depending on earlier answers. My brief to the consultancy was to make it better, but without Ajax (because of its dependence on JavaScript and accessibility problems).

So, the users hated my prototype Interaction, and the consultants ignored my brief and wireframed an alternative, all based on Ajax. After my initial irritation, I realised they were right to have done so: the Ajax version was much better for the vast majority of the customers. I’d bowdlerized the optimal product. In my drive to be inclusive, I’d accidentally unnovated.

To me, Ajax accessibility is the biggest problem in web development today. For the first time, designers can legitimately claim that we accessibility wonks are holding back the web experience – and I’ve heard Ajax described, highly plausibly, as “what we’d all hoped the Web would be”. (A fellow Web Standards Project love-dwarf also bangs on about Ajax accessibility in Patrick Lauke’s WebAxe interview.)

But I know bugger all about making Ajax accessible. So, what does an ex-publisher do when he wants info? Open a book, that’s what.

‘Understanding Ajax’ by Joshua Eichorn is a technical, developer-oriented tome. It’s not as hardcore as Langridge’s DHTML Utopia, but it does its tour of the Javacript libraries, as well as pimping the author’s own HTML_AJAX library. It’s not all code; there’s a useful chapter on how Ajax development can change the development methodology (largely based on the fact that you’ve another language to learn, and have to test more). There’s also a chapter on common usability problems with Ajax – surely the place to find the latest information on accessibility?

Nothing. Not a mention of accessibility. Not only are no solutions offered, but a newcomer would not even know that a problem existed, if she read only this book.

Another problem with the book is an entirely subjective one. The authorial voice in this book lacks passion, or even enthusiasm. In my opinion, just because it’s a computer book, it doesn’t need to be dull. No-one could accuse Zeldman, Molly, or Eric Meyer of lacking commitment and fire, or Jeremy Keith of lacking wit, and those qualities come out in their books. Personally, I love the Web, and I want to be inspired as well as informed.

Maybe you don’t; maybe web design is a nine to five job that you do to pay the mortgage – nothing more, and you’re told to use Ajax, and you don’t care about accessibility. If that’s you, I can recommend this book.

(Last Updated on )

6 Responses to “ Book review: ‘Understanding Ajax’ by Joshua Eichorn ”

Comment by AlastairC

Ouch, tough break on that prototype project. Did you try proposing more of a Hijax approach to the developers of the prototype?

When I used to have to encourage the use of CSS, it was very much as a “you can have the best of both worlds, accessible and pretty”. I don’t have to do that much anymore, the case has been won.

We’re are now in a similar position for JavaScript that CSS was in 4/5 years ago. Used responsibly it’s a good thing for usability for most user groups, and can fall back to a usable non-JavaScript interface.
(Caveat: given the greater power and complexity of a programming language, more can go wrong!)

It’s a shame about the AJAX book, some of the JavaScript books I’ve been reading recently have taken accessibility as a basic assumption (e.g. PPK’s & Jeremy Keith’s books). I also liked Christian Heilmann’s JavaScript chapter in the Web Accessibility book. They are very solutions oriented which is what’s needed to get things changing.

Hmm, I wonder who could do a similar thing for AJAX…?

Comment by AlastairC

I know what you mean, but people are going to use AJAX regardless. As Derek Featherstone said, you develop for having JavaScript or not, but you can’t deal with semi-JavaScript. Until the UA’s catch up (which I’m fairly confident they will) I’d suggest adding a ‘turn off JavaScript’ option within the app.

It’s a kludge for sure, but it’s probably the best one until either: We have a set of AJAX techniques / ‘libaries’ (in the broad sense) that are known to work with the main UAs; Or preferably the UAs adapt.

Comment by Matt Machell

I’m of a similar opinion to Alastair (in fact I wrote a blog post about it after @media). The simplest option is to take advantage of your progressive enhancement and add an option to turn it off at user request (or maybe automatically with cunning use of Flashaid, but I’m less convinced of that).

I suspect that as AJAX becomes more ubiquitous, AT vendors will be driven to add ways of interacting with it, in the same way as happened with Flash. But we’re in that crossover period at the moment, which is always troublesome.

Comment by James Edwards

Bloody AJAX … 98% of it is pointless bullshit, riding roughshot through user expectations, pulling up the foundations of accessible development like so many sods of turf.

I suspect that as the hype fades away and we begin to crystalise that useful 2%, only then will the accessibility problems really begin to be addressed – because only by then will we have a reasonable sense of what AJAX is actually good for 😉

btw – there are JS books out there which deal with accessibility properly – you just gotta read the right ones:

Leave a Reply

HTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> . To display code, manually escape it.