La accesibilidad web es fundamental para garantizar que todos los usuarios, incluidos aquellos que utilizan tecnologías de asistencia, puedan interactuar sin barreras. Uno de los problemas más comunes es cuando el nombre accesible de un control interactivo no coincide con el texto visible de la etiqueta, lo que impide que los usuarios de entrada por voz activen correctamente los elementos.
Este error incumple el Criterio de Conformidad 2.5.3 (Etiqueta en Nombre) de WCAG 2.1, afectando principalmente a usuarios que utilizan comandos de voz para navegar por la web.
En este artículo, exploraremos el Fallo F96, su impacto en la accesibilidad y las soluciones adecuadas para evitarlo.
Acerca de este fallo
El Fallo F96 ocurre cuando el nombre accesible de un elemento interactivo (botón, enlace, campo de formulario, etc.) no contiene el texto de la etiqueta visible. Este error afecta a tecnologías que dependen de nombres accesibles, como software de reconocimiento de voz, ya que los usuarios no pueden activar el control pronunciando su etiqueta visible.
El Criterio 2.5.3 (Etiqueta en Nombre) establece que el nombre accesible de un control debe contener el texto de su etiqueta visible. Esto garantiza que los usuarios que dependen de comandos de voz puedan interactuar correctamente con los elementos.
Escenarios en los que ocurre este fallo:
- Cuando un botón tiene un nombre accesible diferente al texto visible mediante
aria-label. - Cuando el nombre accesible de un enlace contiene texto adicional que rompe la coincidencia exacta con la etiqueta visible.
- Cuando el valor del botón (
value) difiere del texto proporcionado mediantearia-labelledby.
Ejemplos
Ejemplo incorrecto 1: Botón con un aria-label diferente al texto visible
<button id=»buscar» aria-label=»Buscar en el sitio»>Buscar</button>
🔴 Problema: El botón muestra la palabra «Buscar», pero el nombre accesible es «Buscar en el sitio». Los usuarios que usen comandos de voz como «Click Buscar» pueden no poder activar el botón.
Solución correcta:
✅ ¿Qué mejora?: Ahora el nombre accesible coincide exactamente con la etiqueta visible, asegurando que los comandos de voz funcionen correctamente.
Ejemplo incorrecto 2: Enlace con texto adicional oculto
<a href=»#»><span class=»visually-hidden»>Descargar</span> Manual de usuario</a>
🔴 Problema: El usuario ve el texto «Manual de usuario», pero el lector de pantalla detecta el enlace como «Descargar Manual de usuario», rompiendo la coincidencia exacta con la etiqueta visible.
✅ Solución correcta:
<a href=»#»>Descargar Manual de usuario</a>
✅ ¿Qué mejora?: El nombre accesible coincide con la etiqueta visible, permitiendo que los usuarios de comandos de voz activen correctamente el enlace.
Ejemplo correcto: Solución ideal
<label for=»busqueda»>Buscar</label>
<input type=»text» id=»busqueda» aria-labelledby=»busqueda»>
<button id=»boton-buscar» aria-labelledby=»boton-buscar»>Buscar</button>

✅ ¿Qué mejora?:
- El nombre accesible de cada elemento coincide con su etiqueta visible.
- Se usa
aria-labelledbycorrectamente para asegurar coherencia entre la etiqueta visible y el nombre accesible. - Funciona para usuarios de lectores de pantalla y comandos de voz.
Errores comunes y cómo evitarlos
Errores frecuentes
- Usar
aria-labelcon un texto diferente a la etiqueta visible. - Agregar contenido oculto que modifica el nombre accesible de un control.
- No verificar cómo los lectores de pantalla interpretan los nombres accesibles.
Cómo evitar estos errores
- Asegurar que el nombre accesible contenga exactamente la etiqueta visible.
- Usar
aria-labelledbyen lugar dearia-labelcuando se requiera más contexto. - Realizar pruebas con comandos de voz para verificar el funcionamiento.
Preguntas frecuentes sobre el fallo F96
¿Por qué es importante que el nombre accesible coincida con la etiqueta visible?
Porque los usuarios de entrada por voz necesitan pronunciar exactamente la etiqueta visible para activar controles interactivos. Si hay diferencias, no podrán interactuar correctamente.
¿Qué sucede si agrego información adicional en aria-label?
Si el texto del aria-label no coincide con la etiqueta visible, los usuarios de lectores de pantalla y comandos de voz pueden experimentar dificultades para activar el control.
¿Cuál es la mejor manera de corregir este problema?
Asegurar que el nombre accesible contenga la etiqueta visible exacta. Se recomienda el uso de aria-labelledby en lugar de aria-label si es necesario agregar contexto adicional.
¿Cómo puedo comprobar si mi sitio tiene este problema?
Puedes utilizar herramientas como axe DevTools, WAVE o VoiceOver para verificar los nombres accesibles y asegurarte de que coincidan con las etiquetas visibles.
¿Es válido usar aria-hidden para ocultar texto adicional?
No. aria-hidden impide que el texto sea leído por tecnologías de asistencia, pero no resuelve el problema de accesibilidad con comandos de voz.
¿Qué otros criterios de WCAG están relacionados con este fallo?
- F111: Control con una etiqueta visible pero sin un nombre accesible.
- G131: Proporcionar etiquetas descriptivas.
- ARIA9: Uso de
aria-labelledbypara combinar varios textos en un solo nombre accesible.
Recursos relacionados
- Guía oficial WCAG 2.1 para el fallo común F96: Fallo debido a que el nombre accesible no contiene el texto de la etiqueta visible
- Comprender el criterio de éxito 2.5.3: Etiqueta en Nombre
- F111: Fallo de los criterios de éxito 1.3.1, 2.5.3 y 4.1.2 debido a un control con texto de etiqueta visible pero sin nombre accesible
- G131: Proporcionar etiquetas descriptivas
- ARIA7: Uso de aria-labelledby para crear enlaces
- ARIA8: Uso de aria-label para crear enlaces
- ARIA9: Uso de aria-labelledby para concatenar una etiqueta de varios nodos de texto
- ARIA14: Uso de aria-label para proporcionar una etiqueta invisible donde no se puede usar una etiqueta visible
- ARIA16: Uso de aria-labelledby para proporcionar un nombre para los controles de la interfaz de usuario
- SCR30: Uso de scripts para cambiar el texto del enlace
Pruebas y validación
Procedimiento
- Inspeccionar los controles (botones, enlaces, formularios).
- Comprobar el nombre accesible usando herramientas como axe DevTools o NVDA.
- Verificar que el nombre accesible contiene el texto de la etiqueta visible.
- Probar comandos de voz («Click Buscar», «Descargar Manual de usuario»).
Resultados esperados
- ✅ Si el nombre accesible coincide con la etiqueta visible, el contenido cumple con WCAG.
- ❌ Si el nombre accesible no contiene la etiqueta visible exacta, el contenido falla WCAG y debe corregirse.
El Fallo F96 afecta directamente a los usuarios que dependen de comandos de voz y lectores de pantalla. Asegurar que el nombre accesible de los controles contenga la etiqueta visible es clave para mejorar la accesibilidad web y cumplir con WCAG 2.1.
🚀 ¿Quieres mejorar la accesibilidad de tu sitio web? Asegúrate de que tus etiquetas visibles sean coincidentes con los nombres accesibles y prueba tu sitio con herramientas como VoiceOver o NVDA.
🔎 Si necesitas ayuda para optimizar la accesibilidad web, contáctanos y hagamos la web más inclusiva para todos. 💙♿