All posts
Web design & development

Accessible Forms: Labels, Errors and Accessible Authentication

Accessible forms that convert: visible labels, clear error messages, autocomplete, no redundant entry and login that works with password managers, per WCAG 2.2.

By Mehdi Hassan7 min read

The short answer

Accessible forms give every field a visible, programmatically linked label, explain formats before people type, show errors in text next to the field and announce them to screen readers, work fully by keyboard, and never make people re-enter data or solve memory puzzles to log in. The same choices remove friction for every visitor, so accessibility and conversion usually point the same way.

Key takeaways

  • Every field needs a visible label tied to it in code; placeholders aren't labels.
  • Errors should say what's wrong and how to fix it, in text, next to the field, and be announced.
  • Autocomplete attributes on name, email and address fields help screen reader users and everyone else.
  • WCAG 2.2 adds redundant entry and accessible authentication: no re-typing, allow paste and password managers.
  • Most form accessibility fixes also cut friction, so they tend to help conversion rather than cost it.

How do you build accessible forms?

You build accessible forms by making every field understandable, operable and recoverable for everyone, including people using screen readers, keyboards, voice control and magnification. Concretely: visible labels linked in code, instructions before input, clear errors in text, full keyboard support, sensible autocomplete, and login and multi-step flows that don't depend on memory. Form accessibility is the part of WCAG that touches conversion most directly.

Forms are where accessibility failures cost the most, because a form is usually the point of the page: a signup, a demo request, a checkout. If someone can't complete it, nothing else on the page matters. For the bigger picture of what the law requires, see our hub on website accessibility compliance, and for every criterion by role, the WCAG 2.2 checklist.

How should form labels work?

Every form field needs a visible label that stays on screen while people type, and that label must be linked to the field in code so screen readers announce it. Use a label element tied to the input, not text that just sits nearby. Placeholder text isn't a label: it disappears on typing, often fails contrast, and isn't announced reliably.

  • Label above the field. It's the easiest pattern to scan, works at zoom and fits longer translations.
  • Group related choices. Radio buttons and checkbox groups need a group label, using a fieldset with a legend, so 'Yes' and 'No' make sense out of context.
  • Mark required fields in text. Write 'required' or explain that all fields are required; don't rely on a red color or a symbol alone.
  • Match visible and accessible names. Voice control users say what they see, so a button that reads 'Get started' shouldn't be named 'submit form' in code.
  • Floating labels need care. If the label shrinks into the field, keep it readable and above contrast minimums.

Label wording is copy work. Short, specific labels and helper text reduce errors for everyone; our guide to microcopy that converts goes deeper on labels, hints and reassurance text.

What makes form instructions and input accessible?

Accessible input means people know what's expected before they type and the browser can help them fill it in. Put format hints, like a date format or password rules, in visible text linked to the field, not in a tooltip or placeholder. And use the right input types and autocomplete attributes so devices offer the right keyboard and saved details.

Field

Input type

Autocomplete value

Full name

text

name

Email

email

email

Phone

tel

tel

Company

text

organization

Street address

text

street-address

Postal code

text

postal-code

New password

password

new-password

Current password

password

current-password

WCAG 1.3.5 expects fields collecting the user's own personal data to expose their purpose, which autocomplete values do, and they're a cheap improvement on any form. They help people with motor and memory impairments most, and they save every visitor typing. Don't disable autocomplete on these fields.

How do you write accessible error messages?

Accessible error messages say exactly what went wrong and how to fix it, appear in text next to the field, and are announced to screen readers when they appear. 'Invalid input' in red under a field fails on several counts. 'Enter an email address like name@company.com' in text, with an icon, linked to the field, passes.

  1. Validate at the right moment

    Check on submit, or when someone leaves a field, not on every keystroke. Errors that appear while people are still typing are confusing and noisy for screen readers.

  2. Show errors next to the field

    Put the message directly below the field, linked to it in code, with an icon and text, not color alone.

  3. Add a summary on long forms

    On submit, show a short list of errors at the top with links to each field, and move focus to it.

  4. Announce the result

    Use a live region or move focus so screen reader users know the form didn't submit and why.

  5. Keep what people typed

    Never clear valid fields when one field fails. Re-typing everything is the fastest way to lose a signup.

  6. Confirm success clearly

    After submitting, show and announce a confirmation that says what happens next.

For forms that create legal or financial commitments, like purchases or account deletion, WCAG also asks that submissions can be reviewed, corrected or reversed. A simple review step before payment covers it.

