accesskeys

Los valores de accesskey deben ser únicos

manualconfianza: mediumgravedad: minoroperable

Comprueba que ningún par de elementos de la página comparta el mismo valor del atributo accesskey.

Ámbito de aplicación. Se aplica siempre que dos o más elementos llevan un atributo accesskey no vacío: solo entonces pueden coincidir dos de ellos.

Resultado esperado. Todos los valores de accesskey de la página son únicos. Los accesskeys duplicados hacen ambigua la activación mediante atajo de teclado: solo uno de los elementos que comparten la tecla puede alcanzarse con ella, y cuál depende del navegador o la plataforma.

Qué informa un hallazgo.

  • accesskey: la tecla compartida, en minúsculas.
  • duplicateCount: cuántos elementos de la página la comparten, incluido este.

Estos campos de data.details ayudan a leer y reproducir un hallazgo. Salvo reasonCode y los pocos campos que Esquema de salida indica como estables, no son un contrato estable: un campo puede cambiar de nombre o desaparecer en una versión menor, así que no construyas sobre ellos.

Ejemplos

pass
<a href="/a" accesskey="a">A</a>
<a href="/b" accesskey="b">B</a>

Todos los valores de accesskey de la página son únicos.

can't tell
<a href="/s1" accesskey="s">S1</a>
<a href="/s2" accesskey="s">S2</a>

Dos elementos comparten el mismo valor de accesskey ("s"), que la mayoría de los navegadores resuelve de forma impredecible.

Cómo comprobarlo

Cuando esta regla no puede decidir, informa cantTell y deja la pregunta a una persona. Cada pregunta que puede plantear aparece aquí bajo su código de motivo, con los pasos para responderla. Un hallazgo lleva los mismos pasos en howToCheck, en el idioma del análisis. Consulta Esquema de salida.

ACCESSKEY_DUPLICATE

  1. Anotar la tecla de acceso que indica el informe y localizar los demás elementos que la comparten.
  2. Pulsar la combinación de teclas de acceso del navegador con esa tecla (por ejemplo, Alt, o Alt+Mayús, más la tecla) y anotar qué elemento recibe el foco o se activa.
  3. Volver a pulsarla y comprobar si se puede llegar a cada elemento que comparte la tecla.

Se cumple. Se puede llegar con la tecla a cada elemento que la tiene, o los duplicados son intencionados e inofensivos.

No se cumple. Solo uno de los elementos responde a la tecla, así que a los demás no se puede llegar con su atajo (buena práctica, relacionada con WCAG 2.1.1).

Ver código fuente