Jason Knight
2 min readJan 30, 2021

"renders HTML"... uhm, not quite. The stuff you write server side that kind-of looks like HTML (JSX) is compiled to a JSON style object that is applied via that "virtual DOM" BS. (that in actual browsers is NOT any faster than directly manipulating the DOM despite the nonsensical claims to the contrary!).

What, you think that Render() actually sends that pretend HTML into the page like the idiotic innerHTML trash? HAH!

https://codepen.io/jason-knight/pen/bGBGmow?editors=0010

Right click over the render, and hit "view frame source". Is that H1 and its "hello world" text in the markup? NO IT IS NOT!!! The H1 is added to the DOM, but it's not part of the markup and as such doesn't exist scripting off/blocked/inapplicable. Way to flip the bird at users on braille readers or in locked down workplaces.

Why isn't it there? Because it's scripttardery and that means it fails to gracefully degrade scripting blocked. Users for whom JavaScript is blocked, unavailable, or inapplicable the "content" created by react DOES NOT EXIST. It client side renders **** that has not one blasted business being handled client side!

As such, it is NOT accessible! Zero scripting off graceful degradation === not accessible. Do not pass go, do not collect $600 in Covid relief.

Sure, if you're in a full stack situation where you have control over the UA (such as Electron or nw.js) then fine, go for it if you want to write more code than necessary and are too stupid to work with the DOM directly. But if it's public facing in a conventional website where normal people on normal browsers are going to try to access it, this type of scripting is NOT accessible.

GOOD JavaScript should enhance an already working page, not be the only means of actually applying content.

Anyone telling you otherwise is selling something.

Lands sake people, what the blazes is so hard to understand that if scripting off none of its content exists, it's not accessible?

Jason Knight

Accessibility and Efficiency Consultant, Web Developer, Musician, and just general pain in the arse