React made ARIA the requirement for “accessible” code and it makes me so damn cranky.

@annaecook What makes you single out React? There have been plenty of other frameworks for building web applications (SPAs) which made ARIA an requirement.

I get that it’s fun to hate on React, but before React, the same engineers were building inaccessible experiences using plain HTML.

@therealkimblim @annaecook If HTML is semantic (the opposite of React) it's pretty much automatically accessible.

Because the user agent can interpret it into the user's configured accessibility needs, whatever those needs are, without the publisher having to predict what those needs will be and write an "application" based on those assumptions.

@dalias @annaecook Yes, semantic HTML is semantic. React (JSX) is neither semantic nor unsemantic — it just renders HTML. The point I'm making is that React isn't the cause of inaccessible experiences or the need for ARIA.

The cause of inaccessible websites is ignorant developers or lack of corporate investment. The need for ARIA is caused by Single Page Applications.

@therealkimblim @annaecook React *is* unsemantic. It's using the DOM as a rendering surface, not as a document.
@dalias @annaecook And how does that compare to PHP, .NET, Angular, Ember, Vue, Ruby on Rails etc.?
@therealkimblim @annaecook In practice, much further along the "unsemantic" direction. A lot of things made with those, especially PHP, still look largely like a vaguely semantic document on the client side. Stuff made with React invariably "looks like an app". But indeed the whole problem is "your app could and should have been a document".

@dalias @annaecook Oh, that I agree with, I just don't think it's the fault of React, that Single Page Applications have become a thing. React — like all of the other mentioned — can be used to generate great, accessible web sites that require no ARIA at all. It's just a (very popular) framework.

.. my take is that clickable divs were a problem a long time before React ever existed.