password-paste-enabled
Los campos de autenticación no deben bloquear el pegado
Comprueba que un campo de contraseña o de código de un solo uso no tenga un manejador de pegado en línea que cancele el pegado, lo cual quitaría el gestor de contraseñas o el portapapeles que evita a los usuarios tener que recordarla o volver a escribirla.
Ámbito de aplicación. Se aplica a cualquier control cuyo token de autocomplete sea current-password, new-password o one-time-code, y a <input type="password"> a menos que su autocomplete nombre otro propósito. Un campo disabled o readonly no acepta entrada que bloquear, y uno fuera del árbol de accesibilidad no está siendo solicitado, así que ninguno de los dos entra en el alcance. Si no encuentra nada por lo que preguntar, devuelve notApplicable, no pass: solo se aplica a lo que su comprobación señala, y no encontrar nada ahí no demuestra que todo esté bien.
Resultado esperado. Un revisor confirma que todavía se puede pegar en el campo. Recordar una contraseña es una prueba de función cognitiva, y 3.3.8 pide un mecanismo que ayude al usuario a superarla; un gestor de contraseñas, o el portapapeles para un código de un solo uso, es ese mecanismo.
Qué informa un hallazgo.
handler: el valor del atributoonpastedel campo, con los espacios colapsados. Solo cancela el pegado (PASTE_CANCELLED) o llama a otro script que puede hacerlo o no (PASTE_HANDLER_OPAQUE).
Estos campos de data.details ayudan a leer y reproducir un hallazgo. Salvo reasonCode y los pocos campos que Esquema de salida indica como estables, no son un contrato estable: un campo puede cambiar de nombre o desaparecer en una versión menor, así que no construyas sobre ellos.
Ejemplos
<label for="p">Password</label><input type="password" id="p" onpaste="return false">
El manejador en línea cancela el pegado por completo, bloqueando un gestor de contraseñas o un código de un solo uso copiado.
<label for="p">Password</label><input type="password" id="p" autocomplete="current-password">
No hay ningún manejador de pegado adjunto.
Cómo comprobarlo
Cuando esta regla no puede decidir, informa cantTell y deja la pregunta a una persona. Cada pregunta que puede plantear aparece aquí bajo su código de motivo, con los pasos para responderla. Un hallazgo lleva los mismos pasos en howToCheck, en el idioma del análisis. Consulta Esquema de salida.
PASTE_CANCELLED
- Copiar al portapapeles una contraseña o un código de prueba.
- Hacer clic en el campo que indica el informe y pegar (Ctrl+V o Cmd+V, o el menú contextual).
- Si el campo está dividido en casillas para un código de un solo uso, comprobar si las cifras se reparten entre ellas.
- Probar también a rellenar el campo con el gestor de contraseñas del navegador.
- Si ambos están bloqueados, comprobar si el mismo paso de inicio de sesión ofrece otra forma de entrar que no exija recordar ni teclear, como una clave de acceso o un enlace enviado por correo. Solo cuenta si funciona y se puede usar con el teclado.
Se cumple. El valor pegado o autocompletado aparece en el campo, o el mismo paso ofrece una forma de entrar que funciona y no exige recordar ni teclear.
No se cumple. El pegado y el relleno del gestor de contraseñas están bloqueados y no se ofrece otra forma de entrar, así que el usuario debe recordar y teclear el valor, lo que incumple WCAG 3.3.8.
PASTE_HANDLER_OPAQUE
- Copiar al portapapeles una contraseña o un código de prueba.
- Hacer clic en el campo que indica el informe y pegar (Ctrl+V o Cmd+V, o el menú contextual).
- Comprobar que el valor completo llega al campo (en las casillas de código divididas, repartido entre ellas) y que ningún mensaje dice que no se permite pegar.
- Probar también a rellenar el campo con el gestor de contraseñas del navegador.
- Si ambos están bloqueados, comprobar si el mismo paso de inicio de sesión ofrece otra forma de entrar que no exija recordar ni teclear, como una clave de acceso o un enlace enviado por correo. Solo cuenta si funciona y se puede usar con el teclado.
Se cumple. El valor pegado o autocompletado aparece completo en el campo, o el mismo paso ofrece una forma de entrar que funciona y no exige recordar ni teclear.
No se cumple. El pegado o el autocompletado están bloqueados o el valor se recorta o se borra, y no se ofrece otra forma de entrar, así que el usuario debe teclearlo de memoria, lo que incumple WCAG 3.3.8.