Friday, December 8th, 2006

Walking in others shoes: Turn JavaScript off for a day

Category: Fun

People often talk about being able to walk in the shoes of others. Males wish they could be a female for a day, I want to be a premier league football player for a day, etc.

For the sake of accessibility, how about taking an experiment and turning off JavaScript for a day.

When you do so you find a lot of major sites that do not work. Many are unusable (links that do not work, layouts that are broken), and some are partially usable.

The few good ones work just as before.

Try it this afternoon. You may have some surprises.

Posted by Dion Almaer at 12:44 pm
45 Comments

+++--
3.4 rating from 75 votes

45 Comments »

Comments feed TrackBack URI

OK, turn off CSS and close you browser. Go to gym ;)

Comment by 1st1 — December 8, 2006

How about the NoScript plugin for Firefox. It’s how I live life and I love it. I find that almost every site I go to works fine without JS. Of course there’s the few that don’t even load (blank screen) but I’d say the most popular symptom is blank spots on a layout (where JS controlled ads are supposed to be).

Comment by kai — December 8, 2006

A disaster, can’t do nothing….

Comment by Erick — December 8, 2006

Javascript Detection

If javascript is turned off for a day, the only Ajax (or heavily js based) site I know of that will still work is Gmail. Try it, turn off js in firefox, Gmail will take you to the plain html version.
This is something that should be taken account of fo…

Trackback by Programming in the State of 70% Drunkeness — December 8, 2006

I was staying in a hotel this week, so I tried watching TV without my TiVo attached to it. Man, that opened my eyes. Well, not exactly opened my eyes because they were already open while I was watching. But it made me appreciate the situation of walking in the shoes of the billions of people who don’t have TiVo. Th poor bastards.

It makes you really appreciate JavaScript, doesn’t it? Doesn’t it? Think of those tragic people who suffer the horror of DOA webpages, through no fault of their own except that they configured their browsers to have JavaScript turned off. The poor bastards.

Comment by Douglas Crockford — December 8, 2006

I do this all the time. I use the NoScript Firefox extension, and opt-in to Javascript.

Main sites I hit often enough (Google Reader, GMail, Reddit, del.icio.us, Homestar, YouTube, etc.) I’ve allowed. Most random stuff linked from there (usually blogs, other news sites or aggregators) are denied JS by default.

I seldom notice any difference, except much less ads. Very occasionally, I’ll need to enable it to submit a form.

Comment by casey — December 8, 2006

Why do we accomodate these bastards who turn off javascript? If anything we should be forcing them to enable javascript. Javascript is quickly becoming as essential as html. What’s next, providing alternative gifs for the jpg-impaired? arrrgh.

Comment by Death — December 8, 2006

I agree 100% with Casey and a few others upthread. Yes, I understand the concept of degradeable behavior, separation of content & structure, etc. but there comes a point where we have to realize it isn’t 1993 any more. There comes a point where an emphasis on degradeable behavior limits what can be done on the web.

I seriously question the democratc notion that every form of communication should be inherently transformable into any other arbitrary form. This is an interactive medium as much as it is a data delivery medium. When do we move beyond the fiction of selection as interactivity? This year? Next year?

Javascript is as important as HTML, and at least as important as being able to display an image on the web. I love ASCII as much as anyone else, but where do we draw the line between accomodating the past and moving into the future?

Comment by Gary R Boodhoo — December 8, 2006

my thinking is that people who turn off JS aren’t going to spend any money on my site anyway (they are nut-cases), so I ignore them.

Comment by joe — December 8, 2006

If you’re so paranoid on the web that you have to turn off everything that makes the web more usable/responsive/useful, like the anti .js’ers, then move along. Go somewhere else. You’re too paranoid to give me your credit card number to make a purchase too.

Comment by DigitaLink — December 8, 2006

That’s why they created the “Web 2.0” label. It is a line in the sand where we tell people that “your browser is not compatible with this version of the web”. In 1997 you had to pay for a browser, not they are free. Why take the seats out of your car?

Comment by Jeff — December 8, 2006

