accessibility-auditor

Audits and implements web accessibility following WCAG 2.1 guidelines with ARIA patterns.

Updated Mar 16, 2026
One-click install
npx skills add https://github.com/zinohome/RTMessage --skill accessibility-auditor-zinohome
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: accessibility-auditor
Source: https://github.com/zinohome/RTMessage/tree/main/.github/skills/accessibility-auditor
Command: npx skills add https://github.com/zinohome/RTMessage --skill accessibility-auditor-zinohome

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Web applications often fail WCAG compliance, leaving users who rely on screen readers, keyboards, or high-contrast displays unable to navigate them. This Skill audits existing code for accessibility violations and provides concrete implementation patterns to fix them. ## Core Features & Use Cases - WCAG 2.1 Auditing: Check code against POUR principles, compliance levels (A/AA/AAA), heading hierarchy, and color contrast ratios (4.5:1 for AA). - ARIA Component Patterns: Implement accessible modals with focus traps, tabs with arrow-key navigation, dropdown menus, and form fields with error announcements in React/TypeScript. - Automated & Manual Testing: Set up jest-axe unit tests, Playwright scans with @axe-core/playwright, and follow manual checklists for keyboard and screen reader testing. - Use Case: A team receives a compliance complaint about their checkout flow. Use this Skill to audit the forms, add proper labels and aria-describedby error links, implement a focus trap in the payment modal, and verify fixes with axe-core. ## Quick Start Audit my React checkout page for WCAG 2.1 AA compliance and fix any keyboard navigation and screen reader issues you find.

Frequently Asked Questions about accessibility-auditor

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

FAQPage Schema
How do I make a React modal accessible to screen readers?▼

Add role="dialog", aria-modal="true", and aria-labelledby pointing to the title element. Move focus into the modal on open, trap Tab key navigation within it, close on Escape, and restore focus to the triggering element on close.

How to test accessibility with Playwright and axe-core?▼

Use @axe-core/playwright's AxeBuilder to run an accessibility scan after page load, then assert that the violations array is empty. You can also simulate keyboard navigation with page.keyboard.press to verify Tab order and skip links.

What color contrast ratio does WCAG 2.1 AA require?▼

WCAG 2.1 Level AA requires a 4.5:1 contrast ratio for normal text and 3:1 for large text (18pt or 14pt bold and larger). Level AAA raises these to 7:1 and 4.5:1 respectively.

Should I use ARIA attributes or semantic HTML elements?▼

Prefer native semantic HTML elements like button, nav, and main because they carry built-in accessibility behavior. Only add ARIA roles and attributes when no native element exists, such as for custom tabs or live regions, since incorrect ARIA is worse than none.

Why is my form error message not announced by screen readers?▼

Screen readers only announce errors if the message is linked to the input via aria-describedby and rendered in an element with role="alert" or an aria-live region. Also set aria-invalid="true" on the input so assistive technology flags the field state.