Radio buttons are built into web browsers. Why are we using a UI library that wraps another UI library that rebuilds radio buttons from scratch? Why does rendering a radio button require multiple dependencies and several kilobytes of JavaScript? How did we make a built-in browser control so complicated?
This is a crazy mess.
The subject of “worse reimplementations of native features” reminds me of trying to find an event for the (2012?) Olympics. They didn’t seem to have a search, but they did have an infinite scrolling schedule page so I held down End until the page had everything and used the native search. No results, even when I tried something that I knew was at the top of the page.
I noticed the scrollbar was acting weird and looked into it. Turns out that they were removing the parts of the page outside of the viewport and loading them back in when you scrolled.
I suspect it’s because they were finding their bloated page was slow on some devices so put in this terrible hack, but it broke basic browser features.
This exact scenario has happened to me so many times it makes me want to find whoever’s responsible and force them to use the goddamn site.