Skip to content

Error - Missing Form Label

  • WAVE Category: Error
  • WAVE Error: Missing Form Label

Page Content Status

  • WAVE Error guidance text
  • Example of a DOM Snippet Generated From WAVE Tool
  • Project Team Error guidance
    • Project Team Page Details
    • Project Team Issue and PR details
    • Project Team Solution
  • Credits/Authors

WAVE Error guidance

WAVE Tool's Reference material on Missing Form Label may not specifically address your problem. We provide it here for optional reading.

Click to see WAVE Tool Reference

This content added 2026-02-26. Check for updated guidance at: https://wave.webaim.org/api/docs?format=html#label_missing

WAVE Category

Error

WAVE Error

Missing form label

What It Means

A form control does not have a corresponding label.

Why It Matters

If a form control does not have a properly associated text label, the function or purpose of that form control may not be presented to screen reader users. Form labels also provide visible descriptions and larger clickable targets for form controls.

What To Do

If a text label for a form control is visible, use the <label> element to associate it with its respective form control. If there is no visible label, either provide an associated label, add a descriptive title attribute to the form control, or reference the label(s) using aria-labelledby. Labels are not required for image, submit, reset, button, or hidden form controls.

The Algorithm... in English

An <input> (except types of image, submit, reset, button, or hidden), <select>, or <textarea> does not have a properly associated label. A properly associated label is: - a non-hidden <label> element with a for attribute value that is equal to the id of a unique form control - a <label> element that surrounds the form control, does not surround any other form controls, and does not reference another element with its for attribute - a non-empty title attribute, or - a non-empty aria-labelledby attribute

Standards and Guidelines

  • 1.1.1 Non-text Content (Level A)
  • 1.3.1 Info and Relationships (Level A)
  • 2.4.6 Headings and Labels (Level AA)
  • 3.3.2 Labels or Instructions (Level A)

Example of a DOM Snippet Generated From WAVE Tool

[HTML snippet showing the problematic code structure that WAVE detected]

Project Team Error guidance

The following material covers how the Project Team has provided a solution to the Missing Form Label WAVE error.

Project Page Details

  • Project Page name: Security
  • Project Staging URL: http://tdm-dev.azurewebsites.net/roles
  • Requires sign in: true
    • Required User Role: Security Admin
    • Can access page directly from URL: false

Project Team Issue and PR details

  • Related GitHub Issue:
    • https://github.com/hackforla/tdm-calculator/issues/2709
  • Related Pull Request:
    • https://github.com/hackforla/tdm-calculator/pull/2803

Project Page Details

  • Project Page name: Update Account
  • Project Staging URL: https://tdm-dev.azurewebsites.net/updateaccount
  • Requires sign in: true

    • Required User Role: Logged in user
    • Can access page directly from URL: TRUE (But should be FALSE See issue https://github.com/hackforla/tdm-calculator/issues/2857)
    • Accepts URL parameters? TRUE (but should be false. See issue https://github.com/hackforla/tdm-calculator/issues/2857) e.g. /updateaccount/example@hfla.com pre-populates email form field
  • Related GitHub Issue:

    • https://github.com/hackforla/tdm-calculator/issues/2697
  • Related Pull Request:
    • https://github.com/hackforla/tdm-calculator/pull/2784
  • React Component(s)
    • [INSERT PATH: e.g. path/to/Component.jsx]

Project Team Solution

What is the specific problem that was occurring?

[INSERT CONTENT]

What is the proposed solution to this problem?

[INSERT CONTENT]

Step-By-Step Guide

Click to see step-by-step guide

[ADD DETAILED INSTRUCTIONS HERE]

Other Technical Details

Click to see other technical details

[INSERT OTHER DETAILS e.g. Prop References, Return Value]

Code Snippet With Solution

Click to see code snippets

[INSERT PATH file/path/to/Snippet.jsx]

[Code example showing the fix/solution]

Why the Fix Works

[INSERT CONTENT]

Where this solution is applicable

  • [INSERT SCENARIO 1]
  • [INSERT SCENARIO 2]
  • [INSERT SCENARIO N]

Screenshots of WAVE Error

1. [Descriptive Title for Screenshot Set 1]

[INSERT IMAGE HERE]

Credits/Authors

  • @experiementsinhonesty
  • @Rabia2219