I am a firm believer sites should work perfectly fine for people who choose to disable Javascript while browsing any and all of the content.

However, when it comes to higher-level interaction (such as registering or posting things) would it be a step too far to expect users to enable JavaScript if they want to contribute content to a site? In the same way cookies are also required for things like this?

Just my opinion, but I find JS is now a permanent technology on the web and it's completely acceptable to ask a user to enable it. (Most JS disabling is to block ads more than anything)
–
DA01Dec 19 '11 at 16:34

7

Here's another question: is doubling your workload worth it for the 2% of users who might be less willing to contribute anyway (i.e. they've JS disabled because they're browsing from a work environment). Couldn't you do something else with that time? Like make your service better for everyone else? Or remove bottlenecks to monetization? Keep your real objectives in mind.
–
Jimmy Breck-McKyeDec 23 '11 at 9:53

2

As a designer I think JS is definately a permanent technology on the web now. For any modern application its required to do all the "cool" stuff. This is a generalisation (not good in UX fields!) but I reckon people that have it disabled are overly-paranoid and wouldn't want to submit to a website anyway.
–
WanderDec 23 '11 at 10:35

2

I wouldn't even say it's needed for 'cool' stuff. It's a basic building block these days for even the most mundane of UI improvements.
–
DA01Dec 23 '11 at 16:34

3

Some of that 2% might be disabling Javascript by default and then selectively enabling it (Firefox NoScript et al).
–
Monica CellioDec 23 '11 at 16:47

10 Answers
10

While JoJo's comment is valid there's always a trade off between the extra effort required to implement full graceful degradation and the rewards that it brings.

If Yahoo!'s figures are correct then the question you have to answer becomes "is this 2% of the on-line population valuable to me?"

If their sample is representative of your user base then the answer might well be "no". If, however, you find that 10% or even 15% of your user base have JavaScript disabled then it may well be more worth your while catering for them.

Very good points. IMO browsing without Javascript is largely a choice which makes it much less important than accessibility--you make sites accessible because users can't interact with your site another way. To me this means it is a numbers game and I don't find I have any moral reason to support such users beyond basic functionality.
–
Ben Brocka♦Dec 18 '11 at 0:01

2

Furthermore, how many of those 2% are likely customers / users? People who actively disable javascript (or use systems that pre-date javascript being on by default?!?) may be ridiculously outside your target demographic.
–
peteorpeterDec 20 '11 at 20:45

I feel that because of the way he phrased his question, that there is no question about if the 2% is valuable; it is to him in this case. You missed answering if he should even ask the user to enable JavaScript.
–
b01Dec 27 '11 at 14:50

1

It may also be that that 2% are 2% of browsers, but not 2% of people. For example, say someone looks at a site from work, where their security policy demands JS be switched off, they may still be able to use the site in all its glory from home. So how much it matters might depend on the context in which you want to talk to those people - are you talking to them in their work role or as a private person.
–
Peter BagnallOct 22 '12 at 0:10

In order for a site work when Javascript is disabled you need graceful degradation. Graceful degradation is a philosohy of coding that "enables a system to continue operating properly in the event of the failure of some of its components," this case being JavaScript purposelly disabled.

Even though you can re-factor your JavaScript and HTML code to make it unobtrusive, graceful degradation is to be applied from the begining and always taken into account. If your project has its functionalities already developed, you will need to balance between refactoring your code so it degrades gracefully —works without JavaScript— or expect the users to have JavaScript enabled.

On favor of refactoring, unobtrusive JavaScript and graceful degradation are quality coding techniques, and a long-term investement. Also you would be making your site/app more accessible.

On favor of not refactoring, as you point out, only 2% of users in USA have JavaScript disabled. The effort spent in refactoring your code could be spent on improving other functionalities used by a wider audience.

In the end you should run tests to see how many of your high-level users have JavaScript disabled and estimate the cost of re-factoring the existing JavaScript on your code and choose the most cost-effective option taking the previous considerations into account.

As per my personal experience: it is ok to require power users to have JavaScript enabled for high-level interaction with your site. It is a standard in today's Internet and you just need to make them confident your site is trustful. Nevertheless, good coding philosophies such as unobtrusive JavaScript and graceful degradation are always a plus.

I always get into arguments with designers over this, because I think that JS is a part of the web, and it should be expected if you want to browse cool, modern up to date websites. However, I also accept that sites should probably be browsable without JS, at least at a basic level. So for those who insist on not having JS, the core parts of the site should be available.

However, if you actually want to interact with them, buy stuff, discuss stuff or whatever full interaction with the site involves, then requiring JS does not seem like a big ask. Unless - as per @ChrisF - this group is a particularly significant part of your target audience. Expecting to participate in web 2.0 with web 0.1 technology is ridiculous.

Interestingly, I was once working on a site and discovered that the live site was broken for non-JS users, because about half of the products could not be bought. No-one had complained, there was no indication in the sales figures that this was an issue, in fact, no-one noticed.

I think it is a good idea to ask a user to enable JavaScript if they wish to use an interactive feature on you're site that REALLY requires it.

I would also say that it is bad UX to have them turn it if all it will do is fix a few layout issues, or anything simple like that.

Also ask yourself: Do I really need JavaScript for this feature; or can I implement it without JavaScript and just use JavaScript to enhance it?

There should be a compelling reason to have the user enable JavaScript, so that if they do, then they will see/experience the real benefit of doing so. Otherwise this could lead them to distrust your site and others that may ask them afterward. Also explain to your users what benefits they'll get if they turn it on. Don't leave them guessing.

