binary-control-name-present
Los controles binarios tienen un nombre accesible
Comprueba que los controles checkbox, radio y switch expongan un nombre accesible no vacío.
Ámbito de aplicación. Se aplica a elementos cuyo atributo role se resuelve en checkbox, radio o switch (el primer token que nombra un rol conocido, sin distinguir mayúsculas de minúsculas, por lo que role="foo switch" y role="SWITCH" cuentan) que están incluidos en el árbol de accesibilidad. Un <input type="checkbox">/<input type="radio"> nativo entra en el alcance solo cuando lleva explícitamente uno de esos roles; sin un atributo role, pertenece a form-control-programmatic-label-present. También entra en el alcance un elemento personalizado cuyos ElementInternals le dan uno de esos roles (this.attachInternals().role), sin un atributo role que nombre otro: es su rol por defecto, y ninguna otra regla lo comprueba.
Resultado esperado. El control tiene un nombre accesible no vacío procedente de aria-label, de un aria-labelledby que resuelve a texto no vacío, o de title. Un checkbox o radio nativo acepta además un <label> asociado, la API labels, un <label> envolvente, o label[for], leyendo como máximo cuatro etiquetas por determinismo; cualquier otro elemento acepta el texto de su propio subárbol, ya que esos roles son name-from-content.
Ejemplos
<div role="switch" tabindex="0" aria-checked="false" aria-label="Bluetooth"></div>
aria-label le da al switch un nombre accesible.
<div role="switch" tabindex="0" aria-checked="false"></div>
El switch no tiene nombre procedente de ningún mecanismo admitido.
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.
name_internals
- Inspeccionar el control que indica el informe, un elemento personalizado, y anotar su rol.
- Abrir el panel Accesibilidad de las herramientas para desarrolladores del navegador y leer el nombre accesible del elemento.
- Con un lector de pantalla, desplazarse hasta el elemento y escuchar el nombre que se anuncia.
Se cumple. El árbol de accesibilidad muestra un nombre para el control, establecido mediante sus internals o de otro modo, y el lector de pantalla lo anuncia.
No se cumple. El control no tiene nombre en el árbol de accesibilidad y el lector de pantalla solo anuncia su rol, lo que incumple WCAG 4.1.2.