Why it's important to build an inclusive web

Share this article

I've read many articles recently about why you should be building your web apps, sites, or whatever they may be, with JavaScript, and just JavaScript alone. Some people even go as far as to say that progressive enhancement is dead (see Tom Dale's article).

So what happens if you do build a site that way? Once the JavaScript is downloaded, everything comes to life. The layout and content loads in beautifully; the site feels amazingly responsive to the user; and the file size is tiny, oh so tiny. Look at how much bandwidth we saved by building everything in JavaScript! So what's the problem?

The problem is right at the start, right at the part that reads "once the JavaScript is downloaded". Those that claim progressive enhancement is on its way out seem to be forgetting that the foundation of the web is HTML. Without it, there is nothing for JavaScript to manipulate.

Busting myths

Unfortunately, there seems to be a rather large misunderstanding of what progressive enhancement actually is. At An Event Apart Chicago, Clearleft's Jeremy Keith was quoted on Twitter as saying: "Progressive enhancement is avoiding a single point of failure".

In addition to this resonant statement, Jeremy went on to talk about the myth that progressive enhancement means designing for the lowest common denominator - when in fact, it means starting from there.

You are not your user

How many times, as a working designer or developer, have you had a problem that only arises as the client is using an older browser? I'm going to stick my neck out here and say, "Countless times".

How many times has a family member or friend asked for you to help sort out their computer, only to find out they aren't using your favourite browser, so you install it to try to convert them? Possibly a few.

And how many times have you watched a partially sighted user navigate a website using a screen reader and a keyboard, only to become frustrated at the simplest of tasks?

For half an hour, I saw such a partially sighted user struggle to do what should be the simplest of things on an ecommerce site: order a product. Poorly implemented JavaScript caused them visible frustration. The dejection in their body language made me want to jump up and help.

But I'm not going to be there alongside every user when something happens that they don't expect, or when they can't find the information they're looking for. Neither are you.

Instead, what we can do is build the web to be as inclusive as possible: to not put up barriers between users and the information they're trying to get, or the task they are trying to complete.

Accessibility for all

Sir Tim Berners-Lee, the inventor of the World Wide Web, once said: "Anyone who slaps a 'this page is best viewed with Browser X' label on a web page appears to be yearning for the bad old days, before the web, when you had very little chance of reading a document written on another computer, another word processor, or another network."

Today, we can see messages on sites along the lines of 'JavaScript must be enabled for this site to work'. This, to me, is far more worrying. At least when the page was best viewed in Browser X, anyone could read the content, even if it wasn't presented in the optimum format.

Courtesy to others

I find it difficult to believe that people cannot consider the needs of others when building things for the web. It seems an extremely blinkered and closed-minded view - and the antithesis of the web itself.

As Ethan Marcotte put it when responding to the article I referenced at the beginning of this column: "Progressive enhancement's not for those manually disabling JS. It's designing for resilience and reach."

The internet opens up an entire world of information to everyone with a connection to it, lets users perform complicated tasks at the click of a button, and, perhaps most importantly, enables people to connect with each other. Who are we to pick and choose who can and cannot use what we build, if the World Wide Web is indeed, as the name suggests, intended for the world?

Words: Westley Knight

Westley Knight is senior developer at bda, a speaker, occasional blogger and family man. This article originally appeared in net magazine issue 249.