views:

1251

answers:

20

Why do many professional web developers always insist on developing sites that accommodate for browsers that have Javascript disabled?

Who uses browsers older than Firefox 2 or IE6?

And besides tech heads and developers, who really has Javascript turned off anyway? Is it worth worrying about a small percentage of people?

+18  A: 

I think it's a well known fact that ~10% of people have JavaScript turned off, so it's important to take that into account. If you feel you can safely ignore up to 10% of your audience, then blowing it off is fine.

duffymo
+1 hits the nail on the head. And that 10% segment (some estimates put it nearer 15!) is split into three groups - those whose browsers are restricted by policy; those who disable JavaScript out of paranoia (same group who are afraid of cookies); and those who have no idea what JavaScript is or whether it is turned on or off. It is important to determine whether any of those groups overlap with your target market(s).
Rex M
Oops, I also forgot the group who depend on software assistance to navigate their computer - those programs do not recognize most/all JavaScripts.
Rex M
I think that estimate is a little high. See this link:http://stackoverflow.com/questions/121108/how-many-people-disable-javascriptIt's the not the number of people though, it's that the 3.05% (and growing, not shrinking, thanks to smartphones, google, and NoScript) of people are a more important category than you think.
Joel Coehoorn
Where can I find out statistics on this sort of thing? I'm after the same audience that uses YouTube, almost everyone! :-) You need JS enabled for YouTube.
Sir Psycho
@SirPsycho YouTube is in a very unusual position that their content is *exceptionally* compelling - users will jump through hoops to watch free videos that EVERYONE ELSE are watching. That is not the case for 99% of websites.
Rex M
The link I posted included source information.
Joel Coehoorn
I can't see an average user turning on JS just for YouTube. Again, NoScript is a geeky tool in my books. My dad wouldn't know the first thing about it.
Sir Psycho
@SirPsycho: it's not that people turn it on for YouTube, it's that some who have it disabled live without YouTube at all.
Joel Coehoorn
10% is way high. Most estimates are in the low single digits. http://stackoverflow.com/questions/121108/how-many-people-disable-javascript
Cory House
fact lol. Have you infected the entire internets with a virus that gives you that info? That's a higher % than mac users! cite your sources please
Chad Grant
@Joel: New smartphones can do JavaScript well enough. Mine does anyway. :)
Marcus Lindblom
@Joel Coehoorn - If I'm guilty of being inaccurate, I fear that your 3.05% is overly precise. If you could tell me that it was 3% I'd believe that. @Deviant - Anecdotal, verbal evidence from a conference. I'll turn it around to you - what X% of your clients would you be willing to ignore? I think graceful degradation is possible. We can argue about the percentage for a long time. The point is that designing for those folks can and should be done if your app can afford it.
duffymo
A: 

Older than IE6 ? A few percentage. Older than Firefox 2? About the same.

You should always anticipate people with Javascript turned off and accommodate those who have it turned on.

Ólafur Waage
+8  A: 

Phones would be a primary one that I can think of off the top of my head. A lot of mobile devices just aren't very good at working through a javascript heavy site. And considering that mobile devices are quickly becoming one to the top internet access points you might want to reconsider your position.. ;)

Chris Lively
Very good point
Sir Psycho
I saw that you mentioned YouTube users as your target market. At least on the iPhone, YouTube has a custom app built for it. Something to consider.
Chris Lively
If you want yoursite to be viewable on mobile device, just working without JS is probably not enough. You may want to simplify your page layout and remove some images. I would really consider developing two versions for different platforms
Pavel Feldman
@Chris Lively: iPhone is not your average mobile device and neither is Android - their capabilities are closer to a desktop PC than a mobile device. Most mobile devices are much more limited, in all aspects (RAM, CPU, even display size)
Piskvor
@Piskvor: True; however, the iPhone accounts for 3% of the traffic to a couple of my sites whereas the other mobile devices barely register. That said, my results may not be what others see.
Chris Lively
+13  A: 

Many of the text oriented browsers like Lynx that are used by people with braille terminals do not support JavaScript. It would be very rude to exclude these people from having access to sites.

Learn more about Web Accessibility Initiative.

Edit: Do not confuse the text browser Lynx with the graphical browser Links