Reasons I think are good:

Live/Real-time updates (example: stock exchange/rss feeds).

Performance gain in page load times by bringing in content via AJAX.

Ease of use, kKeep the user from jumping through too many pages in order to accomplish a task.

Game/Canvas interaction.

Google Gmail is good example of when you should ask, in fact they do. Google even goes as far as to give you a little tutorial on how to enable JavaScript, if your browser supports it. However, they also give you an alternative HTML version of Gmail that does not require JavaScript. Of course it does not have all the bell and whistle.

Get an feel/understanding of how others handle this by disabling JavaScript and then surfing the web to a couple of your favorite sites that use JavaScript heavily, and see how they deal with users that disable JavaSCript. I know Gmail does, .

It is ridiculous to think websites should work fine without JavaScript today. Why do you think Google revamped all their websites to be JavaScript intensive or has bet on Chrome OS so heavily? Why do you think Microsoft is doing Metro-stye apps that run on JavaScript? Why do think modern browsers don't even have an option to turn off JavaScript anymore? Because everyone is doing JavaScript now. Do you have a home phone number still or rent DVDs at Blockbuster or go to a travel agency to book a flight? Where I'm from people just don't do those things anymore. They use modern technology.

The development effort on back peddling small percentages of slow moes is wasted effort in my ecommerce business. How much money do these people have anyways if they can't afford or figure out how to upgrade their machines or buy a new laptop? Not to mention the browsers are updating themselves now. Seriously. Its a moving target anyway where these people are simply dropping off. By the time you have read this, this issue has become ever more insignificant.

My thoughts exactly. Virtually all modern sites look like crap in IE5 (some of which are unusable) but there's no push for "graceful degradation" to give them a text-only version, because there's no business reason to care about such a small and unmotivated pool of users.
–
GrahamDec 28 '11 at 16:58

The real, or important question here is whether those 2% are using your website. If you run a website for web experts the chances are pretty low that anyone will have javascript disabled. I'd associate those users that have Javascript disabled as being of an older demographic - does your site have an older (60+?) user base?

This may sound very against the grain but I don't consider those users that have JS disabled in most of my development and give them a "You need JS enabled to use this site" message, in the hope that we can bring that stubborn/unaware 2% figure down.

For the record, Magento sites by default won't work for users without javascript disabled:

<noscript>
<div class="noscript">
<div class="noscript-inner">
<p><strong>JavaScript seem to be disabled in your browser.</strong></p>
<p>You must have JavaScript enabled in your browser to utilize the functionality of this website.</p>
</div>
</div>
</noscript

In theory, Digital Signing of your javascript so that malicious javascript does not make it to your site may make some more comfortable. The security downside is that digitally signed javascript can give the javascript more privilege.

By signing a script using a valid certificate issued from a
certificate authority (such as VeriSign) you certify that you are the
owner of the script and that the script was not modified before
reaching the end user. Because signed scripts offer this proof of
identity, only signed scripts can be granted extended privileges by
the user. Using this model you can sign any JavaScript in an HTML page
or referred to by the HTML page with .

A signed script can request expanded privileges that give it access to
restricted information and abilities. You can use these expanded
privileges to exercise fine-grained control over activities beyond
those which are normally allowed to JavaScript.

Anonymous, many of the computer security experts i know are very afraid of enabling javascript. A safe experience would require examining the source of all the javascript for every website you visit each and every time you visit it but before it is actually executed.

As a developer, I admit that I generally assume that all my visitors will be using JavaScript. However, for the core functionality of a website, I make sure that non-JavaScript users are able to use it, albeit without all of the bells and whistles. Its a bit of extra work, and I hate that not all users will have the same experience, but that 2% is a large number. (Hey, fewer than 2% of visitors use IE6, and we still code for them!)

Personally, I often browse new websites without JavaScript (for security reasons, depending on what system I am on) and I find it irritating when websites are non-functional without it.

Is it ok to ask visitors of my swimming pool to wear a swim cap?
According to stats, only 0.01% of people wear them in everyday life.

If people are interested in your service, they will enable js, install flash, change browser, do what they need to get what you offer. Those who disable js are not disabling it for the sake of not using web sites. They disable js to lower security risk/block ads when js is not needed.

It's true that users will do what they have to get what they want, but I don't want to make it any harder on them than necessarily. There is also the supply-demand curve which dictates (all things equal) that a competitor with a lower price (or in this case, lower-requirements) will get the business.
–
XeoncrossDec 24 '11 at 17:41

@Xeoncross so are swimming pools where you don’t have to wear swim cap more successful?
–
Nikita ProkopovJan 18 '12 at 16:43

I would assume that given an equally opportune pool next door (same price, same style, same service, etc...) that people without a cap, or who didn't like being required to wear one would attend there instead. However, which pool ultimately succeeded would be based on the people's like of caps.
–
XeoncrossJan 18 '12 at 16:57

@Xeoncross, ok, you missed the point. I was trying to say that whether you require cap or not, it will not significantly influent success of your business. Because wearing a hat is too little to ask, people won’t make their judgement basing on this criteria.
–
Nikita ProkopovJan 18 '12 at 17:47

Depends on your audience. If you care much for this 2% who do not have Javascript enabled and they make the majority of your website... So the question you should ask first, is how much of your target group have Javascript enabled?

Next is to ask yourself, whether or not you want to make Javascript obligated. And do you want to keep 100% functionality at cost of behavior when this is not enabled.

When a user is loyal to a website there are reasons for. You could make a setting, to remember his choice.