Skip to content
cccskills
FreePublished on GitHubEnglish overview

aria-input-field-name

Check form fields for accessible names, the labels used by screen readers and voice controls. Identify missing or placeholder-only labels and suggest fixes using associated labels or ARIA attributes that supply or reference label text.

OriginalShow the original description

Use when applies to all `<input>` (except type=hidden), `<textarea>`, `<select>`, and custom form widgets using role=textbox, role=combobox, role=spinbutton, role=searchbox, or role=listbox.

AI rating100/ 100See how to install

Good for

  • Finding missing labels in forms
  • Fixing fields that rely only on placeholder text
  • Checking names on custom form controls
  • Reviewing labels for screen readers and voice control

Overview

What it does

This skill checks whether form fields have accessible names: the names used by screen readers and voice controls to identify each field. It covers <input>, <textarea>, and <select>, along with custom components assigned input or selection roles. It identifies unnamed elements and suggests fixes by connecting a <label> to its field or using aria-label or aria-labelledby.

When it helps

Use it when a screen reader does not communicate what a field is for, or when reviewing a whole form. It checks fields that display only an example of what to enter instead of a label. It also checks whether visible labels match the names used for voice commands. After changes, it explains how to verify the result with browser accessibility tools or assistive technology.

Example requests

  • “Find fields without accessible names in this form and add labels.”
  • “Check the accessible names of the search field and the custom selection component.”

Notes

Fields with type="hidden" are excluded. A placeholder is treated as a hint about the expected format, rather than a replacement for a label. The review addresses WCAG 2.1 criteria concerning information and relationships, and name, role, and value.

This overview was written by AI (OpenAI Codex) from the public SKILL.md. Check the original below for the exact behavior.

Objective evaluation

AI rated this skill on four points using only the contents of its SKILL.md. Stars and popularity are not taken into account.

Clear instructionsIs it clear when to use it and what it does?
AGoodThe instructions identify the input elements and custom widgets covered and state that their accessible names must be checked.
Concrete stepsAre steps, inputs, outputs, and examples spelled out?
AGoodThe instructions provide for/id matching, ARIA attribute fixes with examples, and methods for verifying changes.
SafetyAre sending data, deleting files, and running commands disclosed?
AGoodThe scope is checking and fixing input elements and labels; there are no instructions for deletion or external transmission.
Easy setupDoes it need few tools or API keys, and are they documented?
AGoodNo additional installation requirements are specified; browser accessibility tools or assistive technology are listed for verification.

The total counts each point as A = 25, B = 15, C = 5. Rated by AI (OpenAI Codex) as of Oct 23, 2026. Treat it as a guide and read the original before installing.

Disagree? Request a re-evaluation

Tell us which point is wrong and why. No login needed. We will check it against the SKILL.md, redo the evaluation, and show the result here.

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

Files included (2)

  • SKILL.md3.3 KB
  • references/rule.md3.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Ensure all input fields have accessible names

Screen readers announce the accessible name of a focused input before the user types. Without a name, VoiceOver reads 'text field' and NVDA reads 'edit' with no context, making it impossible for blind users to fill out forms correctly. Voice control users (Dragon NaturallySpeaking) also need the visible label text to match the accessible name so they can say 'click Email Address' to move focus to the field.

