

How many users have JavaScript disabled? - brandonkm
http://developer.yahoo.com/blogs/ydn/posts/2010/10/how-many-users-have-javascript-disabled/

======
bphogan
If you haven't got the experience, then yes, it's going to seem like two times
the work. But I am a low vision user who disables JavaScript often because
developers don't understand that jut because I stopped moving my mouse doesn't
mean I want to see a popup definition of the word I hovered on which obscures
my viewport. (I'm zoomed in now as I type this).

I'm saddend (and a little angry) at the number of developers here who
absolutely insist it's so much extra work to build a site that doesn't require
JavaScript. If you follow best practices, it's not a big deal. Web apps
create, retrieve, update, and delete records. No matter how fancy your new
startup's idea is, you have to realize that it's all the same task over and
over again, and you can do that with simple web forms that don't require AJAX.
A little unobtrusive JS to capture clicks, hide boring interfaces, and
transform your dull non-JS interface can go a LONG way. Plus you can test that
the underlying functionality of your site works _very_ early.

I'm required by law (Section 508) to build accessible web sites at my day job.
It's much easier to make Section 508 compliant websites without JS. Then we
put the icing on the cake to satisfy the other 98% of our users.

~~~
andrewf
(This is an academic point for me right now - I'm building an app in Facebook,
and Facebook requires Javascript.)

It seems like your zoom software interacts badly with behaviour that's common
on some websites. Disabling Javascript seems like a reasonable workaround, but
not without cost. I'm curious - why are web developers the target of your
aggravation, rather than the people who wrote your zoom software?

It seems to me that a lot of expensive accessibility software copes well with
computing circa 1998. But then it hit a wall. Most of the advocacy and
lobbying around this issue seems to focus on forcing most developers to adapt
to the limitations of this accessibility software, rather than pressuring
accessibility software vendors to provide software which (a) delivers
innovation and utilizes advanced technology, as you'd expect in 2010 and (b)
deals with common patterns in modern software development.

~~~
bphogan
I am aggravated by the developers because developers are the ones who confuse
interactions (clicks) with invitations to interact (hovers). When I move my
mouse, my viewport moves. That's by design, as the mouse pointer can be placed
near words so I can see it. Keeping the mouse pointer visible is important
when you can't see it well.

Now imagine I'm surfing as a blind user, and I follow a link from HN, and my
screen reader starts reading the page, only to be interrupted by a "take this
survey" modal DIV. After a couple of times I'm turning off the JS, cos that's
really annoying.

The people who make my zoom software make OSX (it's built into the operating
system and it works amazingly well for me except for applications which fire
events when I hover.

Following the principles of UJS and web standards makes it infinitely easier,
in my experience, to develop web sites that work with screen readers and still
use that advanced technology that everyone's gaga over. But if you can't write
JS easily that works across multiple browsers, how do you ever expect
assistive technology to be able to interpret it correctly? :)

~~~
andrewf
The iPad doesn't have the concept of a hover, so websites pretty much have to
work without it.

It'd be nice if Apple could turn around and kill the hover in Safari when
somebody's using the zoom feature. It'd be even nicer if you could toggle this
on and off right now (right Apple button, maybe?) because mouse hovering in
the zoom application is obviously _not_ necessarily the same user action as
mouse hovering without the zoom app.

"Take this survey" DIVs destroy usability for everybody :(

~~~
bphogan
eh, from my experience the iPad does have "tap-to-hover" support which is
pretty nice actually. Many hover-only events do work, even ones that haven't
been written to support iOS-specific events. So they're doing something.

------
ZeroMinx
It obviously depends on 1) who your target audience is, and 2) what your
website is.

If the target is HN type people I'm guessing the number of non-Javascript goes
up.

If the website is pure information, why not provide it even to people who
telnet to port 80?

But if the website is a rich interactive application, even if it could fall
back on simple form submissions, I'd say it's fair that non-JS users sees a
"This requires Javascript" message.

(my answer is very different if the "interactive application" was powered with
something vendor/platform-specific)

------
shaggy
I'm a NoScript user and generally only whitelist JS on sites I use all the
time and trust. I'm not overly paranoid about security, but the experience on
the web with NoScript is far superior than without it in my opinion. What
drives me absolutely insane is when a website is 100% useless unless JS is
whitelisted. That instantly gets put on my list of sites to never ever go to
again.

~~~
estel
Doesn't that depend on what the website is trying to achieve? Clearly there
are plenty of sites out there whose functionality is necessarily dependant on
JS. As long as they make clear that this is the case and what the website is
supposed to do, is it all that bad if a website becomes otherwise useless
without JS?

~~~
gxti
It's the sites that _shouldn't_ depend on JS that irritate me. Sites that load
completely static content, dynamically. Newspapers where you get a blank
layout instead of an article. They're more common than you think. I don't mind
temporarily whitelisting a site to play with some cool thing but if it's
something that shouldn't require javascript at all, let alone need to degrade
gracefully, I often just go somewhere else.

