A form field without a properly associated label, or an error message that only appears visually without being announced to assistive technology, leaves screen reader users unable to tell what a field expects or why their submission failed — a common, high-impact gap since forms are often where a visitor most needs to actually complete something.
Test your form with a screen reader, or check labels in your page’s code
View your form’s page source and check whether each input has a properly associated label element (via a matching “for” and “id” attribute), rather than just placeholder text or a visually nearby label with no code-level connection. A mismatch or absence confirms the underlying problem.
Form label & error announcement repair
Form labels properly associated and errors actually announced to screen readers.
- Full backup taken before we start
- If we can’t fix it, you get your money back
- We never ask for your own password
This or something else?
| Form fields lack properly associated labels, or errors aren’t announced to screen readers | This fix covers it |
| You want terms acceptance logging added to checkout, a different kind of form concern | Terms acceptance logging at checkout, in the Security, Access & Backups bucket’s Privacy category |
| The form itself has a functional bug (not submitting correctly), not an accessibility gap | A different, diagnostic fix — describe the specific functional issue directly |
| You want a broader accessibility audit first, not just forms specifically | Accessibility audit report – WCAG 2.2 AA |
What you are seeing
- Form fields with placeholder text but no properly associated label element
- Validation errors that appear visually but aren’t announced when using a screen reader
- Required fields not clearly indicated to assistive technology
- The issue possibly present across every form on the site if it stems from a shared template
Common causes
- A form builder generating placeholder text instead of a properly coded label element
- Labels present visually but not correctly linked to their input via code
- Error messages inserted dynamically via JavaScript without an accessible announcement mechanism
- A required-field indicator conveyed only through colour or an asterisk with no accessible text equivalent
- A multi-step form losing focus management between steps, so screen reader users aren’t told they’ve actually moved to a new step
What we do
- Review every form on the site (or within the specified scope) for label association
- Correct labels to be properly linked to their inputs in code, not just placeholder text
- Implement accessible error announcement so validation issues are conveyed to screen readers
- Ensure required fields are clearly indicated to assistive technology, not just visually
- Test the corrected forms using an actual screen reader
- Verify form submission still functions correctly after changes
What is included
- Form labels corrected to be properly associated with their inputs
- Accessible error announcement implemented for validation issues
- Required field indication corrected for assistive technology
- The pre-fix backup, kept for 30 days
Not included
- Fixing an underlying functional bug in form submission itself, unrelated to accessibility
- Redesigning the form’s visual layout, beyond accessibility-related label changes
- Broader accessibility issues unrelated to forms specifically
- Ongoing correction as new forms are added, unless using the same corrected template
Questions about this fix
Why isn't placeholder text enough as a label?
Placeholder text disappears once a visitor starts typing, and many screen readers don't reliably announce it as a substitute for a genuine label, which means the field's purpose becomes unclear the moment someone begins filling it in.
How would I know if my form's errors aren't being announced?
Testing directly with a screen reader is the reliable way to confirm this — a sighted user submitting an incomplete form sees the error message appear, with no way to tell whether a screen reader user actually heard anything happen at all.
Will this fix change how my form looks?
Generally not — this corrects the underlying code connecting labels to inputs and implementing accessible error announcements, without needing to change the form's visual design.
Is this likely to affect every form on my site, or just one?
If your forms share a common template or form-building plugin, the same issue often affects all of them consistently — we check across every form within the agreed scope rather than assuming it's isolated.
Could fixing this break my form's actual submission functionality?
We verify functional submission continues working correctly after the accessibility corrections, since the goal is adding proper accessibility without disrupting what already works.
Related fixes
If this is the second time this year
A bad update breaking the site is a symptom of updates not being tested first. Care plans run every update on a staging clone before it reaches your live site, which is the actual fix for this happening again.
Your access, your rules
Create a separate admin account for us and delete it when we are done. For anything else, we get in touch and agree a method — never a form field on this site, never by reply to an email.
We back up first, always
Before anything is touched we take a full backup and keep it for 30 days. If a fix goes wrong, we put the site back exactly as it was.
If it is not what you bought
If the problem turns out smaller than what you ordered, we refund the difference. If it is bigger, we stop and send a quote before doing any extra work.
If we cannot fix it
You get back what we received. Diagnosis is on us — you only pay when the problem is actually solved. The payment processor takes its fee before the money reaches us, so we never hold it and it is not ours to return. That is true here as everywhere else.
If it comes back
Reply within seven days of delivery and we put it back on the bench at no cost. The fix is not finished until it holds.
What we are responsible for
If something goes wrong with a fix, our responsibility is limited to what you paid for it. We take a full backup first so mistakes can be undone, and we tell you before doing anything outside what you bought.