Diferencia entre revisiones de «Principio 4/4.1 Compatible/4.1.3-A»
De WCAG Wiki
Sin resumen de edición |
Sin resumen de edición |
||
| (No se muestra una edición intermedia del mismo usuario) | |||
| Línea 1: | Línea 1: | ||
== | {{CriterioWCAG | ||
|id_wcag_criterio=4.1.3 | |||
|id_wcag_subcriterio=4.1.3-A | |||
|wcag_titulo_criterio=4.1.3-A. Mensajes de estado | |||
|wcag_nivel=AA | |||
|wcag_version=2.1 | |||
|wcag_principio=4_Robusto | |||
|wcag_principio_url=Principio_4 | |||
|wcag_pauta=4.1_Compatible | |||
|wcag_pauta_url=Principio_4/4.1_Compatible | |||
|wcag_grupo=Informacion_dinamica | |||
|wcag_subgrupo=Mensajes_de_estado | |||
< | |wcag_discapacidades= | ||
<li class="discapacidad-item"> | |||
[[Archivo:Sinvision.png|20px|class=icon-discapacidad|alt=Discapacidad visual total]] | |||
<span class="discapacidad-texto">[[:Categoría:Discapacidad visual total|Visual total]]</span> – | |||
<span class="gravedad gravedad-grave">Barrera grave</span> | |||
</li> | |||
|wcag_lista_discapacidades= | |||
[[Categoría:Discapacidad visual total]] | |||
|wcag_texto_criterioOAW= | |||
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. | |||
|wcag_descripcion_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, <code>role="status"</code> o <code>role="alert"</code>). | |||
|wcag_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. | |||
</ | |||
</ | |wcag_importancia= | ||
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. | |||
|wcag_referencias= | |||
<ul> | |||
<li><span lang="en">[https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA22 ARIA22: Using role=status to present status messages]</span></li> | |||
<li><span lang="en">[https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA19 ARIA19: Using ARIA role=alert or live regions to identify errors]</span></li> | |||
<li><span lang="en">[https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA23 ARIA23: Using role=log to identify sequential information updates]</span></li> | |||
<li><span lang="en">[https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA18 ARIA18: Using aria-alertdialog to identify errors]</span></li> | |||
<li><span lang="en">[https://www.w3.org/WAI/WCAG21/Techniques/failures/F103 F103: Failure due to providing status messages that cannot be programmatically determined through role or properties]</span></li> | |||
</ul> | |||
Se incluyen también tecnicas de WAI-ARIA: | |||
<ul> | |||
<li><span lang="en">[https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA22 ARIA22: Using role="status" to present status messages]</span></li> | |||
<li><span lang="en">[https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA19 ARIA19: Using ARIA role="alert" or live regions to identify errors]</span></li> | |||
<li><span lang="en">[https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA23 ARIA23: Using role="log" to identify sequential information updates]</span></li> | |||
<li><span lang="en">[https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA18 ARIA18: Using aria-alertdialog to identify errors]</span></li> | |||
<li><span lang="en">[https://www.w3.org/WAI/WCAG21/Techniques/failures/F103 F103: Failure due to providing status messages that cannot be programmatically determined through role or properties]</span></li> | |||
</ul> | |||
|wcag_recursos= | |||
<strong> Consejos </strong> | |||
<ul> | |||
<li>Usar <code>role="status"</code> para notificaciones pasivas</li> | |||
<li>Usar <code>role="alert"</code> para errores inmediatos</li> | |||
<li>Usar <code>role="progressbar"</code> para progreso</li> | |||
<li>Usar <code>aria-live</code> adecuadamente en contenido dinámico</li> | |||
</ul> | |||
|wcag_tipo_evaluacion=Manual | |||
|wcag_pasos_evaluacion= | |||
Usa la herramienta ''' [https://chromewebstore.google.com/detail/web-developer/bfbameneiokkgbdmiekhjnmfkcnldhhm?hl=es Web Developer Toolbar].''' | |||
<ol class="paso-list"> | |||
<li><span class="paso-badge">Paso 1.</span> | |||
Localizar los contenidos que se añaden de manera dinámica a la página y que proporcionan información sobre: | |||
<ul> | |||
<li>a. El éxito o resultado de una acción.</li> | |||
<li>b. El estado de espera de una acción.</li> | |||
<li>c. El progreso de un proceso.</li> | |||
<li>d. La existencia de errores.</li> | |||
</ul> | |||
</li> | |||
<li><span class="paso-badge">Paso 2.</span> | |||
Comprobar que, cuando se actualiza esta información, el componente <strong>no recibe el foco</strong>. | |||
<small>(Si recibe el foco, este criterio no aplica y no se debe seguir comprobando).</small> | |||
</li> | |||
<li><span class="paso-badge">Paso 3.</span> | |||
Comprobar si tiene un rol de WAI-ARIA definido. Para ello, seleccionar <strong>“Information → Display ARIA roles”</strong>. | |||
</li> | |||
<li><span class="paso-badge">Paso 4.</span> | |||
Verificar que el rol es correcto de acuerdo con su función. | |||
</li> | |||
</ol> | |||
|wcag_resultado_evaluacion= | |||
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. | |||
|wcag_ejemplo_evaluacion= | |||
<div class="accessibility-card"> | |||
El lector de pantalla anuncia el cambio sin perder el foco. | |||
<br/> | |||
HTML: | |||
<pre class="wcag-codigo-html"> | |||
<button id="add-btn">Añadir al carrito</button> | |||
<div id="msg" role="status" aria-live="polite"></div> | |||
</pre> | |||
Javascript: | |||
<pre class="wcag-codigo-html"> | |||
document.getElementById('add-btn').addEventListener('click', () => { | |||
document.getElementById('msg').textContent = 'Producto añadido al carrito'; | |||
}); | |||
</pre> | |||
</div> | |||
|wcag_otras_herramientas_evaluacion= | |||
<ul> | |||
<li>'''Inspección del navegador''': verificar que los mensajes de estado (confirmación, error, éxito, información) usan roles ARIA adecuados como <code>role="status"</code>, <code>role="alert"</code>, o atributos como <code>aria-live</code> sin requerir foco para ser detectados.</li> | |||
<li>'''Lectores de pantalla''': (NVDA, JAWS, VoiceOver) comprobar que los mensajes se anuncian automáticamente cuando aparecen, sin mover el foco.</li> | |||
<li>'''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., <code>aria-live="polite"</code> o <code>aria-live="assertive"</code>).</li> | |||
<li>'''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.</li> | |||
</ul> | |||
}} | |||
Revisión actual - 11:13 5 nov 2025
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...
