validating-accessibility

Validate React .tsx UI changes for semantic HTML, ARIA, forms, dialogs, and keyboard navigation.

Updated Apr 26, 2026
One-click install
npx skills add https://github.com/awardsapp/tambo-genui --skill validating-accessibility-awardsapp
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: validating-accessibility
Source: https://github.com/awardsapp/tambo-genui/tree/main/.claude/skills/validating-accessibility
Command: npx skills add https://github.com/awardsapp/tambo-genui --skill validating-accessibility-awardsapp

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill prevents inaccessible user interfaces by enforcing semantic HTML, correct ARIA labeling, proper form construction, and reliable keyboard navigation whenever you touch React TypeScript components.

Core Features & Use Cases

  • Semantic HTML enforcement: Replace div-based button patterns with true <button> and use correct heading and list structure.
  • ARIA labeling for icon-only and interactive elements: Require action-and-target aria-labels for icon buttons and interactive controls without visible text.
  • Form and dialog correctness: Encourage shadcn Form components for label/ID/ARIA wiring and mandate Radix-based AlertDialog/Dialog usage for modals and confirmations.
  • Verification via targeted code scans: Provide concrete grep-style checks for common violations like role="button", onClick on divs, positive tabIndex, and icon-only buttons missing aria-labels.

Quick Start

Use this skill to review and fix accessibility violations in an apps/web .tsx component that adds a new icon-only button and an interactive toggle.

Frequently Asked Questions about validating-accessibility

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I check React components for accessibility issues before shipping?

To check React components for accessibility issues, scan .tsx files to detect semantic HTML violations, missing ARIA labels, improper form wiring, and keyboard navigation gaps. This validation catches inaccessible patterns like div-based buttons and icon-only controls lacking context-rich labels.

Why should I use semantic HTML instead of role="button" div patterns in React?

Semantic HTML should replace role="button" div patterns to ensure native keyboard navigation and screen reader compatibility. Using true <button> elements provides built-in focus management and interaction handling that div patterns lack, preventing accessibility failures in interactive elements.

How do I add aria-labels to icon-only buttons in a React application?

Add action-and-target aria-labels to icon-only buttons in React to provide screen reader context for controls lacking visible text. Icon-only interactive elements require context-rich aria-labels to explain their function, ensuring keyboard and assistive technology users understand the control's purpose.

Does this accessibility validation work with shadcn Form and Radix dialog components?

This accessibility validation works with shadcn Form and Radix dialog components by enforcing their specific patterns. It mandates Radix-based AlertDialog and Dialog usage for modals and encourages shadcn Form components to ensure proper label, ID, and ARIA wiring in React applications.

What tabIndex values are valid for accessible React interactive elements?

Valid tabIndex values for accessible React interactive elements are restricted to 0 and -1. Restricting tabIndex prevents positive values that disrupt natural tab order, ensuring keyboard navigation follows the visual DOM flow for screen reader and keyboard-only users.

Can I verify accessibility compliance using grep-style code scans in my codebase?

You can verify accessibility compliance using targeted grep-style code scans to find common violations. These inline verification scan patterns detect issues like onClick handlers on divs, positive tabIndex values, role="button" attributes, and icon-only buttons missing required aria-labels.