2.2.6 Tiempos de espera
Criterio de éxito oficial
Se advierte a los usuarios sobre la duración de cualquier inactividad del usuario que podría causar pérdida de datos, a menos que los datos se conserven durante más de 20 horas cuando el usuario no realiza ninguna acción.
Nota sobre privacidad
Cuando los datos del usuario deben conservarse para cumplir este criterio, hay que asegurarse de que esta práctica esté alineada con la normativa de privacidad aplicable (como el RGPD) y se comunique adecuadamente en la política de privacidad.
Alcance del criterio
Solo aplica cuando la inactividad puede causar pérdida de datos que el usuario haya introducido. No aplica a contenido público sin entrada de usuario, ni a sesiones donde los datos se conservan automáticamente más de 20 horas.
¿Qué es?
Este criterio, añadido en WCAG 2.1, requiere que el usuario sea informado de cuánto tiempo de inactividad puede producirse antes de que se pierdan sus datos. La advertencia debe hacerse antes de que el usuario comience a introducir datos, no justo antes de que expire el tiempo.
El umbral de las 20 horas
Si el sitio conserva los datos del usuario durante más de 20 horas sin actividad, queda exento del requisito de advertir. Si los datos se pierden antes de ese tiempo, hay que informar al usuario al inicio de la tarea.
Contextos comunes donde aplica este criterio: formularios de solicitud extensos, procesos de pago en varios pasos, sistemas de gestión de contenido, herramientas de edición de documentos en línea y cualquier aplicación con sesión autenticada.
2.2.1 vs. 2.2.6: ¿en qué se diferencian?
¿Por qué es importante?
Las personas con discapacidad pueden necesitar pausas frecuentes, descansos más largos o interrupciones mientras completan tareas complejas. Sin la información sobre el tiempo disponible, pueden comenzar a rellenar un formulario extenso sin saber que sus datos podrían perderse si hacen una pausa de media hora.
Buena práctica: aviso al inicio del formulario
¿Quién se ve afectado?
Personas con baja visión: El uso de lupa de pantalla o lector de pantalla ralentiza considerablemente el proceso de rellenado de formularios, aumentando el tiempo de inactividad aparente.
Personas con fatiga cognitiva: Pueden necesitar pausas frecuentes para descansar entre secciones. Sin aviso previo, pueden perder todo el trabajo realizado.
Personas con dolor crónico: Puede ser necesario detenerse a mitad de una tarea debido al dolor. Saber de antemano cuánto tiempo tienen les ayuda a planificar y completar la tarea con éxito.
Cómo implementar 2.2.6
Tres enfoques posibles
Conservar datos más de 20 horas
Guarda automáticamente el progreso del usuario y mantenlo disponible durante al menos 20 horas de inactividad. No necesitas advertir al usuario.
Advertir antes de empezar
Muestra un aviso prominente al inicio de la tarea indicando cuánto tiempo de inactividad está permitido antes de perder los datos.
Sin timeout de sesión
Elimina completamente el timeout de inactividad. Los datos se conservan indefinidamente hasta que el usuario envía o abandona explícitamente.
Cómo conservar los datos
Implementa autoguardado periódico que almacene el estado del formulario en el servidor. Al retomar la sesión, carga el estado guardado automáticamente. Informa al usuario que su progreso está siendo guardado.
Cómo notificar correctamente
La advertencia debe ser visible, accesible y mostrarse antes de que el usuario comience a introducir datos. No es suficiente mostrarla justo cuando el tiempo está a punto de expirar.
Ejemplos prácticos
Correcto Formulario con autoguardado
Un formulario de solicitud de ayuda social guarda el progreso automáticamente cada 5 minutos y mantiene los datos disponibles durante 7 días. El usuario puede completarlo en varias sesiones sin presión de tiempo.
Correcto Aviso claro al inicio
Un servicio de tramitación administrativa muestra al inicio de cada formulario: «Esta sesión expira tras 20 minutos de inactividad. Tenga todos los documentos necesarios a mano antes de comenzar.» El aviso es visible y está antes del primer campo.
Fallo Timeout sin aviso previo
Una plataforma de gestión de recursos humanos expira la sesión tras 15 minutos de inactividad y borra los cambios no guardados, sin informar de este límite al inicio de ningún formulario.
Técnicas recomendadas
| Código | Técnica | Tipo |
|---|---|---|
| G180 | Proporcionar al usuario la opción de establecer el límite de tiempo a diez veces el predeterminado | Suficiente |
| SCR16 | Script que advierte al usuario que un límite de tiempo está a punto de expirar | Suficiente |
| G133 | Proporcionar una casilla de verificación en la parte superior de una página para solicitar un tiempo de espera mayor | Suficiente |