Skip to main content

WordPress fix guide

Fix Missing form labels on WordPress

Placeholder text is not a substitute for labels.

This page ties the generic issue to how it usually shows up in WordPress markup and tooling, then walks you through a fix and verification loop.

Verify on a live URL

Scan, fix, deploy, then rescan the same address to compare reports.

Main issue guide: Missing form labels

At a glance

Instructional

Programmatic label association

Screen readers announce the label; placeholders alone are fragile.

Where this comes from on WordPress

Usually the theme, a form plugin (Contact Form 7, Gravity Forms, WPForms), or block markup—placeholder-only patterns are common.

What this issue means

What this issue is

Every input needs an accessible name, usually via `<label for>` wrapping, or `aria-label` when design constraints require it.

Fixes

Prefer visible labels. If space is tight, use persistent labels or aria-labelledby pointing to visible text.

How to fix on WordPress

Contact Form 7 and Gravity Forms need correct field settings; avoid placeholder-only UX.

How to fix

Associate every input with a visible label, aria-labelledby, or aria-label when design constraints require it.

Surface errors next to fields and link them with aria-describedby.

Common mistakes on WordPress

  • Relying on placeholder alone.
  • Label `for` not matching input `id` after builder edits.
  • Fixing only one page while the pattern lives in a shared template.
  • Caching plugins serving old HTML after fixes.

How to verify the fix

  1. In wp-admin, open the page on the front-end; use keyboard only through the fixed region.
  2. If you use a builder, re-publish/clear cache so changes appear.
  3. Rerun the public scan on the same URL and compare the report link.

Related: 3.3.2 Labels or Instructions.

Same issue on other platforms

Guides

Next steps

TestAccessibility · WordPress fix · localhost:3001