What do WCAG 2.2's redundant entry and accessible authentication rules mean for forms?

WCAG 2.2 added two criteria aimed directly at forms. Redundant entry (3.3.7, Level A) says people shouldn't have to re-enter information they've already given in the same process. Accessible authentication (3.3.8, Level AA) says logging in shouldn't depend on a cognitive test, like remembering a password or solving a puzzle, unless there's an alternative or help.

  • Carry data forward. In a multi-step form, prefill later steps with earlier answers, or offer a 'same as billing address' option.
  • Allow paste in every field. Blocking paste into password or email confirmation fields fails accessible authentication and frustrates everyone.
  • Support password managers. Use proper autocomplete values on login fields so managers can fill them.
  • Offer a show-password toggle so people can check what they typed.
  • Offer passwordless options. Passkeys, magic links and sign-in with an existing account all avoid memory tests.
  • Replace puzzle CAPTCHAs. Use invisible bot checks or honeypot fields instead of distorted text or image puzzles.

If you're deciding whether to split a long form into steps, redundant entry is one more thing to plan for. Our comparison of multi-step vs single-step forms covers when each converts better.

How do you make forms work with a keyboard?

A form works with a keyboard when people can reach every field and control with Tab, operate it with standard keys, see where focus is and submit without a mouse. Native HTML inputs do most of this for free. Problems usually come from custom dropdowns, date pickers, toggles and file uploads built from generic elements.

  • Use native controls where you can. A styled native select is more accessible than most custom dropdowns.
  • Follow the visual order. Tab order should match the layout, top to bottom and left to right.
  • Show focus clearly. Use a visible focus ring with 3:1 contrast; our guide to accessible design basics covers styling.
  • Size targets properly. Checkboxes, radio buttons and their labels should give at least 24 by 24 CSS pixels of target, and clicking the label should select the option.
  • Let Enter submit. Keep forms inside a real form element with a real submit button.
Where third-party form tools go wrong

Embedded form builders, scheduling widgets and CRM forms are a frequent source of barriers because you don't control their markup. Common problems are labels that aren't linked to fields, error messages that aren't announced, custom dropdowns that can't be opened by keyboard and iframes with no title.

Before adopting one, test it with a keyboard and a screen reader. On a custom-built site, native forms posting to your CRM through an API usually give you more control; our guide to forms and integrations on Next.js marketing sites explains how that works. Whatever you use, make sure submissions actually arrive: see email deliverability for website forms.

Do accessible forms convert better?

Accessible forms tend to convert better because most accessibility fixes remove friction for everyone: clear labels, helpful errors, autocomplete, kept input and no puzzles. We can't give you a universal uplift figure, because it depends on how broken the form was, but the direction is consistent. Measure it on your own site by tracking starts, errors and completions before and after.

Set that up with proper events, as described in conversion tracking for lead-gen websites, so you can see which field causes drop-off. Check whether the field with the worst accessibility problems is also the one where people abandon.

Frequently asked questions

Should required fields use an asterisk?
An asterisk is fine as long as it isn't the only signal. Explain what it means at the top of the form, and make sure the field is also marked as required in code so screen readers announce it. Many forms simply avoid optional fields entirely and say 'all fields are required', which is clearer and shortens the form.
Are inline validation messages accessible?
They can be, if they're timed and announced well. Validate when a person leaves a field or submits, not on every keystroke, and connect the message to the field so screen readers read it. Show success states sparingly. Constant live feedback while typing can be noisy for screen reader users and distracting for people with attention-related disabilities.
Is reCAPTCHA accessible?
Puzzle-based CAPTCHAs that ask users to pick images or type distorted text create barriers for many disabled users, and WCAG 2.2's accessible authentication criterion limits cognitive tests at login. Invisible, score-based bot checks are far better, though they still need a fallback. Honeypot fields and rate limiting stop much spam without asking users to do anything.
How should form fields look in dark mode?
In dark mode, input borders and text still need enough contrast: 3:1 for borders and 4.5:1 for typed and label text. Dark fields on a dark page often lose their edges, so check the outline, focus ring and error colors separately in both themes. Error red and success green usually need different tones on dark backgrounds.

· CEO & Design Director

Copywriter, designer and developer, and founder of Designify Studio. Over five years, 60+ projects across 14+ industries, for startups that have raised $300M+.

Want this done for you? Landing page, $6,000.

One conversion-focused page, designed by us, developed in Next.js and animated. $6,000, one-time, fixed price. Book a free 30-minute call to see if it fits.

Schedule Call