Screw Screen Readers

I was called into a discussion on Twitter, and it really can’t be addressed in 140 characters, so here is my long’ish answer. It’s about JavaScript…

The Conversation

First, let me give highlights of the twitter conversation, so people who haven’t seen it can see what I’m addressing. It started by Michael Koziarski (@nzkoz) saying:

Attention web nerds, no one has Javascript disabled. No, not even them.

Don Christie (@normnz) suggested that before making those claims, @nzkoz should check US accessibility regulations.

@nzkoz replied to that:

you’ll note that I, like you, reside in another country ;). Also screw screen readers if they can’t handle 15 year old tech

@normnz rightly pointed out that their software has to work in the US, even though the company is not based in the US.

Not Even Them

I wonder what @nzkoz meant by "not even them". It is easy to assume that by "them", he means "people with disabilities". Surely he isn’t one of "those" people who still think in terms of "us and them". You know… "I have nothing against ‘them’, but I wouldn’t want ‘them’ living next door". Or… "I have nothing against ‘them’, but I can’t be bothered making my website inclusive". I chose to believe this is a case of poor wording choice on his part.

Screw Screen Readers

Now that can’t be left to interpretation. It’s quite a clear statement. The thing is, if you don’t cater to screenreader applications, it’s not the screenreader application you’re screwing, it’s the USER.

Saying "screw screen readers" is a bit like saying "screw IE6". We all rant and rave against Internet Explorer, and many of us have abandonned support for IE6 altogether. Fair enough. But it’s not Microsoft we’re punishing by not supporting IE6 – it’s those poor saps that are still using it. And there are still a LOT of people using IE6 (5 months old stats). Maybe they aren’t your primary market, but how can you be sure?

Remember this: Making websites more accessible and more inclusive is not about the software, it’s about the USER. You want your user to be able to access your content.

Myth: Screen Readers Do Not Support JavaScript

In any case, most screen reading applications support JavaScript. That is, screen readers work on top of browsers, and the support for JavaScript comes from the browser, not the screen reader. Roger Johansson explains it well:

[There is a] fairly widespread belief that screen readers do not support JavaScript. The reasoning is that as long as you use unobtrusive JavaScript you don’t have to think about the accessibility of the markup and behaviour created by your scripts.

If screen readers really did not support JavaScript, or screen reader users in general had JavaScript disabled, this could be a reasonable approach. However, screen readers run on top of web browsers that support JavaScript and, as I mention in Unobtrusive JavaScript is not necessarily accessible JavaScript, most screen reader users do have JavaScript enabled.

And since accessibility is not just about screen readers, you also have to consider keyboard accessibility in your scripting.

Unobtrusive JavaScript is great, but it does not guarantee accessibility.

In fact, JavaScript can cause problems to people using screen readers because it is “supported” – a typical example is using AJAX to refresh content on a page. Sighted users see what’s happening, but unless the AJAX is done properly, a blind user will have no way of knowing there is fresh content on the page.

No One Has JavaScript Disabled?

It may be 15 year old technology, but there *are* people who have javascript turned off, disabled, or plain old not working. I can think of two groups of users that can’t handle javascript:

  1. People who use phones that are not JavaScript enabled to access the web – Not everyone can afford to replace their phone every year to get the latest and greatest. There are still a lot of phones out there that don’t play nice with JavaScript. Considering the push to make sites more mobile friendly, one would think that developers wouldn’t be so quick to want to rely on technology.
  2. People behind corporate firewalls – There are some companies that simply turn off JavaScript at the firewall, for security reasons. There may not be many companies that have that practice, but they may be a significant part of your market.

Another Country?

In this day and age, software and website developers cannot develop just for their own little corner of the world. We live in a global market. Your servers might be based in New Zealand, half your developers might be working out of India, some in Europe, some in the US. Your clients will be based all over the world. You must abide by local regulations. Yes, it means that even if you don’t live in the US, it’s a good idea to meet US accessibility regulations.

But then, there are accessibility requirements in many countries in the world, not just the US. Canada and the United Kingdom are two significant English speaking countries. Oh, yeah, Australia as well (remember the Sydney Olympics website debacle?). Let’s not forget that even little old New Zealand has this thing called the Human Rights Act 1993 – so, ok, the Human Rights Act doesn’t specifically say "make your websites accessible", but it does mention the idea that we shouldn’t discriminate against people. Knowingly implementing technologies that create barriers to a group of people is discrimination. And if your application is destined for use by the NZ government, then you have to contend with the e-government standards.

But It’s Not (just) About The Law

In the end though, the legal argument is not one I like to use. It’s there, and we have to consider it, but we should do the right thing because it’s the right thing to do – not because we’re forced to do it. And if that’s not good reason enough, then we should consider the financial aspect of it.

Progressive Enhancement vs Graceful Degradation

The concept of progressive enhancement is not new. Make your site work without all the bells and whistles, then add the eye candy. If someone comes to the site without a particular technology, they can still get your content. This is not limited to JavaScript. Why is it not sinking in developers’ brains? It is not rocket science. And it’s not just about people with disabilities either. Old browsers, mobile devices, people stuck on dial-up, you name it, everyone benefits from this.

Wrapping It Up

The question of JavaScript is not a simple one. JavaScript is not inherently evil from a web accessibility point of view. "Accessibility" isn’t just for people who are blind, but also those with other disabilities. It’s also good for a large segments of the population that is "technology impaired" but doesn’t have a disability.

Implementing JavaScript should be done carefully, thinking of the impact it may have not just on screen reader users, but people who use only the keyboard to interact with a site, people on some mobile devices, people stuck with older browsers, etc. Don’t just think that if the site works without JavaScript it is accessible. Don’t just think that unobtrusive JavaScript makes the site accessible.

There are legal reasons to build accessible / inclusive websites throughout the world, as well as financial reasons.

How about you? Are you as disappointed as I am to still encounter those attitudes? Those developers that point blank say "screw you"? How can we help them change their thinking?