RSS 2.0 Feed

A Web Without JavaScript

I like JavaScript – I think it’s a great little bit of kit, and very useful for providing some more elegant ‘finish’ to web applications and websites than HTML affords by itself.  Of course, there are also many unhelpful and unwanted uses for it, and that’s why people like me run software like the NoScript extension for Firefox.

Since beginning browsing with NoScript, a good while ago, I have noticed just how broken many sites are without JavaScript enabled.  Big websites, such as eBay, lose vast amounts of functionality (e.g. the ability to perform an advanced search) when JS is not enabled within the browser.  Quite why these websites absolutely fail to provide simple non-JS fallbacks, is quite beyond me.

One can understand a degree of lack of fallbacks, such as this website’s top menu.  With JS enabled, tooltips appear to ‘aid’ (or not) the users navigation, by the means of visual feedback.  If, however, JS is not enabled, these tooltips aren’t displayed.  Whilst no direct fallback is provided, the site is designed so that no main functionality is lost or inaccessible due to the lack of scripting being enabled in the user’s browser – and this is how it should be.

Whilst enabling scripting in the browser may be a small price to pay to get a working website, it is a price that shouldn’t need to be paid by your users.  To further compound the problem, lack of suitable fallbacks often renders functionality unavailable to the sight-impaired, who may use a screen reader.  These readers often run with scripting disabled, so as to provide a more stable and consistent environment for impaired users – but with large features just failing to work (without even displaying so much as an error) when scripting is disabled, accessibility inevitably suffers.

The web should still be accessible with JS and with CSS turned off.  The only requirement for browsing and accessing features, on any website, should be a browser that can interpret HTML successfully.  I’m continually shocked how many designers/developers are ignorant of the browsing minorities, when good practice and common sense dictates that a small amount of effort should be undertaken to provide a graceful and gracious solution.

Don’t even get me started on the consequences of Flash for usability and accessibility…

4 Responses to “A Web Without JavaScript”

  1. As far as I’m aware, screen reader users actually don’t tend to run with JavaScript and CSS off. They are simply an integral part of the web now.

    Are you aware of the accessible JavaScript techniques using WAI-ARIA? You can have accessible AJAX live regions, or accessible Javascript widgets, etc. See http://developer.mozilla.org/en/docs/ARIA:_Accessible_Rich_Internet_Applications/Relationship_to_HTML_FAQ

  2. James says:

    Well, most screen readers that I’ve come across don’t enable them, especially as they’re mostly used for the visually-impaired, so fancy effects and functionality (and even simple CSS-formatting) are not required.

    As for JS accessibliity techniques, I am aware, but the issue is more with lack of fallbacks than the accessibility of JavaScript alone. And, without universal support for something like ARIA, there’s not a great benefit to be had in conforming, unless you’re largely certain of your target audience’s software. Creating working fallbacks does, however, provide you with a widely-accessible website.

  3. Alon says:

    Boy, my HCI prof would absolutely love you. Not that I disagree. :)

  4. Tom says:

    WAI-ARIA i think will be really good and i would love to start building the functionality in for it now but then it breaks all the validators out there.

    Personally i hate all “Web 2.0″ stuff and all JS but that’s just because it causes so many problems and extra work!

    BTW mate if you are looking for a permanent position in the near (or late) future and are willing to relocate to portsmouth (or near!) then let me know, got some jobs going at the moment.

    Job Ad:
    http://www.abacusemedia.com/section.asp?catid=93&docid=586

Leave a Reply