Non-interactive elements with tabindex='0' must have an interactive ARIA role so assistive technologies can convey their purpose

keyboard-accessible/focus-order · Best practice

Non-interactive elements with tabindex='0' must have an interactive ARIA role so assistive technologies can convey their purpose.

When adding tabindex='0' to non-interactive elements like <div> or <span>, screen readers announce them generically. Add an appropriate role (button, link, tab, etc.) so users understand the element's purpose. Also add keyboard event handlers (Enter/Space for buttons, Enter for links). Consider using native interactive elements instead.

Scan a page or repo for issues like this · All rules

Introduced in @accesslint/core v0.8.0