Key takeaways
- Every field needs a persistent label, a useful name and a clear purpose.
- Validate at a moment when the message can help, then move focus to an error summary after submission.
- Preserve entered data and describe both the problem and the fix.
- Measure completion by field and test with keyboards, screen readers, zoom and autofill.
A form is a conversation with strict syntax. When the interface hides the question, rejects an answer without explanation or erases progress, people leave. The same failures are more severe for somebody using a screen reader, voice input, magnification or only a keyboard.
Accessibility and conversion are aligned here: reduce uncertainty, reduce effort and help the person recover from mistakes.
Use a visible label for every control
A placeholder is an example inside a field, not its name. It disappears during typing and can force somebody to delete their answer to remember the question. Keep a concise label visible and connect it to the input programmatically.
- Put instructions and format examples beside the field before the person needs them.
- Mark optional fields explicitly when most fields are required, or required fields when most are optional.
- Use the appropriate input type and autocomplete value so mobile keyboards and password managers can help.
- Do not block paste in password, email, card or verification-code fields.
Ask only what this step needs
For each field, name the decision or operation that uses the answer. If there is none, remove it. Information that is useful later can often be requested after signup, when the person understands the value of completing a profile.
Be careful with assumptions hidden in field design. A single “Full name” field is often more inclusive than forcing every culture into first and last name. Address formats vary by country. Phone numbers need country context. Test with the actual markets the service supports.
Choose validation timing deliberately
Do not show an error while somebody is still typing the first character. For format checks, validate after the field loses focus or on submission. For availability checks such as a username, wait until the input is plausible and announce the result without unexpectedly moving focus.
When submission fails, place a summary above the form, move keyboard focus to it and link each message to the relevant field. Keep an inline message beside the field as well. Colour can reinforce the state, but text or an icon must communicate it too.
| Weak message | Useful message |
|---|---|
| Invalid input | Enter an email address in the format name@example.com |
| Password error | Use at least 12 characters |
| Required | Enter the delivery postcode |
| Something went wrong | We could not save your application. Your answers are still here; try again. |
Preserve work and make recovery safe
Never clear valid fields because one answer failed. For a long application, save a draft or warn before the session expires. If the server rejects a submission, distinguish a correctable field error from a service outage and tell the person whether their request was received.
Keyboard and screen-reader checks
- Complete the form using Tab, Shift+Tab, arrow keys, Space and Enter without touching a mouse.
- Check that focus order follows the visual order and that a visible focus indicator never disappears behind sticky content.
- At 200% and 400% zoom, confirm labels, messages and the submit action remain usable without two-dimensional scrolling.
- With a screen reader, confirm each control announces its label, requirement, hint and error once, in a sensible order.
- Test browser autofill and password-manager behaviour on a real phone as well as desktop.
Measure the right drop-off
Track which field people last interacted with before leaving, how often validation fails and whether completion differs by device. Avoid recording sensitive field values in analytics or session-replay tools. A high error rate on one question is evidence to rewrite or remove it, not evidence that users need a sterner message.
Sources and further reading
- Forms Tutorial: Labeling Controls — W3C Web Accessibility Initiative
- Forms Tutorial: User Notifications — W3C Web Accessibility Initiative
- WCAG 2.2: Error Identification — W3C
Written by the Prestigious Software team
We design, build and run web platforms, SaaS products and mobile apps. About us
Our team reviews each article. Claims based on standards or research link to primary sources; examples are illustrative unless identified as client work.



