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.
Edit: oh right, wanted to add: just making a site work without JS doesn’t automatically make it accessible to people with special needs.
They overlap. Js is a shit technology for the blind.
Dynamic sites that move / hide / unhide components as you do things are unhelpful and confusing. A screen reader will tell you what’s under the cursor right now. If that changes, you don’t get notified that you’re now pointing at something else.
Static sites are better for accessibility too.
They can overlap, yes. Static sites are definitely not automatically better for accessibility.
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.
deleted by creator
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 highlight 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 point that 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 (i.e. until at a bare minimum you have your Web Accessibility Specialist certification), then focusing your time and efforts on catering to a niche ideological no JS crowd is quite frankly somewhat cruel and self serving.
Heh, just deleted my reply - thanks for covering all that, you’re exactly right :)
If you want to learn the stuff necessary for that certification, here’s a document, the WAS Body of Knowledge listing what you need to know and maybe where you can learn that. Less detailed version in the WAS Exam Content Outline.
Doesn’t avoiding JS typically structure a website in such a way that the browsers built-in assistive services can cover it easier?
Not necessarily, unfortunately. (Though I guess technically it’s easier to throw up barriers using JS, but it’s not an inherent quality, and leaving it out doesn’t automatically make it good.)