Ajax: I’m not a fan of the term, but I guess in the end, it doesn’t matter so long as people know what I’m talking about.

A presentation on Macromedia Flex I saw tonight reminded me of another I was at a while back about ‘ajax’ where the issue of the accessibility of ajax web applications was raised. As I understand it, any public website run by an Australian government department is required to conform to all priority 1 w3c accessibility guidelines. Specifically, I’m interested here in 6.3, which basically says that all ‘pages’ must be ‘usable’ without javascript, java etc or have a ‘NOSCRIPT’ alternative.

Before I dive in, I should say I agree that depending unnecessarily on ‘programatic objects’ in html pages is a really bad idea. I’ve spent a lot of time in lynx in my day, and I can appreciate how frustrating it must be hitting functionality which doesn’t work without javascript if you’re stuck in a screen reader environment. The trouble with this sort of prescriptive approach, however, is that while following these guidelines, nothing which lives in a web browser can ever be anything other than a series of ‘pages’.

The conclusion that was reached at the presentation was that ajax can be used in ways which degrade smoothly. For example, if we can’t reorder the list with ajax, we’ll just roundtrip to the server for each move. Slow and annoying, but it gets the job done. The same goes for validating forms with ajax, building combo boxes and most everything else people are doing with ajax today.

My concern here, is what happens when we’re within reach of building real apps in a web environment. I’m thinking something like photoshop. How on earth do you build an accessible version of photoshop in any real way. Sure, you can have all the menus be text accessible, but sooner or later, you’re going to need to build some functionality which reaches beyond the realm of what can be degraded to text pages.

I can’t say I really know the answer here, but I doubt it’s something which is going to be solved with a prescribed set of rules. I guess we technology types like to break everything to a simple set of rules, but sometimes life just isn’t like that. I’ve had discussions (arguments) with law students before about the whole ‘precedent’ thing, and why they don’t just roll it all into actual acts, which I guess is almost the same thing. Hmmmm, interesting, but I think anything I write from here on out will just be rambling.