lothar
That's not necessarily true; Links does suppport Javascript: http://en.wikipedia.org/wiki/Links_(web_browser)
Greg Hewgill
Looks like SO fails to autolink the final parenthesis. Alternate page: http://links.twibright.com/
Greg Hewgill
Did you read the wikipedia link I put in there? Quote: "Not to be confused with Links (web browser)"
lothar
Sorry, I should have mentioned that I do understand the difference between Lynx and Links, and that Links is an example of a text browser (it doesn't require graphics) that supports Javascript. I use it through a text-only SSH session with Javascript enabled.
Greg Hewgill
I guess the part I was reacting to was "All the text browsers ..." where it should probably say "Some text browsers ...". My point was that not all text browsers will never have Javascript, and in fact at least one already does.
Greg Hewgill
@Greg Hewgill Edited to say Many text browsers instead of all. :-)
lothar
Exactly! Blind users!
Andrew
@lothar: looks good, +1 :)
Greg Hewgill
Lynx people are outcast, they cant watch YouTube.
01
+3  A: 

Think outside of the PC... lots of mobile phones have browsers that don't support javascript. If you want your site visible to them, then it might pay to think about how the non-javascript experience would be to those clients.

Scott Ferguson
+36  A: 

Who uses browsers older than Firefox 2 or IE6?

Wrong question. It's not the age of the browser that's the problem. There are plenty of new browsers out there that don't support javascript or support it well, and they can be just as important as the latest safari or firefox.

Others have mentioned smartphones or lynx, but the main one in my book is Googlebot. That's a browser just like any other, and it won't run most of your javascript. Also, even if you have firefox you might use a plugin like NoScript. That's not the same thing as running with javascript disabled, but if you do things wrong you can really mess up for those users (ie, detect javascript state once at the start of a session or creation of an account, and then no longer serve javascript pages at al, even if they wanted to enable it for you). Finally, if you do any work for the US Goverment you are required by law to support certain accessibility standards that include working with javascript disabled.

Joel Coehoorn
+1 if Google can't navigate your site, you are in trouble
Kip
NoScript is a geeky tool. I don't expect your average user to be using this.
Sir Psycho
And that's why I mention NoScript in passing, but put Googlebot in bold.
Joel Coehoorn
In most cases search engine optimization is a must and of course you need at least readonly content to be available without JS. However I was working on platform that was used only by paid customers without any access from google, almost each page had JS component called EBA grid that worked only in IE6,7 (not even in FF) and customers were ok with that. It's really up to PM to decide what features are needed, rich functionality or accesibility.
Pavel Feldman
Definitely. Do take the time to know your audience. I do mostly internal work where I can assume javascript (for the moment-we might be putting some more things external soon). My point is that your audience may be more varied with regards to javascript than you expected at first.
Joel Coehoorn
Joel: you should revise this answer, given that googlebot does now support a limited subset of javascript.
Paul McMillan
+4  A: 

Many people disable Javascript because of security concerns with plugins like NoScript.

Unknown
Or because most script makes loading pages orders of magnitude slower, while at the same time providing no functional benefit.
Anonymous
But NoScript can allow one to turn JS on for an individual page, so even these people are able to easily view your site, should they deem it safe.
Cuga
+1  A: 

I disable and reenable JavaScript several times a day depending on which site I'm about to visit. For example, news sites that like popups and resizing my window, stay still wih me.

It doesn't take much for an ordinary user to learn that these things are done by something mystical called "JavaScript" and where to turn it off in browser.

User
You want Firefox + NoScript. It remembers which sites are allowed to use javascript for you.
Joel Coehoorn
Maybe computers are second nature to you. Not everyone knows what JS is.
Sir Psycho
Will check out NoScript, thanks.
User
+6  A: 

This is more a personal pet peeve but...

I really don't like it when webpages load additional pages using AJAX calls and don't provide any method for opening the window in another tab. For example, on gmail, if you want to open up your drafts folder in a new window, you can right click on it and hit open in new window. No problem there.

On the other hand, if you want to open the contacts window, there is no non-javascript method of doing that. Therefore, you aren't able to right click and choose open in new window. The option doesn't exist!

sharth
I dont like Flash, sometimes people use sound in it.
01
A: 

For me it looks more like a decision that product manager makes - it's up to PM to decide how product looks like and what is it target audience. As developer all I need is requirement "should work in every browser" or "should work in most of browsers". That should not come from web developer, unless he decided what your product should look like which makes him PM. And it's not up to dev to argue about it.

