Fallo común WCAG 2.2
F12La sesión caduca y se pierde lo escrito en el formulario
Nombre oficial en el W3C: Fallo del criterio de conformidad 2.2.5 debido a tener un límite de tiempo de sesión sin un mecanismo para guardar los datos introducidos por el usuario y restablecerlos tras la re-autentificación
En pocas palabras
Este error ocurre en zonas privadas que cierran la sesión tras un tiempo sin actividad. La persona rellena un formulario, la sesión caduca y, al volver a entrar, todo lo escrito se ha perdido. La solución es guardar esos datos y recuperarlos cuando vuelva a identificarse.
Por qué es importante
Hay personas que necesitan más tiempo para rellenar un formulario. Por ejemplo, quien usa un lector de pantalla o un pulsador, o quien tiene dificultades de comprensión. También quien tiene que buscar papeles para completar una solicitud de ayudas.
Si la sesión caduca y se pierden los datos, hay que empezar otra vez. Y puede volver a caducar antes de terminar. Así, algunas personas no consiguen enviar el formulario nunca. El criterio 2.2.5 (nivel AAA) pide que no se pierdan los datos al volver a identificarse.
Cómo evitarlo
- Cuando caduque la sesión, guarde en el servidor, de forma segura, lo que la persona había escrito.
- Tras volver a identificarse, llévela a la misma página con el formulario relleno. O procese directamente el envío que estaba pendiente.
- En formularios largos, como una matrícula o una solicitud de subvención, guarde borradores automáticos.
- Avise antes de que caduque la sesión y permita ampliar el tiempo con un botón. Esto ayuda también a cumplir el criterio 2.2.1.
- Proteja los datos guardados igual que el resto de la información personal.
Cómo comprobarlo
- Entre en la zona privada y empiece a rellenar un formulario.
- Deje pasar el tiempo de caducidad de la sesión. Para ir más rápido, borre la cookie de sesión en las herramientas del navegador (F12, pestaña «Aplicación»).
- Envíe el formulario y vuelva a identificarse cuando se lo pida.
- Compruebe que el envío se completa con los datos que había escrito, o que el formulario aparece relleno.
Ver el texto completo del W3C (traducción al español)
Esta es una traducción no oficial al español de la técnica F12 de Techniques for WCAG 2.2, del W3C. Puede contener errores. El único documento oficial y normativo es la versión original en inglés, publicada en el sitio web del W3C.
Aplicabilidad
Sitios que exigen al usuario iniciar sesión para enviar datos y que finalizan la sesión tras un cierto período de inactividad.
Descripción
Los servidores web que exigen autenticación del usuario suelen tener un mecanismo de sesión en el que la sesión caduca tras un período de inactividad del usuario. A veces se hace por motivos de seguridad, para proteger a los usuarios de los que se supone que han dejado su ordenador expuesto en un estado en el que alguien podría hacer algo perjudicial para ellos, como transferir fondos bancarios o realizar una compra no autorizada. Puede que los usuarios con discapacidad sigan en realidad trabajando para completar el formulario, ya que pueden tardar más en completarlo de lo que normalmente cabría esperar. Tras la re-autentificación, si no se restablece el estado de la sesión de los usuarios, incluidos todos los datos que ya habían introducido en el formulario, tendrán que empezar de nuevo. Y para estos usuarios es probable que la sesión vuelva a caducar antes de que puedan completar el formulario. Esto crea una situación en la que un usuario que necesita más tiempo para completar el formulario no podrá completarlo jamás.
Ejemplos
- Un usuario envía un formulario en un sitio con autenticación después de que su sesión haya caducado. Al enviar el formulario, se le pide que inicie sesión de nuevo y después se le lleva a una página de bienvenida general. Los datos no se procesan y tiene que intentarlo otra vez.
- Un usuario envía un formulario en un sitio con autenticación después de que su sesión haya caducado. Al enviar el formulario, se le pide que inicie sesión de nuevo y después se le devuelve a la página en la que estaba justo antes de iniciar sesión, que en este caso contiene el formulario que intentó enviar. Sin embargo, el formulario no está relleno con los datos que acababa de introducir y tiene que volver a introducirlos.
Pruebas
Procedimiento
En un sitio en el que se exige autenticación, se recogen datos del usuario y se finaliza la sesión del usuario tras un período conocido de inactividad:
- Introducir los datos solicitados, pero dejar que la sesión caduque, y después enviar el formulario.
- Cuando se solicite, volver a autenticarse ante el servidor.
- Determinar si la función se realiza utilizando los datos enviados previamente.
Resultados esperados
- Si la comprobación n.º 3 es falsa, el sitio falla el criterio de conformidad.
Cómo lo comprobamos en ADDAW
Este error es uno de los que buscamos en cada auditoría de ADDAW. Se lo entregamos con capturas y la forma de corregirlo.
Basado en la técnica F12 del W3C (WCAG 2.2). Explicación y ejemplos: ADDAW. Traducción no oficial del texto del W3C © W3C, licencia de documentos del W3C. ¿Ha visto un error? Escríbanos.