And then there's sites like this:
[http://partiallystapled.com/~gxti/trash/2010/10/09-javascrip...](http://partiallystapled.com/~gxti/trash/2010/10/09-javascript-
hell.png)

------
mike-cardwell
I use NoScript mainly due to the prevalence of XSS attacks. If a website
doesn't require me to enable javascript, even a trusted website, I wont. All
it does is open you up to XSS attacks. Lets not forget that google, facebook,
twitter, paypal, hotmail, yahoo and countless other big name websites have all
fallen prey to these flaws, and will continue to fall prey to them.

~~~
olalonde
I'm willing to open up to a very unlikely XSS attack in exchange of a better
user experience.

Do you know many people who say: "I won't run C applications because they are
vulnerable to buffer overflows."

~~~
acqq
I'm one of those who browse without JavaScript and Flash and for me that IS a
better experience. Try it once and see how much better signal to noise ratio
is. I also like the additional benefit of having much less chance to be
attacked through the browser.

And I also use Opera, exactly because I can enable using the built in browser
settings both JS and Flash only for a few sites where I need it (like
youtube).

I have just checked again: I don't have JS turned on for HN. It just works.

~~~
BCM43
Really? It does not work with noscript. I get a blank page when I attempt to
vote.

~~~
acqq
You're right. The vote is counted, so I consider that as "works." The result
is certainly ugly, but I'd name that a "minor display issue" as I can hit
"back."

Of course it would be nice if that "back" step wouldn't be needed.

~~~
mike-cardwell
Yes, that is very annoying. It should just send you back to the page you were
already on and to the position on the page where the comment you clicked is.

You could probably also do some clever trick with checkboxes, the css3
:checked pseudo class, and background images to make it work without
javascript and without page refreshes. Browser support isn't going to be great
atm though.

~~~
acqq
I would expect that it can be reasonably easy fix (a few lines on the right
places) to simply deliver some sane content as the result of the vote HTML
query.

Shouldn't the referrer tag from the query be enough?

------
marknutter
That's 2% I could do without, no problem.

~~~
mirkules
Explain that to a potential investor. "We snubbed 2% of our potential user
base because we were too lazy to make sure that our site degrades gracefully."
From the article, that's _6 million_ of Yahoo!'s 300M+ user base.

I really don't understand what's the big deal about making sure your site
works without JS, it's just some extra work that you're going to have to do
anyway later down the line (and it will be more complex then).

~~~
lukifer
If your web page is a simple marketing site, blog, or e-store, then I
completely agree.

But if your web page is a complex application, having to support no-JS either
shuts you out from from a huge set of interface tools, or forces you to
maintain two interfaces in tandem. To me, 2% doesn't justify that,
particularly when you can just politely inform the user that their browser has
a significant feature disabled, and inform them how they can remedy the
situation so that your site works.

~~~
mirkules
I agree with you and the posters below that you can't develop two versions.
But I'd like to point out that "it doesn't work because JS is disabled" versus
"it's not pretty because JS is disabled" are two different things, and they
are not mutually exclusive. There are a slew of sites that work without JS
even though they depend on it for "fancy" stuff. Plus you don't have to
support two different sites in tandem, it's not exactly 100% more work. For
example, instead of an AJAX call (which returns content), display the content
in a new page, i.e. Slashdot's comment system -- when JS is turned off,
clicking on a comment opens it up in a new page.

~~~
bmelton
You're overlooking a lot of powerful applications that need SOMEthing to work
client-side. Markup.io, recently featured here, is not the sort of application
that can post-through to another page to fix. One could argue that it might
also work with Flash, or ActiveX, but I'm only even mentioning them to head
off somebody else from doing so, as that's hardly a solution.

I suppose it could be implemented as an Applet, but what's important is that
Markup.io is exactly the sort of thing that Javascript exists for, really. And
yes, disabling JS will break it, completely, and yes, I think that's perfectly
forgivable.

On the whole, I agree that my blog should degrade, and data-entry type
applications should work as well, but saying that everything should is
completely overlooking an entire category of application for which it's
perfectly acceptable, in my opinion.

~~~
mirkules
Ok, good point. My problem is sites where it is reasonable to expect them to
work without JS, but end up not working at all. I would never expect a
specialized site like Markup.io or asteroids-on-a-page (forgot the name) to
work without JS. News sites, portals, blogs, shopping sites, etc, are all fair
game for no JS (like you said).

By the way, not sure if you're the author of Markup.io, but it's pretty cool.

~~~
bmelton
Oh, no I'm not even remotely connected to it, it was just the first example
that came to mind.

It is pretty cool though.

------
eiji
The follow-up question is "Why users disable JS?".

