What the person is doing
The user is registering, setting an initial password, resetting a forgotten password, changing a compromised password, or replacing a password after an account-security event.
Application · lesson 20 of 34 · Input And Data Entry
Underlying principle: An input pattern carries a question, an expected answer, and a consequence. Visible labels, suitable controls, tolerant entry, and specific recovery keep that agreement clear.
Support generated and pasted passwords, explain a small set of real acceptance rules, reject commonly used or compromised secrets with correction reasons, avoid arbitrary composition and rotation rules, and protect the accepted password like a secret throughout setup and reset.
An input pattern carries a question, an expected answer, and a consequence. Visible labels, suitable controls, tolerant entry, and specific recovery keep that agreement clear.
The user is registering, setting an initial password, resetting a forgotten password, changing a compromised password, or replacing a password after an account-security event.
Support generated and pasted passwords, explain a small set of real acceptance rules, reject commonly used or compromised secrets with correction reasons, avoid arbitrary composition and rotation rules, and protect the accepted password like a secret throughout setup and reset.
Too-short state with the entered value preserved and a field-level length message.
Is the user creating a new reusable secret, or entering an existing one?
Typing, paste, autofill, password-manager generation, deletion, and selection follow native input behavior.
The user is registering, setting an initial password, resetting a forgotten password, changing a compromised password, or replacing a password after an account-security event.
The full lab is intentionally loaded on request. That keeps this reading page fast while preserving the strong and weak states, keyboard checks, and failure scenarios.
The user is registering, setting an initial password, resetting a forgotten password, changing a compromised password, or replacing a password after an account-security event.
Support generated and pasted passwords, explain a small set of real acceptance rules, reject commonly used or compromised secrets with correction reasons, avoid arbitrary composition and rotation rules, and protect the accepted password like a secret throughout setup and reset.
Too-short state with the entered value preserved and a field-level length message.
Users choose predictable variants because the UI rewards character classes rather than rejecting known weak values.
Use a visible label that says New password or Create a password rather than only Password when the user is choosing a new value.
GOV.UK Design System - checked
GOV.UK supports strong unique passwords, paste support, clear restrictions, minimum length, no maximum length, common-password rejection, no periodic changes, no reset questions, no reminders, and no emailed passwords.
National Institute of Standards and Technology - checked
NIST supports blocklist rejection, length requirements, no composition rules, printable and Unicode characters, password-manager and paste support, display option, protected channels, and salted hashing.
OWASP Cheat Sheet Series - checked
OWASP supports length controls, no silent truncation, all characters, no composition rules, strength meters, breached-password blocking, and avoiding periodic changes.
Microsoft Learn - checked
Microsoft supports banned password checks during password change or reset, weak-variant detection, custom organization terms, and MFA as additional protection.
Dropbox - checked
Dropbox zxcvbn supports estimating guessability and returning warnings and suggestions instead of relying on simple character-class checklists.
Have I Been Pwned - checked
Have I Been Pwned supports breached-password checking through a k-anonymity range API.
MDN Web Docs - checked
MDN supports new-password for creation and change flows, current-password for existing secrets, and one-time-code for short-lived codes.
Source trail checked: