Principio 4/4.1 Compatible/4.1.3-A
De WCAG Wiki
4.1.3-A. Mensajes de estado
- Nivel: AA
- Versión: 2.1
- Principio: 4_Robusto
- Pauta: 4.1_Compatible
- Grupo: Informacion_dinamica
- Subgrupo: Mensajes_de_estado
Discapacidades afectadas
Este criterio puede afectar a distintas personas con discapacidad. A continuación se indican las más relevantes.
-
Visual total –
Barrera grave
Enunciado del criterio (Observatorio de Accesibilidad Web)
- Los mensajes de estado deben poder ser identificados por software a través de sus roles o propiedades de forma que se puedan transmitir a los usuarios sin necesidad de recibir el foco.
Comprensión del criterio
Descripción resumida
Cuando el contenido presenta información dinámica como confirmaciones, errores, avisos de progreso o resultados de búsqueda, dicha información debe ser anunciada por lectores de pantalla sin mover el foco.
Esto se consigue asignando roles y propiedades ARIA apropiadas (por ejemplo,
role="status" o role="alert").Objetivo
Garantizar que las personas usuarias sean informadas de cambios relevantes en el contenido sin perder su posición ni interrumpir su interacción, especialmente cuando utilizan lectores de pantalla.
Importancia de cumplir el criterio
Si los mensajes de estado no se identifican de forma programática, los usuarios con tecnologías de apoyo no sabrán que ocurrió un cambio importante, como un error en formulario, un envío exitoso o un mensaje de progreso.
Esto puede impedir completar tareas y comprender resultados de acciones.
Referencias WCAG
- ARIA22: Using role=status to present status messages
- ARIA19: Using ARIA role=alert or live regions to identify errors
- ARIA23: Using role=log to identify sequential information updates
- ARIA18: Using aria-alertdialog to identify errors
- F103: Failure due to providing status messages that cannot be programmatically determined through role or properties
Se incluyen también tecnicas de WAI-ARIA:
- ARIA22: Using role="status" to present status messages
- ARIA19: Using ARIA role="alert" or live regions to identify errors
- ARIA23: Using role="log" to identify sequential information updates
- ARIA18: Using aria-alertdialog to identify errors
- F103: Failure due to providing status messages that cannot be programmatically determined through role or properties
Recursos de apoyo
Consejos
- Usar
role="status"para notificaciones pasivas - Usar
role="alert"para errores inmediatos - Usar
role="progressbar"para progreso - Usar
aria-liveadecuadamente en contenido dinámico
Evaluación del criterio
Tipo de evaluación
Evaluación Manual
Procedimiento de evaluación
Usa la herramienta Web Developer Toolbar.
- Paso 1.
Localizar los contenidos que se añaden de manera dinámica a la página y que proporcionan información sobre:
- a. El éxito o resultado de una acción.
- b. El estado de espera de una acción.
- c. El progreso de un proceso.
- d. La existencia de errores.
- Paso 2. Comprobar que, cuando se actualiza esta información, el componente no recibe el foco. (Si recibe el foco, este criterio no aplica y no se debe seguir comprobando).
- Paso 3. Comprobar si tiene un rol de WAI-ARIA definido. Para ello, seleccionar “Information → Display ARIA roles”.
- Paso 4. Verificar que el rol es correcto de acuerdo con su función.
Resultado esperado
Los mensajes de estado son detectados por software y anunciados sin mover el foco, permitiendo a usuarios con lectores de pantalla recibir la información de forma no intrusiva.
Ejemplo
El lector de pantalla anuncia el cambio sin perder el foco.
HTML:
<button id="add-btn">Añadir al carrito</button> <div id="msg" role="status" aria-live="polite"></div>
Javascript:
document.getElementById('add-btn').addEventListener('click', () => {
document.getElementById('msg').textContent = 'Producto añadido al carrito';
});
Otras herramientas de evaluación
- Inspección del navegador: verificar que los mensajes de estado (confirmación, error, éxito, información) usan roles ARIA adecuados como
role="status",role="alert", o atributos comoaria-livesin requerir foco para ser detectados. - Lectores de pantalla: (NVDA, JAWS, VoiceOver) comprobar que los mensajes se anuncian automáticamente cuando aparecen, sin mover el foco.
- Consola y árbol accesible: usar DevTools (panel Accessibility) para confirmar que el mensaje está presente en el árbol accesible y tiene región viva adecuada (p. ej.,
aria-live="polite"oaria-live="assertive"). - Pruebas de interacción: disparar acciones que generen mensajes (envíos de formularios, cambios de estado, validaciones) y validar que los usuarios con productos de apoyo reciben la información.
Ejemplos accesibles y no accesibles creados por alumnos
Comentarios
A continuación se muestran comentarios sobre el criterio 4.1.3-A. Mensajes de estado
Loading comments...
