How AnyForm Reads a Form (Not Just the Field Labels)

August 7, 2026

How AnyForm Reads a Form (Not Just the Field Labels)

The Problem With Label-Only Autofill

Most autofill tools work off one thing: the <label> tag next to a field. That’s fine when forms are built cleanly. Most aren’t.

A field might have no <label> at all — just a placeholder that disappears the second you click in. It might be a custom dropdown built out of <div>s with no real form markup. It might be labeled “Field 3” because the actual description lives in a paragraph two lines above it. Label-only tools stall out on all of these. They either skip the field or guess wrong.

What AnyForm Actually Looks At

AnyForm doesn’t stop at the label. When it reads a form, it works through a list of signals, in order, until one gives a real answer:

  • The label, if there is a proper one (<label for> or a wrapping <label>)
  • ARIA attributes (aria-label, aria-labelledby, aria-describedby) — filtered so generic junk like “input” or “button” doesn’t get treated as a real label
  • Placeholder text, when that’s the only hint a field gives
  • Nearby text — text sitting right next to or above a field, even if it’s not technically tied to it in the HTML
  • The surrounding page — the page title, headings, and visible text around the form, so a field on a “Business Inquiry” page and one on a “Job Application” page get read differently even if they’re both just called “Name”

It also adjusts for how the form was actually built — forms made with component libraries like Material UI render differently under the hood than plain HTML forms, so AnyForm reads them with a strategy suited to that framework instead of one generic pass.

Why This Matters in Practice

None of this is about being clever for its own sake. It’s about the forms that actually break autofill tools: dropdowns with no label, multi-step forms where a field only appears after you make an earlier choice, custom-styled inputs that don’t look like a normal text box to a script.

When a field is disabled or hidden and only shows up after a previous answer, AnyForm re-scans after that fill lands, catches the newly visible fields, and fills those too — instead of stopping at the first messy field like a lot of tools do.

The Short Version

A label tells you what a field is called. It doesn’t always tell you what a field actually wants. AnyForm reads both — the field and the page it’s sitting on — so it can fill in forms that don’t play by the rules.

Try AnyForm on your next form →