Welcome to EMC Consulting Blogs Sign in | Join | Help

The third screen

Marcus Alexander, Mobile and Web expert at EMC Consulting, writes from cutting edge of mobile and web design and development

Who are the non-Javascript users anyway?

As a person who spends an unhealthy amount of time building Web UIs, this is one of those questions that keeps me awake at night.  For years, 'it must work without Javascript' has become a mantra of web design, to the extent that it is very rarely even questioned. But really, why would you do that, and who would it benefit?

It all started, years ago, with a checkpoint, in a guideline - guideline 6 of the WCAG (Web Content Accessibility Guidelines) 1.0, summarised as:

Guideline 6.   Ensure that pages featuring new technologies transform gracefully.

Very nice, but that was years ago - before, even, the Euro currency existed.  I know that because I built the website for the currency changeover, and it was the first time I was obliged to take Accessibility seriously.  At the time, it was a little-known field, with no real 'best practice', and Javascript was a flaky, shaky technology. 

Times, however, have moved on.  Javascript is very much at the core of new browsers, it works, and people know how to write it properly.  It's no longer a plug-in, an add-on or an aside.  It's there.  And yet, we still hear the mantra.

"It must work without Javascript".

So the questions are - should we do this at all? If so, why?  Who are we benefiting?

So, should we?

The simple answer here - it depends what we're building.  The WCAG are guidelines afor web content.  Content is the key here.  These days, we are not just putting content up there, but applications - and an application has a very different purpose.  Some time ago I wrote a paper about how to approach accessibility in terms of a web application - where scripting will inevitably be required.  If one considers the browser as an OS*, then you wouldn't expect your application to work with half the OS missing, would you? 

So, once you're building an application, accessibility is immediately different from that for web content.  You think about state changes, UI roles, behaviours, and not just words on screen.  The WAI-ARIA project is aimed at this area, and it's very different from the WCAG.

Still, why would we care?

"It must work without Javascript". That mantra again.  But why?  Because users with disabilities turn scripting off? Well, really, they don't.  People with disabilities use web browsers, and more often than not they use out of the box installs.  Even screenreader users with JAWS or HPR are likely to have Javascript on.  These days, JAWS does a good job of functioning correctly with it.  

In fact, Javascript can often be used to improve accessibility - Christian Heilmann's Scripting Enabled is demonstrating precisely this.  So am I saying we shouldn't care any more?  No, not at all.

So who are these people anyway?

The non-Javascript users are the mythical 6% I was quoted the other day.  6% without Javascript?  What are they doing?  Well - they may be using a mainstream browser with Javascript turned off.  Maybe.  Many more will be using other devices - mobile browsers / small devices / phones / etc, etc. Non-standard browser users.

So it's not a question of how IE survives with JavaScript turned off, but how to design for other situations.  And that means not just replicating behaviour, but designing something appropriate - Simplifying, trimming down the surplus, working with small surface areas and mouse-free interaction, multi-touch, dealing with distractions and shaky network connections - a whole different set of requirements. 

Sounds like a lot of work...

The big advantage of web UI - based on layering HTML (content), with CSS (styles), and Javascript (behaviour) means that you can have one set of code which delivers multiple user experiences, depending entirely on what the user requires.  CSS enables multiple styling of the same content, and Javascript - when built with Progressive Enhancement techniques - can take this to the next level.

So we can build multiple UIs, governed by user need, using only a single codebase and platform infrastructure.

Clever?  I think so.  That's what makes Interface Development so fun.

 

* I'm not going to mention Chrome.

Published Thursday, September 18, 2008 12:59 PM by marcus.alexander

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

No Comments

Leave a Comment

(required) 
(optional)
(required) 
Submit

About marcus.alexander

Marcus Alexander is Head of Mobile at EMC Consulting. With a long history of web development and design, he has gained a passionate eye for fine experience and a pedantic obsession with quality. He is now fascinated by the pace of cultural change engendered by technology (and vice-versa). When not playing with small and large screens, Marcus may be found running up mountains or dabbling with paint and canvas. marcus.alexander@emc.com @mdjalexander emc-mobile.posterous.com
Powered by Community Server (Personal Edition), by Telligent Systems