aria-conditional-attr

aria-errormessage requiere que aria-invalid tenga un valor distinto de false

automaticWCAG 4.1.2 (A)confianza: highgravedad: moderaterobust

Comprueba que los elementos con aria-errormessage también tengan aria-invalid establecido en "true", "grammar" o "spelling"; de lo contrario, el mensaje de error se descarta del árbol de accesibilidad.

Ámbito de aplicación. Elementos con un atributo `aria-errormessage` no vacío.

Resultado esperado. Según la especificación ARIA, `aria-errormessage` solo se expone a la tecnología de asistencia cuando `aria-invalid` está presente con un valor distinto de `"false"` (es decir, `"true"`, `"grammar"` o `"spelling"`). Un elemento con `aria-errormessage` pero con `aria-invalid` ausente o en `"false"` descarta silenciosamente el mensaje de error del árbol de accesibilidad; los autores casi siempre pretenden que se exponga. Devuelve `cantTell` en lugar de `fail`: aria-errormessage solo se expone una vez que se establece aria-invalid, por lo que la referencia está actualmente inactiva. Que eso le cueste algo al usuario depende de si el mensaje se transmite de otra forma (texto visible junto al campo, aria-describedby), algo que el marcado estático no resuelve.

Ejemplos

pass
<input type="text" aria-invalid="true" aria-errormessage="err1">
<span id="err1">Enter a valid email address.</span>

`aria-invalid="true"` significa que `aria-errormessage` se expone a la tecnología de asistencia.

can't tell
<input type="text" aria-errormessage="err1">
<span id="err1">Enter a valid email address.</span>

Sin `aria-invalid` establecido en un valor distinto de `"false"`, `aria-errormessage` nunca se expone: la referencia está actualmente inactiva.

Ver código fuente