People who use screenreaders don’t often turn JavaScript off though. In fact. The most popular one (Jaws) runs with JS turned on. I know some people who use screenreaders and they’re just using IE with default settings.

Comment by Alexei — December 8, 2006

Backwards compatibility is not always possible. In some site/app concepts JS is as necesarry as Flash in Google Video or YouTUBE. But when a site/app has to be accessible for everyone, backwards compatibility is a must. (Cell phones, blind people, ..) It just depends on how accessible your website/app has to be. Of course sometimes it’s also too difficult, or perhaps just ignored by design or choice.

Comment by Dries Janssens — December 8, 2006

Not going to repeat much of what’s been said before. But yes, to some degree this is a valuable exercise so long as you don’t come away with unrealistic expectations.

I’d suggest tempering any concerns about how exactly your site degrades with an idea of how many people that affects, and how adversely that affects you.

Excessive premature optimization of your site for degradation purposes based on assumptions, is perhaps as futile and rewarding as early optimization of un-profiled code. Amdahl’s law/diminishing returns: always applicable.

I’m going to say the best way to test screen readers is with a screen reader itself. And yes, that’s easier said than done.

Comment by Mike Czepiel — December 8, 2006

NoScript is one of those FUD inducing products that prey on the paranoid like Homeland Security does. Electricity can be used to empower terrorists. Let’s ban electricity!

Comment by Jordan — December 9, 2006

if ppl are that stupid/paranoid/using a dumb browser to not have js enabled, then I don’t want them on my site anyway.

Comment by Andy — December 9, 2006

What would be the point of this? It all depends on what target audience the website has. Many great websites would never have existed today, if it would be a must to develop for users with JavaScript off as well.

Comment by José Jeria — December 9, 2006

It’s not just for accessibility, or for screen readers. I’ve found that by wireframing my web applications the “analog” way, it gives me a full picture of all the functionality that the site needs. It also means that — without any extra work — all my form actions and link hrefs actually point to something besides “#”, and all I need to do is attach onclick or onsubmit events and other behaviours and it’s done. It’s easy to make it so that Javascript is used to simply enhance a site, not power it. So easy in fact that I just don’t understand the stance of some of the respondants above. Why would you write an application where you rely on technology that is controlled by the user? I’d much rather have all the core programming in the server language, where I have control over it.

Comment by Mike Ritchie — December 9, 2006

Turning javascript off… that soo Web 1.0 of you Dion. Don’t you wanna play with the cool kids?

I’m all for degradable websites and such, javascript should not control the links, thats just lousy design (software), but I would never dream of turning it off, and also I have no problem requiring that my visitors have it turned on if they expect an optimal presentation of the page.

Comment by Hans Duedal — December 9, 2006

Amen!

Comment by Somebody Else — December 9, 2006

I’ve made a lot of webpages, even for 3.0 browsers and I realy don’t understand what the fuzz is about. If you make webpages, you make them for you other people. The more people you can serve, the better. So if you make your js degrade, noone needs to suffer. (use css and behavior.js for example). All this ajax, web 2.0 buzz is all to familiar. Many claim you need it, just like you needed flash in every site that you made a couple of years ago. Stick to the core and you’ll be doing fine. In the end, the content is king, not the killer-design or the cool gadgets. (so yes, I do block flash and js from time to time. Does Errorsafe ring a bell :-)

Comment by Westworld — December 9, 2006

Designing client/server applications for optimal user experience and efficiency requires intelligent selection and balance of code to be executed on the client and code to be executed on the server. Trying to keep all code executing on the server so you have more “control” is not the does not work for applications that are becoming for interactive, and is not the type of forward thinking that is moving the web ahead into the next generation of applications. I agree that websites should be accessible, and the information should be retrievable in many forms, but raising the levels of user interactions should not be impeaded because HTML is “good enough”.

Comment by Kris Zyp — December 10, 2006

For the major sites that we develop, we always offer a version without javascript. If there is some Flash contained to a degree, we also include a no flash version aswell, if its relevant for the content.

