Focusable Does Not Mean Usable
Adding `tabindex="0"` does not turn a generic element into a button.
Native controls already know how to behave.
Try It
- A `div` with a click handler might work with a mouse. Adding `tabindex="0"` may allow keyboard focus to reach it, but it does not automatically provide expected activation behavior.
- A native `button` already supports the interaction behavior users expect. Start with the native control when it fits the task.
Quick Test
Can you focus it, activate it, and continue the task using the expected keys?
Read / Reference
-
Understanding WCAG 2.2: 2.1.1 Keyboard
Keyboard access applies to functionality, not only to whether an element can receive focus.