useKeyWithMouseEvents (HTML)
Summary
Section titled “Summary”- Rule available since:
v2.5.0 - Diagnostic Category:
lint/a11y/useKeyWithMouseEvents - This rule is recommended, meaning it is enabled by default.
- This rule doesn’t have a fix.
- The default severity of this rule is error.
- Sources:
- Inspired from
jsx-a11y/mouse-events-have-key-events
- Inspired from
How to configure
Section titled “How to configure”{ "linter": { "rules": { "a11y": { "useKeyWithMouseEvents": "error" } } }}Description
Section titled “Description”Enforce that onmouseover is accompanied by onfocus and onmouseout by onblur.
Coding for the keyboard is important for users with physical disabilities who cannot use a mouse, AT compatibility, and screen reader users.
Examples
Section titled “Examples”Invalid
Section titled “Invalid”<div onmouseover="handleMouseOver()"></div>code-block.html:1:1 lint/a11y/useKeyWithMouseEvents ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ onmouseover must be accompanied by onfocus.
> 1 │ <div onmouseover="handleMouseOver()"></div>
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │
ℹ Users who navigate via keyboard cannot interact with elements that only have mouse event handlers. Add an onfocus attribute to ensure keyboard accessibility.
<div onmouseout="handleMouseOut()"></div>code-block.html:1:1 lint/a11y/useKeyWithMouseEvents ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✖ onmouseout must be accompanied by onblur.
> 1 │ <div onmouseout="handleMouseOut()"></div>
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 │
ℹ Users who navigate via keyboard cannot interact with elements that only have mouse event handlers. Add an onblur attribute to ensure keyboard accessibility.
<div onmouseover="handleMouseOver()" onfocus="handleFocus()"></div><div onmouseout="handleMouseOut()" onblur="handleBlur()"></div><div onmouseover="handleMouseOver()" onfocus="handleFocus()" onmouseout="handleMouseOut()" onblur="handleBlur()"></div>Accessibility guidelines
Section titled “Accessibility guidelines”Related links
Section titled “Related links”Copyright (c) 2023-present Biome Developers and Contributors.