Asumamos el siguiente flujo de trabajo para iniciar sesión
a) En un dispositivo con teclado:
- escribo mi nombre de usuario y contraseña
- presiona enter
- [realización] hice un error tipográfico
- El campo de contraseña se borra: no es un gran problema , puedo escribir razonablemente rápido
b) En un dispositivo con pantalla táctil
- escribo mi nombre de usuario y contraseña
- Presiona "iniciar sesión"
- [realización] Mi contraseña es "password2013", no "password2012"
- Se borra el campo de contraseña: ahora estamos hablando : prefiero tener mis valores * * * * * para poder corregir un solo carácter en lugar de escribir la contraseña completa de nuevo, en algunas ocasiones incluso mi el nombre de usuario se borra, lo que es una completa pérdida de tiempo
Algunas preguntas aquí:
- ¿Es un punto de experiencia de usuario válido para tener asteriscos retenidos en el campo de contraseña?
- ¿Hay alguna razón para borrar los valores del campo o es simplemente una pereza no devolverlos después del viaje de ida y vuelta al servidor?
- Al utilizar formularios AJAX, ¿conservaría o borraría los valores?
- ¿Tiene sentido utilizar un enfoque híbrido: conservar los valores y borrarlos después de un tiempo de espera arbitrario?
¿Existe un riesgo de seguridad al dejar la contraseña como * * * * *?
Dejo mi computadora, el atacante ve mi pestaña abierta y puedo recuperar mi contraseña mal escrita: enlace PERO [la lógica entra en juego ] si un atacante tiene acceso a mi computadora, hay formas más eficientes de dañarme que de buscar la contraseña incorrecta :)
Ejemplos existentes:
- Pantalla de inicio de sesión de Windows 7: la contraseña se borra
- Pantalla de inicio de sesión de Mac OS X: la contraseña se conserva
¿Se debe borrar el campo de la contraseña después de un intento fallido de inicio de sesión?