Corporation that uses your SaaS and pays for it is one thing - on one project we explicitly said that only IE 6-7 is supported and customers were ok with that. Web site that may be visited on mobile browser is different story. But on mobile browser it may be not enough just to work without JS, you may need to simplify your page layout and reduce graphics usage as well. If you really need mobile users, you may consider making two versions of web site, fully functional JS-enabled desktop, and simplified, reduced version for mobile users.

Of course you should never rely security on client side JS.

Usually I prefer to deliver most of functionality without JS. For example readonly access to SO does not really need JS. And it's not that hard for user to enable JS if he really wants to post question. Posting question without JS is also not that hard, just forget about auto loading of similar questions.

Certain things can be done both in JS and server side, and it's still often a product feature rather than technical decision which way to use. For example voting in SO could be done without JS but that would involve page reloading - more frustration for user and more traffic.

Pavel Feldman
+4  A: 

The simple fact of the matter is that forcing the use of JavaScript is limiting your audience. Some day, someone is going to try to run your site without JavaScript. If they can't do it, they'll either turn it on or get upset and leave. If they leave, they may very well never come back.

Daniel Straight
Limiting your technology stack is affecting your product. If your site is not as good as it could be, they could never come to it.
Pavel Feldman
It would be stupid for SO to reload entire page when you add comment or vote.
Pavel Feldman
@pavel: but it's even better if SO would use javascript to do a partial load when it's possible, but fall back to a complete reload when it's not.
Joel Coehoorn
StackOverflow's JavaScript obsession has almost made me leave the site on several occasions... Just goes to show, not everyone wants the same thing out of a website. In general, you should always leave as much up to the user as possible.
Daniel Straight
Also, I'm not saying you shouldn't use JavaScript. I'm just saying it should be possible to use your site without it. Even if there are some absolutely JavaScript-critical parts of your site, you should be able to use the majority of the site without JavaScript. Certainly your home page should never require JavaScript. That's almost as bad (or maybe worse) than sites that won't even load a static page unless you accept cookies.
Daniel Straight
"but fall back to a complete reload when it's not". Exactly
Pavel Feldman
A: 

Disabling all scripts by default, enabling them only for the sites they need, is at least recommended practice for any internet user. I would even go so far to say that it is reckless and careless not to. There are some nice plugins to allow scripts selectively for chosen sites.

This means that you have to assume that first time visitors to your site will not allow any scripts in their browsers. Your site should thus be able to present a useful interface to gather information what it is about, without requiring the user to allow scripts.

In my opinion, JavaScript should only be used to provide additional functionality that goes beyond the simple display of information.

My behaviour is like this: when I stumble upon a site that just displays "You need to enable JavaScript", I instantly reevaluate my interest that led me there. In some cases, I will just close the tab.

Svante
+1  A: 

Worth worrying about a small percentage of people, or striving towards best practices? Graceful failure is something web developers should shoot for, regardless of the user base affected. John Resig's talk at Yahoo "The DOM is Messy" makes a good case for accommodating users of all browsers and configurations.

al
JS is part of the web experience though
Sir Psycho
@Sir Psycho: so are ads, but that doesn't mean I can't modify that experience...
Anonymous
+19  A: 

A few months ago I tested the user population on a mainstream million-member site I was working on, and around 10% of unique users did not have Javascript running.

Consider reversing the question: is it worth developing a site that only works for Ajax-capable users? Would you really ignore search bots, most mobiles, and a heap of other users?

Back to basics. First, create your site using bare-bones (X)HTML, on REST-like principles (at least to the extent of requiring POST requests for state changes). Simple semantic markup, and forget about CSS and Javascript.

Step one is to get that right, and have your entire site (or as much of it as makes sense) working nicely this way for search bots and Lynx-like user agents.

Then add a visual layer: CSS/graphics/media for visual polish, but don't significantly change your original (X)HTML markup; allow the original text-only site to stay intact and functioning. Keep your markup clean!

Third is to add a behavioural layer: Javascript (Ajax). Offer things that make the experience faster, smoother, nicer for users/browsers with Ajax-capable JS... but only those users. Users without Javascript are still welcome; and so are search bots, the visually impaired, many mobiles, etc.

This is called progressive enhancement in web design circles. Do it this way and your site works, in some reasonable form, for everyone.

mattandrews
A: 

There is no definite Yes or No answer; it all depends on the website and how you use JavaScript.

Basically, if your site is to be indexed by Google (or any other search engine) then you'll want the content of the page to be just plain HTML so anyone will easily be able to read it; the same goes for making links regular hyperlinks and not some "window.navigate" script so they can be followed appropriately. However, if your "website" is actually a more complicated web application, then you may be able to provide a much better experience for the user if you required JavaScript support; also in this case you may want to create a "mobile" version to be used by mobile devices that don't support JavaScript if that would be an issue.

Most times, it is ok to require JavaScript support, but you still want to keep in mind the percentage of your users (and potential users) that may have JavaScript disabled or not have JavaScript support altogether.

Also, for example, StackOverflow.com uses JavaScript for things you do when logged in, but doesn't require JavaScript support in order to just view individual pages, or in hyperlinks to other pages.

Chris Pietschmann
+3  A: 

Wow... I guess I'll be the first one to say it but... "To hell with all the people who disable JavaScript." If your site requires JavaScript to run, forget all those people that have it turned off. Seriously. If your site really is good enough to worry about losing a substantial audience, it's probably good enough for people to turn on their JavaScript.

Case in point, go to Facebook, YouTube, Google Docs, Google Maps, or Digg (heck, try to do some of the more cool stuff with SO) with JS turned off and see what you can do (not a whole lot).

The web browser is turning into more of a cloud-based operating system than a portal to "web sites". There are just so many compelling reasons to allow JavaScript to run and, IMO, so few reasons not to. To me, turning off JS is akin to, like, enabling UAC in Windows Vista. Yeah... it's there to help prevent you from making mistakes but having it on is sooooo annoying (but the reverse logic... :-).

So, anyways... I might get a lot of flack for this answer but I feel that my reasons are sound and backed up by a lot of incredibly successful web sites and web applications.

Just make sure that pages you want indexed by Google (and most other spiders) are able to be accessed without JavaScript on.

KyleFarris
"my reasons are sound and backed up by a lot of incredibly successful web sites and web applications." Exactly. However, will that site __you__ build be so incredibly successfull that people will jump through hoops to use it? Or will the response be "meh, if it won't even render properly without JS hacks, why bother?"
Piskvor
Google maps, digg and stackoverflow work with javascript disabled. Ans so do many other sites.
Kristof Neirynck
@Kristof - Yes, they WORK... but, try to vote up a story on Digg or a question/answer on SO. It ain't gonna happen. These are KEY features of these sites. Granted, the content is still accessible which is extremely important (as I mentioned in my answer in the last paragraph).
KyleFarris
@Piskvor - I believe in only making sites that are worth going to. If that site/app happens to be entirely JS-driven, then so be it. There's no sense in making s*%tty websites for the sake of javascript-a-phobes. If we want the web to continue evolving, it seems that JS needs to become more ubiquitously accepted. Would you want video game developers to continue to make games for DirectX 7 just because there are a few people that don't have computers from the new millenia? No, there's no sense in that and there's no money in it either.
KyleFarris
I ran out of room in the other comment. But, just to clarify, I know that non-video-based content-driven websites (like blogs) almost definitely need to be accessible without JavaScript because they make money based on content--not intriguing UI/interaction logic, per se. Applications like, say, Meebo, simply could not exist without javascript. Can you imagine the site refreshing the page every time you sent an IM?? No. Point made, I think.
KyleFarris
+1  A: 

Most users are not techinical, and thus they dont know/care what javascript is, so if it is turned on by default,then that is what they use. So, if they see your site, and it does not work, they are not gonna come back.

Milhous
+1  A: 

The usual reasons are:

  • Its good SEO practice, ensuring content is parsed and linked properly by search engines
  • Some modern web enabled phones do not process client side script properly
  • 508 compliance, in addition to helping SEO, is to some degree required by most government projects
  • Some people just turn it off for whatever reason

The general rule is to provide enhanced functionality but degrade gracefully for those that cannot use the enhanced feature set. That means all navigation should be accessible without scripting, as well as all content for search engine parsing.

Think of SO. Questions and answers are processed server side and sent to the browser. Until recently comments were retrieved on demand through javascript to a web service call. That means that no matter how great a comment was, it is not going to be parsed by a search engine.

blu
A: 

Think mobile phones, not whether people turn JS on or off. There are millions of people who view the web on their phones (not exclusively of course). That alone is a reason to cater for non-JS users.

JonoW
A: 

I generally don't accomodate people with javascript off, but I am sure to let them know that because they have it turned off, certain features will be unavailable to them.

I think its unacceptable to 'break' your website if there is no javascript, but its acceptable, imo, to have a minimum standard of what is required to use your website.

For my websites this works...your audience may have different needs.

EJB