I realize that there are fewer and fewer people who will not have access to the web without javascript, but those are still out there. There are companies that do not allow javascript to be executed and the use cannot do anything about. Actually there are various places, like some airports aswell or other locations open to the public to access the internet, that do not allow javascript to be executed.

So if you are working for a company that develops websites you cannot ignore this fact. I am not saying you have to consider it on every website you develop, but like accessibility you at least have to evaluate if these things are something that need to be covered!

Comment by Jens Nedal — December 10, 2006

I’m surprised that on a site one would expect to be populated by professionals, that these kinds of attitudes might be found. Let’s make a distinction between web apps and websites. There’s many nice uses for ajax and dhtml on web sites, but they MUST degrade. Many legitamate users do not have javascript, and any machine-machine interactions (search enginges) are going to need to see real links, for instance, not onclick handlers. Unless you’re blindly implementing a library you don’t understand (or as I have seen many times, three of four libraries on one site because the developer didn’t understand how to use one) – it is straightforward to build a valid structured site that works, and add your effects after.

If you’re building a web app that demands JS, (google maps for instance, even youtube) then you’ve got an excuse. Mail is iffy, as is basecamp. I should be able to navigate basecamp without JS.

Some of the sites I work on have a lot of visitors from nonprofit offices. I see IE5 all the time. Do I tell them to fuck off, no data for you? Or do I ensure the site will degrade gracefully? Why the hell should I have to have JS on to submit a form?

To me, that gmail has gone to the trouble to serve a non js page tells me they understood that when I put my data on their service, I’m trusting them to make sure I can get it – even if, for whatever reason, I’m not on a system that can handle their main site. Similarly, if a site provides information that people may need, maybe in a hurry, we should make sure it is accessible in the fullest sense of the word.

Comment by doneright — December 10, 2006

I’ve never understood why someone/anyone would turn off JavaScript support. My attitude is – and I’m a web developer – I no more cater for those who switch off JavaScript or use browsers that don’t support JavaScript, than I do for those who who choose to run Nutscrape 2.0.

I would like to send a polite message to all those who whine about sites that do not function 100% without JavaScript: screw you, get a life.

Comment by ajaxianfading — December 10, 2006

how to turn that off?.. stripping it from the .html/.asp/.php directly?

using FF with noscript extention is easy,

Comment by snydez — December 10, 2006

Thank you, Mike Ritchie. Thank you.

It’s amazing how people will go out of their way to claim JS is a commodity now and people running with JS disabled should just FOAD. I dare to claim 80% of these remarks come from people who are either too lazy or to incompetent to use the technology the way it was meant to.

Glad to see some of you are still on the sane side though.

Comment by nstlgc — December 11, 2006

Its not just about accessibility and JS compatibility either. Its about the search engines, and if you are relying on JS to generate content, while Google can apparently read through some Javascript, by disabling it you are seeing your site how google sees it.

Comment by Nick — December 11, 2006

I agree with Mike Ritchie on this.
Also remember what happened the last time a major security bug was found in IE. MS told the world to disable JS until the patch was ready!! I’m sure this will happen again.
I would not be surprised to see a large company taken to court for not catering for non-js browsers.

Comment by stuart — December 11, 2006

it is just a waste of resources to take into account: disabled js, css, IE4, IE5, lynx and other crap. upgrade or don’t use it

Comment by Lukasz — December 11, 2006

Lukasz:
my most recent sites work surprisingly well in lynx with zero extra effort. Just sensible markup.

stuart:
IE is to blame for most everything that makes web design suck as a career. We all should be convincing as many users as we can to move to using a GOOD browser. Sure we can’t do anything about the corporate users with IE5 but we should be trying to convince the rest of the world for their sake and ours.

doneright:
Web Apps vs. Web Pages – here’s my thoughts
Pages offer searchable information. Full blown Web Apps offer functionality.
Information about what functionality my web app offers will be available on regular web pages. My complex ajax driven app is probably members only anyway so google can’t even see those pages.

