---
name: thedaviddias/form-labels
source: https://app.decimal.ai/s/thedaviddias-form-labels@1/SKILL.md
source_sha256: d291dca588a5
---

# Associate labels with form controls

Properly associated labels ensure that screen readers can identify the purpose of form inputs and increase the clickable area for users with motor impairments.

## Quick Reference

- Use `<label>` elements for all form inputs
- Connect labels using `for` and `id` attributes
- Placeholder text is not a label and must not be the only field name
- Use `<fieldset>` and `<legend>` when multiple controls share one question
- Ensure every input has a clear, accessible name

## Check

Verify that all form controls (input, select, textarea) have programmatically associated labels using the 'for' and 'id' attributes. Flag placeholder-only labels and grouped controls that lack a fieldset legend.

## Fix

Add a <label> element with a 'for' attribute that matches the 'id' of the corresponding input field. Replace placeholder-only labels with real label text and wrap related checkboxes or radio buttons in a `<fieldset>` with a `<legend>`.

## Explain

Explain why associated labels are critical for screen reader users and how they improve the hit area for touch and mouse users.

## Code Review

Review the rendered markup and interactive states that affect Associate labels with form controls. Flag exact elements, roles, labels, focus behavior, or keyboard interactions that violate the rule, and note how to verify the fix with browser accessibility tooling or assistive tech. Specifically check for placeholder-only labels and question groups that visually share a heading but lack a semantic `<fieldset>` and `<legend>`.

---

For full implementation details, code examples, and framework-specific guidance,
see `references/rule.md`.

Rule page: https://frontendchecklist.io/en/rules/accessibility/form-labels