WCAG A · 4.1.2Checked on every planEU · US

Form fields have no label

Do form fields need a visible label?

Short answer

Yes. Every form field needs a name a screen reader can read out (WCAG 4.1.2). A visible label is the simplest way. Placeholder text alone is not a label.

Why it matters

A screen reader announces an unlabelled field as just “edit text” or “combo box”. Shoppers can’t tell the email field from the discount code field. WebAIM’s 2026 study found missing labels on 51% of a million home pages.

How to fix it

Shopify

  1. Go to Online Store, Themes, then the three dots and Edit code, and open the section with the form (often footer or newsletter).
  2. Make sure each input has a <label for="…"> that matches its id; a “visually-hidden” class can hide it if the design needs to.
  3. Forms from apps (email popups, reviews) are fixed in the app’s own settings or by its support team.

WooCommerce

  1. Checkout and account fields have labels by default; check that your theme or a plugin hasn’t hidden them.
  2. In page builders such as Elementor, turn the field “Label” setting back on rather than using placeholders only.
  3. Newsletter plugins usually have a “show labels” option; switch it on.

In the code

  1. Add a visible <label for="…"> for each field.
  2. If a visible label is impossible, add aria-label with the field’s purpose.

Automated tools check that a name exists, not that it is clear. A field labelled “Field 1” passes the rule. Only a person can judge whether the label tells shoppers what to enter.

The standard behind this rule