control-name-title-only
Un botón o un enlace no debería tomar su nombre solo de su title
Marca un botón o un enlace cuyo único nombre accesible es su atributo title, que solo se muestra al pasar el ratón, para revisión manual.
Ámbito de aplicación. Botones y enlaces del árbol de accesibilidad con un atributo title no vacío: <a href>, <area href>, <button>, <input> de tipo button, submit, reset o image, y elementos a los que su atributo role, o sus ElementInternals, dan el rol button o link.
Resultado esperado. El cálculo del nombre accesible (Accessible Name Computation) toma un title como nombre solo cuando nada más nombra el elemento: el nombrado por el autor (aria-labelledby, aria-label), el alt de un botón de imagen, el value de un botón input o, en botones y enlaces, su contenido.
- Algo distinto del title nombra el control:
pass. El title es su descripción, una información sobre herramientas (tooltip). - El title es su único nombre:
cantTell(NAME_FROM_TITLE_ONLY).
El nombre es válido, así que se cumple el 4.1.2, pero un title solo se muestra al pasar el ratón: no en pantallas táctiles, no cuando el control recibe el foco desde el teclado, y no como texto que una persona que usa entrada por voz pueda leer y decir. Comprueba si se puede dar al control un texto visible, o un aria-label cuando solo muestra un icono, conservando el title como tooltip si se desea.
Qué informa un hallazgo.
role: el rol del control,buttonolink.
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
<button title="Save the draft">Save</button>
El texto del botón lo nombra; el title es un tooltip.
<button title="Close"><svg aria-hidden="true" width="12" height="12"></svg></button>
El title es el único nombre del botón, y solo se muestra al pasar el ratón. Una persona comprueba si puede tener texto visible, o un aria-label.
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_FROM_TITLE_ONLY
- Observar el botón o el enlace que indica el informe sin pasar el puntero por encima.
- Decidir si lo que muestra (texto o un icono) deja clara su finalidad.
- Llegar a él con Tab y observar que la información emergente del title no aparece.
Se cumple. La finalidad del control queda clara por lo que muestra, o se le da texto visible o un aria-label y el title se conserva como información emergente.
No se cumple. La finalidad solo la explica un title que nunca ven quienes usan el teclado, una pantalla táctil o la entrada por voz (buena práctica, accname 1.2).