About this set
The forgotten-password screen and the confirmation that follows it. The form has a back-to-sign-in link, a heading, an email field and a Send reset link button. When it is submitted, a short script hides the form and shows the confirmation: a green tick, Check your inbox, a note that the link works once and expires in 60 minutes, and a grey box explaining that the page never says whether an address is registered, because that would let anyone test which emails have accounts. Use it as the target of every Forgot password link. The confirmation wording is deliberately the same whether or not the address exists; keep your server’s response identical too. The script moves focus to the confirmation heading, which has tabindex=”-1″, so screen readers announce the new state instead of staying on a form that has disappeared. The expiry time is copy; set it to whatever your server enforces. The Bootstrap version uses .card, .form-control and .btn, and the Tailwind version the same markup with utilities.
What’s included
- Request form and sent confirmation in one card
- Wording that does not reveal whether an account exists
- Focus moves to the confirmation heading after submit
- Back to sign in link with an arrow icon
- Native email validation before the swap runs
Accessibility
The email field has a visible label and autocomplete="email". The confirmation is swapped in with the hidden attribute and receives focus on its heading, so the change is announced. Links, the field and the button show a 2px outline or a brand ring on focus, and transitions switch off under prefers-reduced-motion.
Customise it
Colours are --lf-brand, --lf-ok, --lf-edge and --lf-bg on .lf (plain CSS and Bootstrap) or --color-brand, --color-ok and the other theme values (Tailwind). Edit the expiry sentence to match your token lifetime.




