Quick Reference

  • Every <input>, <textarea>, and <select> must have a programmatically associated accessible name
  • Preferred: associate a <label> via matching for/id attributes
  • Alternatives: aria-label (inline string) or aria-labelledby (references another element's id)
  • Placeholder text is not an accessible name — it disappears on input and is not reliably announced
  • Applies to WCAG 2.1 SC 1.3.1 (Info and Relationships) and SC 4.1.2 (Name, Role, Value)

Check

Find all <input> (excluding type='hidden'), <textarea>, and <select> elements. For each, check that one of these is true: (1) a <label> element with a for attribute matching the input's id exists, (2) the input has a non-empty aria-label attribute, or (3) the input has an aria-labelledby attribute pointing to a visible element. Flag any that use only placeholder as their label. Also check custom widgets using role=textbox, role=combobox, etc.

Fix

For each unlabeled input: (1) Add a <label for='input-id'>Label text</label> and matching id on the input — this is the most robust method. (2) If a visible label is impractical (e.g., search bar), add aria-label='Search' directly on the input. (3) If the label text already exists elsewhere in the DOM, add aria-labelledby='label-element-id' to the input. Remove placeholder as a substitute for a label; keep placeholder only as a hint for expected format.

Explain

WCAG 2.1 SC 4.1.2 (Name, Role, Value) requires that all user interface components have an accessible name. For form inputs, the accessible name is computed from: (1) aria-labelledby → (2) aria-label → (3) associated <label> → (4) title attribute (last resort). Screen readers announce this name when the input receives focus. Without it, a blind user hears only the input type ('text field') with no indication of what to type. Dragon NaturallySpeaking users need the accessible name to match visible text so voice commands work.

Code Review

Review the rendered markup and interactive states that affect Ensure all input fields have accessible names. 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.


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

Rule page: https://frontendchecklist.io/rules/accessibility/aria-input-field-name

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

404-page

FreeSummaryAI rating 100

Create and review custom 404 pages that help visitors recover from broken or moved links through search and navigation. Check the rendered page and HTTP response so missing content returns a proper 404 status.

  • Creating a helpful custom 404 page
  • Adding search and navigation for broken links
  • Checking missing pages that return HTTP 200
thedaviddias/Front-End-Checklist74.6KUpdated Oct 6, 2026

about-page

FreeSummaryAI rating 90

Audit or create a dedicated About page that explains a website’s purpose and identifies its people or organization. Review the rendered output and supporting information, including expertise and contact details, to find gaps.

  • Reviewing a website’s About page
  • Creating a page about the organization and its mission
  • Checking how operator information appears in rendered output
thedaviddias/Front-End-Checklist74.6KUpdated Oct 6, 2026

accessibility-testing

FreeSummaryAI rating 80

Review and add automated accessibility checks for components, pages, and continuous integration workflows. Use axe-based tools to detect structural and attribute issues, while identifying checks that still need keyboard or screen reader testing.

  • Review accessibility coverage for shared components
  • Add accessibility checks to page flow tests
  • Run accessibility tests in CI
thedaviddias/Front-End-Checklist74.6KUpdated Oct 6, 2026

accessible-authentication

FreeSummaryAI rating 90

Review sign-in, registration, multi-factor authentication, and account recovery for accessibility barriers. Find blocked paste, difficult code entry, and inaccessible backup methods, then suggest authentication paths that support password managers, autofill, or device approval.

  • Reviewing accessibility across the sign-in process
  • Checking verification code paste and autofill
  • Inspecting password reset and account recovery
thedaviddias/Front-End-Checklist74.6KUpdated Oct 6, 2026

accessible-notifications

FreeSummaryAI rating 100

Review form errors, success messages, and live updates so screen reader users receive important notifications. Check the HTML delivered to the browser, announcement settings, display duration, and dismissal controls, then identify specific elements that need changes.

  • Reviewing form error announcements
  • Checking success message display duration
  • Auditing live update notifications
thedaviddias/Front-End-Checklist74.6KUpdated Oct 6, 2026

accessible-tables

FreeSummaryAI rating 100

Review HTML tables so screen reader users can understand how headers and data relate. Check header markup, table descriptions, and merged cells, then identify specific fixes and ways to verify them.

  • Reviewing tables for screen reader accessibility
  • Checking header relationships in tables with merged cells
  • Reviewing table patterns in a design system
thedaviddias/Front-End-Checklist74.6KUpdated Oct 6, 2026

See all skills by thedaviddias

Report a problem with this skill