Tell your nonprofit IE5 users to do themselves a favor and use firefox or something. It’s better and safer and will save them from some virus troubles. Should probably also tell them to not use Norton and instead use something that will actually protect them. And in a few years when they’re finally realizing their old systems are totally worthless crap and they start planning to purchase upgrades you should tell them about Linux Distros (Like Sabayon, maybe Ubuntu etc).

“Why the hell should I have to have JS on to submit a form?”
It makes selecting the Country-State-City easier. It allows you to switch the price range of property your searching for on a real estate site depending on if you are looking to buy or looking to rent….but not it should not prevent the form from submitting.

Kris Zyp said something about “moving the web ahead into the next generation of applications….raising the levels of user interactions should not be impeaded because HTML is “good enough”.”
I don’t believe html is good enough. Obviously lots of people (used to) agree with me because they created javascript and css. But to truly move the web ahed into the “next generation of APPLICATIONS” we need more improvemets. CSS as it is now has yet to be -fully- implemented. And beyond that is still needs improvement in my opinion (truly stylable scrollbars! – i know you hate me now :) if we are ever going to truly make descent applications that rival what’s on the desktop.

Westworld:
If you’re building a web page – content is King.
If you’re building a “web gadget” – the gadget is king (widgets anybody?)

But there are some common problems that javascript is used to solve that really should be a part of HTML itself. Javascript can perform the duties of CSS’s :before/:after/content functionality but they still added those things to css because it would make things easier for their users (us the developers). Stuff like combo boxes need to be added to html and I’m sure there are other things you can think of.

Am I the only one who envies the huge amount of progress and improvement flash has enjoyed over the years compared to the decade we’re going to spend waiting for css3…

Alexei:
I used a screen reader once. When windows popped up an error, the reader read it to me. They should be updated to realize when a new element has been added to a page’s DOM or an element switched from display:none to be visible and read it too. That should help a lot with the accessibility problems of ajax.

Jeff:
That is the BEST definitions of Web2.0 EVER!
“It is a line in the sand where we tell people that “your browser is not compatible with this version of the web”

Gary R Boodhoo:
“This is an interactive medium as much as it is a data delivery medium.”
I felt it needed repeating.

The key to flash (besides animation) is that anything can be made to interact with the user. Until we have this same freedom in xhtml/js/css we will never stop getting requests for all flash sites.

Douglas Crockford:
thats how I feel about anyone not using firefox or opera (or any other modern Non-IE browser)

Comment by thinsoldier — December 12, 2006

Can I leave a comment without JS turned on? Let’s see….

Comment by Scripty — January 18, 2007

Just because I leave JS on, doesn’t mean I should expect the whole world to leave it on too.

It’s a case by case basis whether I offer an alternative non-javascript way to fulfill the functionality of the particular element or form or whatever is on the site I’m making.

Audience, the importance of the feature, the build time, all this factors into whether I cater for non-JS people. Ideally everything works with or without JS. But aiming for ideals costs money and time.

I’m all for making a site accessible to all devices, but accessibility should not restrict usability. That is, the usability of a site should not be limited to the lowest common denominator of the user agent.

If Javascript in a webpage is relied on like an engine in a plane, it’s probably too much reliance. Instead aim for a glider, which has an efficient hi-tech motor attached which optionally kicks in for an extra boost. :-)

Comment by Scripty — January 18, 2007

Having read half of the comments (including some very stupid ones from hardcore pro-.js’ers) I HAVE to submit my two cents.

1.) What about disabled people? Are you the ones who decides a blind person is not allowed to extract information from the Web (2. fucking 0)? What about your Granny? About you, when you become old or have an accident…? Now who’s the bastard? I know who’s the idiot here, man.

2.) As a responsible webmaster I see what other webmasters do. That’s why I am a hardcore no-.js’er in my Apps for so long, and that’s the reason my Opera has JS switched off by default. Because I know what good i can do with JS. But when surfing the web, I am confronted with hundreds of thousands of web”masters” who don’t understand what they’re doing, some of them even trying to harm me (JS overlays on eBay and whatnot). No, I trust noone by default, because I cannot control the web (And I’m not constantly surfing YOUR page). But I can control my browser.

3.) If your selling solution forces me to enable JS to give you my credit card number, your product is most likely to not be worth it. I’ll find and support a more sensible seller.

