Skip to content

useKeyWithMouseEvents (HTML)

biome.json
{
"linter": {
"rules": {
"a11y": {
"useKeyWithMouseEvents": "error"
}
}
}
}

Require keyboard equivalents for mouse hover events.

Keyboard users cannot trigger onmouseover or onmouseout. Pair onmouseover with onfocus, and pair onmouseout with onblur, so the same behavior is available when focus moves with the keyboard or other assistive technology.

<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>