Validate forms accessibly
SkillWeb & browsingform-validation is a skill that guides an AI agent when reviewing templates, rendered HTML, or shared components for accessible form validation. It checks that error messages link to inputs via aria-describedby, invalid states are marked, and required fields are exposed in markup. It also distinguishes browser-posted forms from client-handled React forms so missing method or action attributes are not wrongly flagged.
Available today. Use it from your connected AI after setup.
No other account needed.
Have an agent that can load skills.
Then ask your AI: use the Validate forms accessibly skill
What your AI can do with it
- Verify error messages link to inputs via aria-describedby
- Check that invalid states are marked in the markup
- Confirm required fields are exposed in markup
- Validate the final browser-facing markup, not just the source framework abstraction
- Distinguish browser-posted forms from client-handled React forms to avoid over-reporting m
Getting started
- Have an agent that can load skills.
- Add the form-validation skill to the agent's available skills.
- Ask the agent to review templates, rendered HTML, or shared components related to form validation.
- The agent applies the skill to check accessible validation in the final browser-facing markup.
What this skill tells your AI
The instructions your AI receives, as published by thedaviddias/front-end-checklist in skills/form-validation/SKILL.md and read by ahel’s review.
Inaccessible form validation leaves screen reader users unable to understand what went wrong and how to fix it, causing frustration and form abandonment.
Quick Reference
- Associate error messages with fields using aria-describedby
- Use aria-invalid to indicate validation state
- Mark required fields programmatically with
requiredoraria-required - Provide inline error messages near the field
- Don't rely solely on color to indicate errors
- Keep help text and error text linked to the field throughout validation
Check
Verify forms have client-side validation with accessible error messages linked to form fields via aria-describedby. Do not flag React forms just because they omit method or action when onSubmit clearly handles submission client-side. Confirm required fields are exposed programmatically and grouped controls use fieldset and legend.
Fix
Implement validation with clear error messages, aria-invalid states, and aria-describedby references to error text. For client-handled forms, improve validation semantics without forcing server-post patterns that the component is not using. Add required or aria-required where appropriate and use <fieldset> with <legend> for grouped choices.
Explain
Explain how accessible form validation improves user experience and ensures all users can understand and correct errors.
Code Review
Review templates, server-rendered HTML, and shared components that output markup related to Validate forms accessibly. Flag exact elements, attributes, and routes where the rendered HTML violates the rule. Check that help text and error text are both included in aria-describedby and that required state is exposed in markup, not only in visual styling.
For full implementation details, code examples, and framework-specific guidance,
see references/rule.md.
Rule page: https://frontendchecklist.io/en/rules/html/form-validation
Signals
- GitHub stars
- 74k
- Forks
- 7k
- Last commit
- Aug 2026
Questions
- Does it flag missing method or action attributes on React forms?
- No. The skill distinguishes browser-posted forms from client-handled React forms so missing method or action attributes are not wrongly flagged on client-handled forms.
- Does it review source code or rendered output?
- It validates the final browser-facing markup, not just the source framework abstraction.
- What accessibility checks does it perform?
- It verifies error messages link to inputs via aria-describedby, invalid states are marked, and required fields are exposed in markup.
Advanced
- Item type
- skill
- Key
form-validation-thedaviddias- Source
- github.com/thedaviddias/front-end-checklist