accessibility-compliance

Implement WCAG 2.2 compliant interfaces with ARIA patterns and screen reader support.

Updated Apr 23, 2026
One-click install
npx skills add https://github.com/SanketAdlak/PDMProjectDesign --skill accessibility-compliance-sanketadlak
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: accessibility-compliance
Source: https://github.com/SanketAdlak/PDMProjectDesign/tree/main/.agents/skills/accessibility-compliance
Command: npx skills add https://github.com/SanketAdlak/PDMProjectDesign --skill accessibility-compliance-sanketadlak

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Building interfaces that work for users with disabilities requires deep knowledge of WCAG criteria, ARIA attributes, keyboard navigation, and assistive technology behavior, which most developers lack and often get wrong. ## Core Features & Use Cases - WCAG 2.2 Compliance Guidance: Checklists and code patterns for Level A, AA, and AAA success criteria including contrast ratios, target sizes, and focus visibility. - Accessible Component Patterns: Ready-to-use React implementations for buttons, modals, forms, tabs, accordions, comboboxes, and live regions with proper ARIA semantics. - Mobile Accessibility: VoiceOver, TalkBack, touch target sizing, Dynamic Type, and gesture alternatives for iOS, Android, and React Native. - Use Case: When auditing a checkout form for accessibility violations, use this Skill to add proper labels, error announcements via live regions, keyboard navigation, and WCAG-compliant focus indicators. ## Quick Start Review my modal dialog component and make it fully accessible with focus trapping, Escape key handling, and proper ARIA attributes.

Frequently Asked Questions about accessibility-compliance

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

FAQPage Schema
How do I make a React modal dialog accessible?

Use role="dialog" with aria-modal="true", label it via aria-labelledby, trap focus inside with a FocusTrap component, close on Escape key, and return focus to the triggering element when closed. Prevent body scroll while the modal is open.

How do I announce dynamic content changes to screen readers?

Use ARIA live regions with role="status" and aria-live="polite" for non-urgent updates, or role="alert" with aria-live="assertive" for errors. Clear the message before setting new text to ensure repeated announcements are detected.

What contrast ratio does WCAG 2.2 require for text?

WCAG 2.2 Level AA requires 4.5:1 for normal text and 3:1 for large text (18pt or 14pt bold). Level AAA requires 7:1 for normal text. UI components and focus indicators need at least 3:1 against adjacent colors.

What is the minimum touch target size for mobile accessibility?

WCAG 2.2 Level AA requires 24x24 CSS pixels minimum, while Level AAA and Apple HIG recommend 44x44 points. Android Material Design recommends 48x48dp. Maintain at least 8dp spacing between adjacent targets.

When should I use ARIA instead of native HTML elements?

The first rule of ARIA is to prefer native HTML elements like button, nav, and main over ARIA roles. Only add ARIA when native semantics are insufficient, such as custom sliders, tabs, or comboboxes, and never duplicate information native elements already provide.

Why is my custom component not keyboard accessible?

Custom div-based components lack built-in keyboard support. Add tabIndex={0} for focusability, handle Enter and Space keydown events for activation, and ensure a visible focus indicator. Using native button elements avoids this entirely.