Principio 2/2.2 Tiempo Suficiente/2.2.2-B

De WCAG Wiki

2.2.2-B. Actualizaciones parciales automáticas

Discapacidades afectadas

Este criterio puede afectar a distintas personas con discapacidad. A continuación se indican las más relevantes.

Enunciado del criterio (Observatorio de Accesibilidad Web)

  • Las actualizaciones parciales del contenido que se realizan de forma automática (por ejemplo, tickers de noticias o actualizaciones dinámicas) deben disponer de un mecanismo que permita a los usuarios pausarlas, detenerlas u ocultarlas, o bien controlar la frecuencia de la actualización.

Comprensión del criterio

Descripción resumida

Los elementos que actualizan información automáticamente deben ofrecer controles claros para pausar, detener u ocultar los cambios o modificar su frecuencia.

Objetivo

Permitir que las personas mantengan el foco y puedan leer o interactuar sin interrupciones causadas por actualizaciones automáticas de partes de la página.

Importancia de cumplir el criterio

El contenido dinámico que cambia sin control puede distraer, provocar pérdida de contexto y afectar la comprensión, especialmente para personas con discapacidad cognitiva o visual.

Referencias WCAG

Recursos de apoyo

Evaluación del criterio

Tipo de evaluación

Evaluación Semiautomática

Procedimiento de evaluación

  1. Identificar contenido que se actualiza automáticamente sin recargar la página.
  2. Verificar si los cambios ocurren sin intervención del usuario.
  3. Comprobar la existencia de un control para pausar, detener u ocultar la actualización o ajustar su frecuencia.
  4. Validar acceso al control mediante teclado y lector de pantalla.
  5. Comprobar que la actualización respeta prefers-reduced-motion y no interrumpe el foco.

Resultado esperado

El usuario puede pausar, detener u ocultar las actualizaciones parciales o ajustar su frecuencia.

Ejemplo ilustrativo

✅ Accesible

<div id="ticker">Última hora: Primera convocatoria abierta.</div>
<button id="pause">Pausar</button>
<script>
let paused = false;
let interval = setInterval(()=>{if(!paused) ticker.textContent="Actualización: "+Date()},4000);
pause.onclick=()=>{paused=!paused;pause.textContent=paused?"Reanudar":"Pausar";}
</script>

❌ No accesible

<div id="news"></div>
<script>
setInterval(()=>news.textContent="Nueva noticia",4000);
</script>


Otras herramientas de evaluación

  • DevTools: inspección del DOM y timers
  • AXE, WAVE, Accessibility Insights
  • JAWS, NVDA, VoiceOver
  • Preferencias del sistema: prefers-reduced-motion










Ejemplos accesibles y no accesibles creados por alumnos

<!DOCTYPE html> Formulario de Reserva - NO Accesible 3.3.2-C

⚠️ PROBLEMA 3.3.2-C: Este formulario NO tiene etiquetas ni instrucciones claras

Reserva de Hotel

⚠️ Problemas de este formulario:
  • No hay etiquetas <label> para ningún campo
  • Algunos placeholders son ambiguos ("Código" - ¿qué código?)
  • No se indica qué campos son obligatorios
  • No hay instrucciones sobre el formato esperado
  • El select dice "Selecciona" pero ¿seleccionar qué?
  • Un campo no tiene ni placeholder ni etiqueta (campo de email)
  • No hay indicación de formato de fecha específico
  • No se explica para qué sirve cada campo

<!DOCTYPE html> Formulario de Reserva - ACCESIBLE 3.3.2-C

✅ ACCESIBLE 3.3.2-C: Este formulario tiene etiquetas e instrucciones claras

Reserva de Hotel

Complete el siguiente formulario para reservar su estadía

Nota: Los campos marcados con * son obligatorios

Ingrese su nombre tal como aparece en su documento de identidad

Enviaremos la confirmación de reserva a este correo

Incluya el código de país (Ej: +34 para España)

¿Cuántas personas se alojarán?

Formato: DD/MM/AAAA (Ej: 15/02/2025)

Formato: DD/MM/AAAA (Ej: 20/02/2025)

Seleccione el tipo de habitación que prefiere

Si tiene un código promocional, ingréselo aquí

Indique cualquier necesidad especial o preferencia (cama extra, piso bajo, accesibilidad, etc.)

✅ Implementación correcta:
  • Cada campo tiene una etiqueta <label> clara asociada
  • Los campos obligatorios están claramente marcados con *
  • Hay instrucciones específicas sobre formato y contenido esperado
  • Los selectores tienen opciones descriptivas, no ambiguas
  • Se explica el propósito de cada campo cuando no es obvio
  • Se proporcionan ejemplos en los placeholders
  • Hay una nota inicial explicando la convención de campos obligatorios
  • Se usan atributos ARIA apropiados (aria-required, aria-describedby)

Comentarios

A continuación se muestran comentarios sobre el criterio 2.2.2-B. Actualizaciones parciales automáticas

Loading comments...