Earlier this week, I wrote about how I’m building a UI library for people who love HTML. I also published a YouTube video about it.
I got a lot of excited responses and comments about it, but also a noteworthy handful asking something along the lines of this…
People should not be prioritizing no-JS users. No one turns off JavaScript.
Today, I wanted to talk about why that’s wrong, and why you should care about the no-JS experience.
Note there’s a group of users that larger than the group of users without JS (for whatever reason): users of assistive technology. And they don’t even have a choice.
While I’m all for considering the needs of every user… If you get to the point where you’re worrying about no-JS users, I hope you’ve already considered the needs of people with disabilities, whether temporary or permanent.
No-JS pages that fully comply with WAI ARIA are much better for users of assistive technology than any single page web app can ever hope to be. All the myriad states that an interactive JS page can enter are absolutely never ever properly tested for disabled users, and even after full expensive testing, just a little change in the JS can ruin it all again. While with WAI ARIA you can just quickly assert that the page is compliant with a checker before pushing it to live.
This is both factually incorrect, and ignores the original point.
First of all, no you cannot just run an automatic WAI ARIA checker. That will surface some surface level basic structural issues but in no way is adequate testing for a pleasant accessible UX.
Secondly, modern frameworks like React and Angular have the same ARIA validation utilities. It does not matter whether components are loaded in dynamically by the framework as long as they’re defined in the codebase where linters and code analyzers can run.
Thirdly, you’re ignoring the actual pointthat is being made. You know as well as I do, that virtually nowhere actually puts serious effort and usability testing into websites making sure their websites are accessible, and that directly impacts the lives of millions of people who are cut off from the world of technology because of a disability.
Until you’re making all of your websites and apps accessible by second nature, focusing your time and efforts on catering to a niche ideological no JS crowd is quite frankly a cruel and self serving use of your time.
Doesn’t avoiding JS typically structure a website in such a way that the browsers built-in assistive services can cover it easier?