4.) JS is NOT as important as HTML. HTML can live pretty well w/o JS, what about the other way round? I’m not saying JS is not worth being considered at all. But it always was (and for long will be) a mere enhancement to (hopefully already working) HTML markup. Call me a nerd, but my pages (even my webapps) can be accessed without CSS, too. They work on my smartphone :-)

5.) Know why I never liked to play with the cool kids? They’re most often the stupid kids, too. Now that school times have passed, the “uncool” kids are the ones who pay your wages… (That’s the only sympathy I have for Bill Gates).

BTW: Guess whether I have my Flash Plugin activated by default…? I love my web experience. Less ads, quick loads, calm pages… ;-)

Comment by martin — February 21, 2007

> If your selling solution forces me to enable JS to give you
> my credit card number, your product is most likely to not
> be worth it. I’ll find and support a more sensible seller.

For sure. I totally agree, both as a webmaster and as a user.

As Cosey and others said, as a web-user I use the NoScript Firefox extension, and opt-in to Javascript. No hassle, less ads, more security.

Whilst Javascript can, undoubtedly, make certain operations much more easily achieved, and create a degree of interactivity to a web-page without reloading, it has disadvantages. Several security flaws have been discovered, and unpleasant people have been writing scripts that do quite unpleasant things to the user’s computer.

Subsequently, many users turn off Javascript in their browser, and quite a number of major corporations use proxy servers that actually strip out Javascript before serving the pages.

Comment by Italian webmaster — March 19, 2007

Hey, I’d just like to say that I am one of those ‘nuts’ who has .js turned off, actually I us the Firefox .js blocker and I freaking love it!! I installed it more out of philiosophy than out of security concerns. I hate the fact that the web is being abused as one big advertiser’s playground. I rarely login to purchase something online, just to get information. My searches are done using the scraper scrogle.org and almost always with -com. My monitor is not a TV set and it won’t be treated as one! I hate advertisers, the fact that any moron pays $300+ for a google share shows how little we learnt from the crash of 2000! Time to take the web back to the old skool, bomb building instruction, trading warez and IRC!

Comment by Fearon — March 21, 2007

Hi, i think that Backwards compatibility is not always possible.
It always depends on how accessible your website has to be.

Comment by Alex Klimovsky — March 24, 2007

if ppl are that stupid/paranoid/using a dumb browser to not have js enabled, then I don’t want them on my site anyway.

Comment by Evista — March 24, 2007

Why??? I love javascript!.. :P

Comment by Wahyu — March 29, 2007

but Backwards compatibility is not always possible i think.

Comment by Moshe Wasserman — April 17, 2007

I happened across this comment thread while looking around for indications of any trend in JS turned on vs. off. I wasn’t aware some corporations strip JS before serving pages! On our site I’m considering changing our usage reporting from monthly logfile analysis to a service that requires a JS snippet in each page. While I have the impression that the vast majority of our particular users do have JS turned on, I would hate to find out I’m wrong about that AFTER switching to a usage reporting method that relies on JS being enabled.

Comment by Genny — May 11, 2007

so what?

Comment by Gonzolder — May 23, 2007

mamaha is my lord!

Comment by Vacuum Cleaner — August 8, 2007

fucking spammers!

Comment by replica watch — August 21, 2007

Ever wondered why almost almost all the comments are here are from ignorant javascript fanboys? Posting a comment requires logging in. Logging in requires registraion. Registration requires javascript. The java script is broken. Fixing the javascript is not trivial.

When I try to test my broswer for a security flaw, the flaw requires javascript.

I have tried turning javascript on for a day. I met scripts that enter an infinite loop. Plenty that just do not work. Plenty of javascript provides a simple link, or does some pointless validation before copying form data into place. If you want to waste time on client side validation, that is your own problem, but please do not require javascript for simple tex input.

The vast majority of javascript does nothing useful whatsoever. Like flash, it is just an expensive way to drive away customers.

Comment by AmonMoose — August 4, 2008

Leave a comment

You must be logged in to post a comment.