All WCAG rules
WCAG 1.3.5Level AAWarningForms

How to fix: Common inputs missing autocomplete

Inputs that collect a user's own personal data, name, email, phone, address, city, state, ZIP, country, should carry the matching autocomplete token (for example autocomplete="email" or autocomplete="tel") so browsers and assistive tech can identify and autofill the field.

What it is

The autocomplete attribute names the purpose of a form field using a fixed vocabulary of tokens defined in the HTML spec, such as name, given-name, family-name, email, tel, street-address, address-level2 (city), address-level1 (state/region), postal-code, and country-name. WCAG Success Criterion 1.3.5 Identify Input Purpose requires that when a field collects information about the user, its purpose be programmatically determinable, and these tokens are how you declare it.

Two things use that declared purpose. Browsers and password managers use it to autofill the field accurately, so the user does not retype their email or address on every site. And assistive technology, including tools that swap in familiar icons or simplified language for a field, uses it to present the input in a way the user already understands. A field whose purpose is only implied by a visible label or a placeholder is not programmatically identified.

Adding the attribute does not change how the field looks or behaves for people who type manually; it simply attaches a machine-readable purpose. Note this is separate from labeling: a field can have a perfectly good <label> and still fail SC 1.3.5 because the label tells humans what to type while autocomplete tells software what the field is for.

Who it affects & why it matters

People with motor disabilities and anyone who finds typing slow, painful, or error-prone benefit most, because correct autocomplete lets the browser or password manager fill the field instead of forcing manual entry on every form. It also helps people with cognitive disabilities and memory limitations who struggle to recall details like a full postal address.

Users of assistive tools that re-present fields with familiar symbols or plain language rely on the declared purpose to do that substitution, and even users without disabilities get faster, lower-friction checkouts and sign-ups, which reduces form abandonment for everyone.

Missing autocomplete on personal-data fields is a Level AA failure under SC 1.3.5, and Level AA is the conformance tier courts and the U.S. Department of Justice point to when applying the ADA to websites. Because the criterion is automatically testable, it is the kind of issue an auditor or a plaintiff's tool can document at scale across your forms.

It is also low-risk, high-leverage to fix: you are adding one attribute per field on the forms where conversions happen, so closing the gap improves real-world completion rates while clearing a documented Level AA item from any audit or demand letter. With accessibility lawsuits climbing year over year and most targeting businesses under $25 million in revenue, removing automatically-detectable failures is an easy win.

How to fix it

  1. List the text-like inputs on each form (you can ignore hidden, submit, button, checkbox, and radio inputs).
  2. Identify which fields collect the user's own data: name, first or last name, email, phone, address, city, state, ZIP, country.
  3. Add the matching token from the HTML autocomplete vocabulary, for example email to email, phone to tel, ZIP to postal-code, city to address-level2, and state to address-level1.
  4. Use the standard token spelling exactly; a guessed or misspelled value will not be recognized by browsers or assistive tech.
  5. Keep the field's real <label> as well, because labeling and identifying input purpose are separate requirements.
  6. Re-scan and test that your browser now offers to autofill the fields you tagged.
Before
<label for="email">Email</label>
<input type="email" id="email" name="email">

<label for="zip">ZIP code</label>
<input type="text" id="zip" name="zip">
After
<label for="email">Email</label>
<input type="email" id="email" name="email" autocomplete="email">

<label for="zip">ZIP code</label>
<input type="text" id="zip" name="zip" autocomplete="postal-code">

How AccessKnight detects this

AccessKnight selects text-like inputs, excluding hidden, submit, button, checkbox, and radio types, and skips any input that already has an autocomplete attribute. For the rest, it combines the field's name, id, and placeholder into one lowercase string (stripping underscores, hyphens, and brackets) and checks it against a dictionary of known personal-data hints, name, first/last name, email, phone/telephone, address, city, state, zip/zipcode, and country. When a hint matches, it flags the field and recommends the matching token, for example email maps to email, phone maps to tel, zip maps to postal-code, city maps to address-level2, and state maps to address-level1.

Frequently asked questions

Is missing autocomplete a Level A or AA issue?

It falls under WCAG 2.1 Success Criterion 1.3.5 Identify Input Purpose, which is Level AA. Level AA is the benchmark courts and regulators generally treat as the ADA standard, so AccessKnight reports it as a warning-severity item worth fixing.

Which autocomplete value should each field use?

Use the standard HTML tokens: email for an email field, tel for a phone number, postal-code for a ZIP, address-level2 for a city, address-level1 for a state or region, street-address for a street address, given-name and family-name for first and last name, name for a full name, and country-name for a country.

Does autocomplete replace a form label?

No. They solve different problems. A <label> gives the field a human-readable, screen-reader-announced name, which is required by SC 1.3.1. autocomplete declares the field's machine-readable purpose for autofill and assistive tools, which is required by SC 1.3.5. A field needs both, so keep your labels and add the token.

Should I add autocomplete to a search box or a CAPTCHA?

No. SC 1.3.5 applies to fields collecting information about the user, such as their name or contact details. A site search box, a one-time CAPTCHA answer, or a quantity selector is not personal user data, so it does not need an autocomplete token, and forcing an autofill there can be unhelpful.

Is this issue on your site?

AccessKnight scans any page against all 30 WCAG 2.1 rules — including this one — and shows every instance with a fix. Free, no credit card.

Scan my site free →

More WCAG fixes