Via a talk by Cameron Adams, I came across a new semi-serious buzzword that actually deserves to spread: Hijax.
Coined by Jeremy Keith, Hijax uses a technique called progressive enhancement thus:
- First, build an old-fashioned website that uses hyperlinks and forms to pass information to the server. The server returns whole new pages with each request.
- Now, use JavaScript to intercept those links and form submissions and pass the information via XMLHttpRequest instead. You can then select which parts of the page need to be updated instead of updating the whole page.
And voila! You have jazzy asynchrounous JavaScript interfaces that degrade gracefully in a non-JavaScript context, without giving yourself the inevitable brain haemmorage that accompanies adding a backwards-compatibility layer to a dependancy-heavy web application.
This sounds like the obvious and sensible approach, but how many web developers actually do this, instead of working backwards from their toolkit of shiny JavaScript widgets to lowest common denominator accessibility (or, more likely, not making any effort at all)?
