You can configure that as a default in Safari, and manually opt sites out to allow them to render normally; I use the setting on iOS and have for years.
I think Firefox requires an extension (vendoring Readability.js) to behave similarly, since it doesn't expose its built-in version even to extension developers. (I don't think that's even part of the manifest spec.) I've never wanted the behavior on a desktop browser, though, so don't take my word for it; it's been probably most of a decade since I looked.
The intention behind Readability's introduction was that it remain a feature entirely and only under control of the user. So far as I'm aware, those browsers implementing the capability have honored that intent, as has W3C.
I'm not asking for default loading sites into readability mode, just that the button to load a site in readability mode isn't arbitrarily hidden.
I don't understand how hiding a button is "giving users control". Wouldn't it be under more control of the user to always have the button to load in reader mode available?
Oh, I see what you mean. The option is surfaced where a page has "enough" text according to Readability's heuristic. Where absent, it wouldn't be able to do anything useful anyway. (It is doing something a lot more sophisticated than just document.write(Array.from(document.querySelectorAll('')).map(({ innerText }) => `<p>${innerText}</p>`).join()).)
I can't really speak to the details of that heuristic this decade, but I believe an early version of Mozilla's reader-mode implementation (maybe also the basis for others) still to be available on Github under the name "Readability.js", which should provide a suitable reference implementation for further review. (This is also why I keep calling it "Readability;" that was the name it wore when we met.) I assume a current version is also available in the Firefox source.
iOS Safari's implementation is always available, even when the "Show Reader" menu option is grayed out, the equivalent of Firefox hiding the button: long-press the "aA" context-menu icon in the URL bar. But if the page can't be rendered usefully in reader mode, all that will happen is the regular haptic to tell you the system recognized your input.