There's a general problem on the web (and to a lesser extent computing in general) that UX is just widely terrible. I think part of this is because developers tend to work at the very edge of their competence, and getting something working at all is a major feat, with no room left over for making it work well. And part of it is developers or designers deciding they know better than everyone else. A lot of this was a solved problem back in the 80s: the platform provides a standard UI toolkit and a set of standard idioms, and all software uses them. But this lesson is ignored because developers and designers don't like it when their stuff looks and works just like everything else. Making buttons that look like everyone else's buttons means you don't set yourself apart, so we end up with custom buttons that look different and don't work as well. And, of course, are less accessible, because accessibility requires integration into the overall system that doesn't exist with a custom solution.
I was a Mac fiend back in the "beleaguered" days, and standard widgets and idioms were a big deal in that community. There was broad consensus that apps should all look and work the same, as much as that was possible. A button should be a button and a text field should be a text field no matter what program it was in. That all went out the window with the web, for no particularly good reason, and it's infecting non-web platforms at an alarming rate.