“Must Work Without JavaScript”

Post from September 5, 2019 (↻ May 10, 2023), filed under  (feed).

I’m currently busy with other things but reading CSS-Tricks discuss JavaScript support requirements I felt I could just release the draft that I had been working on. Apparently there are different views on the matter; whether different data have turned up I could not tell, but let’s see what conversations will yield.

That websites should work without JavaScript—display and function acceptably—has a long professional tradition, and for apps much the same has often been asked for. Yet with the success and ubiquity of script-based apps, where much that’s important on the Web uses scripting (typically ECMAScript, JavaScript), how relevant is it to make sure sites and apps “work without JavaScript”?

I intend to show that this requirement is not relevant anymore: In times of JavaScript being used and supported everywhere the demand has nothing to do with user and accessibility (nor bot) needs anymore.

To start, let’s look at some data. How often is JavaScript actually disabled by users, so to consider a professional necessity of sites to work with no scripting?

Note that data are sparse, with MediaWiki and others also sporting the same stats, essentially.

To go deeper, are there user agents, including assistive technologies, in which JavaScript is disabled by default, possibly forcing us to ensure no-script support? Where?

Nowhere it seems, apart from text browsers (quite evidently).

Are major search engines requiring no-script sites or apps?

The really big ones are Google and Bing as well as, notably in their countries, Baidu in China and Yandex in Russia—so sites not depending on Baidu don’t appear to face any problems on this front, either. The Googlebot is evergreen since this year, Bingbot is generally capable of rendering JavaScript, and Yandex long started to handle JavaScript, too. Baidu, however, may rely on the only major bot that can’t deal with JavaScript yet.

And, who actually says that sites or apps need to work without JavaScript (and when did they say that)?

The demand almost appears mythical by now, with only WebAIM sharing how and that “WCAG 1.0 from 1999 required that pages be functional and accessible with scripting disabled, WCAG 2.0 and all other modern guidelines allow you to require JavaScript.”

Although, as in other cases, we need more data, what we find paints a rather clear picture:

  1. Already almost a decade ago, only every 500th user would disable JavaScript—and though we don’t know what requests translate to users, nor what the intent was, we can suspect that these requests do not all mean different users with critical needs.

  2. Only text browsers would not support JavaScript, and no one who wouldn’t know the implications uses text browsers.

  3. No major western search engine can’t deal with JavaScript.

  4. No major standard requires to make sure sites and apps function without JavaScript being supported.

This may not be all on the subject—I may have missed something—but what this suggests is one thing: With few exceptions proving the rule (currently web apps targeting China as well as internal applications with special needs), and without endorsing irresponsible use of JavaScript, “must work without JavaScript” is deprecated; “must work without JavaScript” is dead. Beginning with checklists we should stop promoting and propagating it.

King Arthur and his staff, Lancelot, Bedivere, Mordred, and Gawain listen, as Val offers the services of his scouts.

Figure: Must work without JavaScript. (Copyright King Features Syndicate, Inc., distr. Bulls.)

Toot or tweet about this?

About Me

Jens Oliver Meiert, on September 30, 2021.

I’m Jens, and I’m an engineering lead and author. I’ve worked as a technical lead for Google, I’m close to W3C and WHATWG, and I write and review books for O’Reilly. I love trying things, sometimes including philosophy, art, and adventure. Here on meiert.com I share some of my views and experiences.

If you have a question or suggestion about what I write, please leave a comment (if available) or a message. Thank you!