Trust

Every form field has a label

trust.unlabelled-form-fields

Why this matters

A field whose only description is grey text inside the box loses that description the moment somebody starts typing. Anybody who is interrupted half way down a form comes back to a column of filled-in boxes with nothing saying what each one held, and a screen reader announces most of them as "edit text" and nothing else. A visible label also gives the field a bigger target, because tapping a label focuses the box it belongs to.

Who fixes it

You can, usually

Roughly how long

1–2 hours

Care needed

Low risk to change

How to fix it

Give each field a visible `<label>` with a `for` attribute matching the field's id, and keep the placeholder for an example rather than for the name of the field. Where the design genuinely has no room for a visible label, `aria-label` on the field is an acceptable second best — but a visible one is better for everybody, not only for screen reader users.

On your platform

WordPress

In WPForms and Gravity Forms every field has a Label, and an option to hide it — that option is what usually causes this, because a designer turned it off and used the placeholder instead. Turn it back on. In Contact Form 7 you write the markup, so wrap the field tag in a `<label>`.

Shopify

The theme's contact form section, in Edit code. Shopify's checkout is labelled correctly and is not yours to change, so this is always a theme form or an app form.

Drupal

Webform gives every element a Title and a Title display setting; set to Invisible it produces exactly this finding. Changing it back to Above is usually the whole fix.

Joomla

The forms extension's per-field label and its show/hide switch. Joomla's own contact form labels its fields, so this is nearly always an extension.

How we score it

Failing this check takes up to 12 points off your trust score. It is a fact about your site rather than a measurement, so it reads the same on every scan until you change something.

Does your site pass this one?

This check runs on every scan, along with the other 106. Free, no account, and you see the evidence for each result.

Check my site

Other trust checks

See all 107 checks