How many do it unintentional because they think JS is Java(applets ...), or
the browser does not support it.

I'm also wondering how many people change the advanced JS settings in the
browser (do browser other than Firefox even support them?).

I'm one of those 2% for different reasons(open for discussion): \- it blocks
90% of ads, because most banners are JS driven \- I consider JS as a privacy
and security vulnerability \- disabled JS saves bandwidth

It never takes more than 2 seconds to get an idea if a page does work without
JS, and another 2 seconds to decide if it is worth it to enable JS.

~~~
jcromartie
I'd reckon that most of them are FOSS weenies and/or security paranoid. At
least, that's the common thread among my peers who disable JS as a matter of
principle. They are proud of it, and they are happy to find a reason (like
requiring JS) to snub your web app.

Then there are the NoScript people, who are willing to whitelist your site to
allow JS if they think there is value in it. These people skew the numbers but
are pretty reasonable when it comes to turning JS on.

~~~
Natsu
I'm one of those NoScript users. Most sites get temporary permissions if they
actually need them for something I want to do, trusted sites get whitelisted
if I visit them often enough.

Pretty much all of the attacks against Mozilla that might have actually
affected me have been mitigated to some extent by NoScript, so it's pretty
useful.

------
jessor
NoScript has 74,459,688 downloads so far (<https://addons.mozilla.org/en-
US/firefox/addon/722/>). You'd have to do some calculations with this to get
closer to a real user number, though ;)

 _I'd wager that the average NoScript user has at least two machines, so the
total number of NoScript users is probably less than 2.7 million._
([http://blog.brandonbloom.name/2010/06/noscript-add-on-
instal...](http://blog.brandonbloom.name/2010/06/noscript-add-on-install-
base.html))

~~~
lukifer
I'm also guessing the majority of NoScript users have exceptions whitelisted
for many trusted sites, given how many sites are completely useless without
JS.

~~~
Xurinos
Yes, and I happen to have Yahoo! sites on my whitelist, which tells me that
their stat is not reliable. The actual percent of users who block JavaScript
may be higher, given selective blocking, as provided by Opera and Firefox's
NoScript.

------
mike-cardwell
If your website relies on JavaScript to work, then you're excluding people who
_can't_ use JavaScript. Disabled people with screen readers.

If you don't cater for those people, put some money aside for lawyers.

~~~
kls
This is a straw man argument that is not grounded in fact:

[http://www.dojotoolkit.org/reference-
guide/dijit-a11y-statem...](http://www.dojotoolkit.org/reference-
guide/dijit-a11y-statement.html)

I have built many sites with the specific criteria that it work with JAWS. I
do not use Server Side web frameworks and my UI logic is implemented entirely
in JavaScript. I am an authority in the usability and accessibility field and
am hired as such by many of the big boys. JavaScript has nothing to do with
accessibility and in fact can be used to increase usability for the disabled.
People confuse JavaScript with bad UX design that hinders accessibility.

~~~
mike-cardwell
You'll forgive me if I listen to a combination of common sense, and the guy
who said "I say this as a visually impaired developer with several blind
friends and family" instead of the guy with a vested interest.

~~~
kls
Sure I will forgive you, but I will also note that again this is a case of
blaming Javascript for bad UX design. The evidence is in his post. I just
highlighted it.

------
michaelchisari
Could the argument be made that the minority who surf with Javascript disabled
don't necessarily have to be catered to, since they will enable Javascript if
they trust the site or find it useful?

~~~
daten
There may be lots of reasons to disable javascript or not have it available at
all such as security policies, bandwidth restrictions, limited hardware
devices or other things you haven't anticipated.

I think it depends on what content you're providing and which users you want
to reach.

I've seen text-only blogs that involve javascript in their visual design and
cannot be read without it. I've also seen websites where the site navigation
links are rendered by javascript. In both cases the sites are inaccessible to
non-javascript users.

In my opinion if you can provide the same content without requiring active
scripting, you should. If you're providing an interactive experience that
can't be achieved without scripting at least be aware that you're limiting
your user base. Even if users have scripting available but disabled by choice,
they may decide that your content is not worth enabling scripting for.

I'm also concerned that technical users who disable javascript by choice might
not frequent a site like "yahoo" as much as non-technical users. I'm curious
if a more neutral but still popular site would have a larger percentage of
non-javascript visitors.

~~~
michaelchisari
Very good response, I agree that the base functionality should exist without
Javascript, and I would assume that most who disable it are willing to forego
bells and whistles, but will still use your site if the basics work. This also
ties into best practices of having Javascript which degrades properly.

------
Locke1689
But how many of those 6 million are bots and scripts like mechanize scraping
the site?

~~~
techiferous
From the article:

"We took a combination of access logs and beacon data (previously included in
the page) and filtered out all of the automated requests, leaving us with a
set of requests we could confirm were sent by actual users."

