mouse-only-event-handlers

Los manejadores de eventos en línea exclusivos de puntero deben tener un equivalente accesible por teclado

manualWCAG 2.1.1 (A)confianza: lowgravedad: moderateoperable

Marca elementos con un manejador de eventos en línea exclusivo de puntero (onmouseover, onmouseout, onmousedown, onmouseup, ondblclick, onmousemove, onmouseenter, onmouseleave) y sin un equivalente accesible por teclado (onkeydown/onkeyup/onkeypress/onfocus/onblur), para revisión manual.

Ámbito de aplicación. Elementos que llevan al menos un atributo manejador de eventos en línea exclusivo de puntero (`onmouseover`, `onmouseout`, `onmousedown`, `onmouseup`, `ondblclick`, `onmousemove`, `onmouseenter`, `onmouseleave`) con un valor no vacío, y que también son elegibles/alcanzables (no ocultos/`aria-hidden`/`display:none`).

Resultado esperado. El elemento también lleva al menos un manejador en línea accesible por teclado: `onkeydown`, `onkeyup`, `onkeypress` (los equivalentes directos de eventos de teclado), o `onfocus`/`onblur` (el sustituto estándar para el comportamiento activado por hover: focus/blur son el análogo navegable por teclado de mouseover/mouseout, según la técnica G90 de WCAG). De lo contrario, el comportamiento impulsado por el ratón del elemento (un tooltip al pasar el cursor, un desplegable personalizado, una interacción de arrastre) no tiene ninguna forma de activarse para un usuario que solo usa el teclado.

Ejemplos

can't tell
<div onmouseover="show()" onmouseout="hide()">Hover-only tooltip trigger</div>

`onmouseover`/`onmouseout` no tienen contraparte `onfocus`/`onblur`, por lo que un usuario de teclado nunca puede activar este comportamiento.

n/a
<div onmouseover="show()" onmouseout="hide()" onfocus="show()" onblur="hide()" tabindex="0">Hover + focus pair</div>

Cada manejador de ratón está emparejado con un manejador de focus equivalente por teclado.

Ver código fuente