accessibility-system-architect

Implements WCAG 2.2 AA accessibility patterns for React components and web interfaces.

1|Updated Aug 25, 2026
One-click install
npx skills add https://github.com/sabiscore/swarmxq --skill accessibility-system-architect-sabiscore
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: accessibility-system-architect
Source: https://github.com/sabiscore/swarmxq/tree/main/.ai/skills/accessibility-system-architect
Command: npx skills add https://github.com/sabiscore/swarmxq --skill accessibility-system-architect-sabiscore

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @axe-core/react, framer-motion.

What problem does it solve? Building accessible interfaces is often treated as a final audit, leading to costly retrofit patches for keyboard traps, missing ARIA roles, poor contrast, and broken screen reader flows. This Skill embeds accessibility into component architecture from the start so interfaces meet WCAG 2.2 AA by construction. ## Core Features & Use Cases - Component Pattern Library: Production-ready React/TSX implementations for focus-trapped modals, accordions, comboboxes, data tables, skip navigation, and live regions with correct ARIA semantics. - Systematic Audit Protocol: A five-step workflow covering keyboard journey mapping, semantic structure, component patterns, color contrast ratios, and reduced-motion handling. - Testing & Quality Gates: Automated axe-core CI integration plus a manual checklist covering VoiceOver/NVDA, 200% zoom, forced colors mode, and reduced motion. - Use Case: When adding a modal dialog to a Next.js app, use this Skill to implement focus trapping, Escape handling, focus return to the trigger, and proper aria-modal labeling in one pass. ## Quick Start Ask the AI to make your React modal dialog accessible with keyboard focus trapping and WCAG 2.2 AA compliance.

Frequently Asked Questions about accessibility-system-architect

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" and aria-labelledby pointing to the title. Trap focus inside the dialog by cycling Tab between first and last focusable elements, close on Escape, and return focus to the trigger element on close.

How to add keyboard navigation to a custom combobox?

Set role="combobox" with aria-expanded, aria-controls, and aria-activedescendant on the input. Handle ArrowDown and ArrowUp to move the active option, Enter to select, and Escape to close, with options rendered in a role="listbox" element.

What color contrast ratio does WCAG AA require?

WCAG AA requires 4.5:1 for normal text, 3:1 for large text (18pt+ or 14pt+ bold), and 3:1 for UI components and focus indicators against adjacent colors. Never convey meaning through color alone; pair it with an icon or label.

Should I use aria-disabled or the HTML disabled attribute?

Use aria-disabled when the element should remain focusable so screen reader users can discover it, such as a submit button during loading. HTML disabled removes the element from the tab order entirely, which can hide it from keyboard users.

How do I test accessibility in React automatically?

Integrate @axe-core/react in development mode to run axe-core audits automatically against rendered components. Complement it with manual checks: tab through features without a mouse, test with VoiceOver or NVDA, zoom to 200%, and enable forced colors mode.

When should I use ARIA instead of semantic HTML?

Use semantic HTML first; ARIA only supplements it when no native element exists, such as custom comboboxes or live regions. Never use div with role="heading" when an h1-h6 element works, and never use ARIA to fix broken structure.