And don't even get me started on "accessibility". The web's barely-acceptable kludges for accessibility could easily be accommodated in a layered, more programmable system.
The web platform is rife with abstraction inversion, employs declarativity where programmability is necessary, and vice versa. It puts magic in pretty much all the wrong spots. And its event-based programming model that puts all JS on the "main" (actually UI) "thread", forcing a painful and awkward asynchronous programming model that we are gaslighting into believing is good for us, is frankly just dumb. But the web has always thought designers and developers are dumb, so it's fair play to just hate it right back.