This long-overdue PR does a few things concerning buttons:
- for all
.btn
s, it changes the:focus
styling to:focus-visible
- this way, the focus style doesn't take effect and "stick" (until you click somewhere else) for mouse/touch users - for button-like checks and radios, the
:focus-visible
style now doesn't set the background colour, and there is no:hover
styling. this stops the very confusing problem of having the mouse, or keyboard focus, on a checkbox, checking/unchecking it, but only being able to see whether they did indeed check/uncheck by moving keyboard focus away/clicking somewhere else. particularly noticeable in our outline button example, where before you simply couldn't tell what was going on.
Closes #33481 (closed), closes #31149 (closed), closes #34664 (closed), closes #36502 (closed), Fixes #26804 (closed).
Possibly supersedes #28999 (think this approach may be cleaner)