Accessibility Auditor (WCAG 2.2)
by rayyer
Find accessibility barriers and WCAG 2.2 AA failures in web and mobile UI code — with file:line, the exact criterion, and a fix
- Audit a React or Vue app for WCAG 2.2 AA failures before launch
- Find icon buttons and form inputs with no accessible name for screen readers
- Check keyboard operability and visible focus across custom widgets
Secure checkout via Stripe
Included in download
- Audit a React or Vue app for WCAG 2.2 AA failures before launch
- Find icon buttons and form inputs with no accessible name for screen readers
- file_write, file_read automation included
- Ready for Vue
Sample Output
A real example of what this skill produces.
Detected: Web — Next.js 14 (React, Tailwind). Legal scope: EU Accessibility Act / EN 301 549 + ADA. Target: WCAG 2.2 AA.
Writing the full report to ACCESSIBILITY_AUDIT.md.
Summary: 12 findings — 3 Critical, 4 High, 3 Medium, 2 Low. Statically: not conformant.
Most impactful: your icon-only search and "add to cart" buttons have no accessible name, so screen-reader users hear only "button" and literally can't shop. Add aria-labels and hide the decorative icons. Same severity: the currency dropdown is a div-with-onClick that keyboard users can't operate — it blocks checkout.
High: body text at #949494 on white is 2.9:1 (fails 4.5:1); a global outline: none removes focus indicators; checkout inputs
use placeholders instead of real labels; zoom is disabled in the viewport meta.
First moves: fix the three Criticals (search, currency, form labels), restore visible focus, bump body contrast. The full report has file:line, the WCAG criterion, and a fix for each, plus a "Verify manually" list for screen-reader checks.
Static audit, not a full conformance evaluation — confirm the manual items with a screen reader before claiming EAA conformance.
Accessibility Auditor (WCAG 2.2)
by rayyer
Find accessibility barriers and WCAG 2.2 AA failures in web and mobile UI code — with file:line, the exact criterion, and a fix
Secure checkout via Stripe
Included in download
- Audit a React or Vue app for WCAG 2.2 AA failures before launch
- Find icon buttons and form inputs with no accessible name for screen readers
- file_write, file_read automation included
- Ready for Vue
- Instant install
Sample Output
A real example of what this skill produces.
Detected: Web — Next.js 14 (React, Tailwind). Legal scope: EU Accessibility Act / EN 301 549 + ADA. Target: WCAG 2.2 AA.
Writing the full report to ACCESSIBILITY_AUDIT.md.
Summary: 12 findings — 3 Critical, 4 High, 3 Medium, 2 Low. Statically: not conformant.
Most impactful: your icon-only search and "add to cart" buttons have no accessible name, so screen-reader users hear only "button" and literally can't shop. Add aria-labels and hide the decorative icons. Same severity: the currency dropdown is a div-with-onClick that keyboard users can't operate — it blocks checkout.
High: body text at #949494 on white is 2.9:1 (fails 4.5:1); a global outline: none removes focus indicators; checkout inputs
use placeholders instead of real labels; zoom is disabled in the viewport meta.
First moves: fix the three Criticals (search, currency, form labels), restore visible focus, bump body contrast. The full report has file:line, the WCAG criterion, and a fix for each, plus a "Verify manually" list for screen-reader checks.
Static audit, not a full conformance evaluation — confirm the manual items with a screen reader before claiming EAA conformance.
Screenshots
About This Skill
What it checks
Framework-aware checks for web (React, Vue, Angular, Svelte, plain HTML) and mobile (React Native, Flutter, native iOS/SwiftUI, native Android/Compose):- Names & labels — icon-only buttons with no accessible name, unlabeled form inputs, images missing alt/labels (the most common blocker)
- Keyboard & focus — mouse-only custom widgets, keyboard traps, removed focus indicators (`outline: none`), bad tab order
- Color & contrast — text below 4.5:1 (computed when colors are readable), meaning conveyed by color alone
- Structure — heading order, landmarks, semantic HTML vs div soup
- Forms — placeholder-as-label, errors shown only in color or not associated with fields
- WCAG 2.2 additions — target size (24×24), focus not obscured, dragging alternatives, accessible authentication (paste-blocking on OTP, CAPTCHAs)
- Mobile specifics — accessibilityLabel/contentDescription/Semantics, touch targets, dynamic type, VoiceOver/TalkBack state and announcements, reduced motion
Legal scope, automatically
Detects your target markets and cites the right regime — EU Accessibility Act / EN 301 549, ADA, Section 508, AODA — while keeping the technical target at WCAG 2.2 AA (the strict common denominator). It even distinguishes which criteria are required today under EU's WCAG 2.1 reference vs the newer 2.2 additions.How it works
- Detects platform, framework, and legal scope.
- Maps every UI surface with a11y obligations — images, controls, forms, structure, color, focus, motion, auth.
- Audits against WCAG 2.2 AA with framework-idiomatic patterns.
- Writes ACCESSIBILITY_AUDIT.md graded by user impact (Critical/High/Medium/Low) — each finding leads with who is blocked and from what, plus file:line, the exact WCAG criterion, and a concrete fix. Runtime-only checks go in a "Verify manually" section with steps.
Why buy it
- Severity by user impact — "screen-reader users can't checkout" beats an abstract rule number; you fix what actually matters first
- Concrete, framework-correct fixes — real JSX/SwiftUI/Compose snippets, not "add a label"
- Computes contrast — states the actual ratio (e.g. "#949494 on #fff = 2.9:1, fails") when colors are resolvable
- Honest about static limits — routes screen-reader/keyboard/zoom checks to "Verify manually" instead of faking pass/fail
- Complements axe/Lighthouse — catches the context they miss (is the alt text meaningful? is the focus order logical?)
- Agent-agnostic — Claude Code, Cursor, Codex CLI, Copilot, Gemini CLI
Who it's for
- Teams shipping to the EU (EAA), US (ADA/508), or Canada (AODA)
- Anyone who got a demand letter or is preparing a VPAT/ACR
- Web and mobile devs who want a11y caught in code review, not in production
Limitations
Static code audit, not a full conformance evaluation. Some criteria need manual testing with assistive technology (it tells you which). Doesn't run axe/Lighthouse, doesn't produce a binding VPAT/ACR, doesn't redesign your UI.📖 Learn more: Best Frontend & Design Skills for Claude Code →
Use Cases
- Audit a React or Vue app for WCAG 2.2 AA failures before launch
- Find icon buttons and form inputs with no accessible name for screen readers
- Check keyboard operability and visible focus across custom widgets
- Compute color-contrast failures from theme tokens and hardcoded colors
- Review a React Native or Flutter app for VoiceOver/TalkBack support
- Prepare for ADA, Section 508, or EU Accessibility Act (EAA) compliance
Known Limitations
Static code audit, not a full WCAG conformance evaluation. Criteria that need a running app + assistive tech (reading order quality, screen-reader announcements, focus order through complex widgets, 200%/400% zoom reflow) are routed to a "Verify manually" section with steps. Contrast is computed only when both foreground and background colors are resolvable; theme variables that resolve at runtime are flagged for manual check. Does not run axe-core, Lighthouse, or eslint-plugin-jsx-a11y — it complements them with context-aware static review. Does not produce a legally binding VPAT/ACR or certify conformance. Does not modify UI code or redesign components; it reports findings with targeted fix snippets. EU note: EN 301 549 currently references WCAG 2.1 AA; the 6 WCAG 2.2 additions are labeled so you can prioritize required vs advisory.
How to Install
mkdir -p ~/.claude/skills && curl -sL https://www.agensi.io/api/install/accessibility-auditor-wcag-2-2 | tar xz -C ~/.claude/skills/Free skills install directly. Paid skills require purchase - use the download button above after buying.
Reviews
No reviews yet - be the first to share your experience.
Only users who have downloaded or purchased this skill can leave a review.
Early access skill
Be the first to review this skill.
Only users who have downloaded or purchased this skill can leave a review.
Security Scanned
Passed automated security review
Permissions
File Scopes
Static analysis only. Reads UI source (components, templates, styles, native layouts) and theme/color tokens to detect accessibility barriers and compute contrast where colors are resolvable. Writes a single file (ACCESSIBILITY_AUDIT.md). No network, no shell, no browser, no environment reads. It does not run axe/Lighthouse or any browser; runtime-only checks are listed for manual verification.
No runtime dependencies. Works on web (React, Vue, Angular, Svelte, HTML/CSS) and mobile (React Native, Flutter, native iOS/SwiftUI, native Android/Compose). Targets WCAG 2.2 AA. Compatible with any agent supporting the SKILL.md standard.
Creator
Frequently Asked Questions
Learn More About AI Agent Skills
More Premium Skills
designing-hybrid-context-layers
Architects the right retrieval strategy for every query — teaching your agent when to use RAG, a knowledge graph, or a temporal index instead of defaulting to vector search for everything.
consumer-motivation-analyzer
Go beyond surface-level feedback to uncover the psychological drivers and hidden motivations behind buyer behavior.
diagnosing-rag-failure-modes
RAG fails quietly. It retrieves documents, returns confident-looking answers, and misses the question entirely — because the question required connecting facts across documents, reasoning about sequence, or tracing causation. This skill gives you a five-question diagnostic checklist that classifies any failing query as either RAG-safe or structurally RAG-incompatible, then maps it to the specific failure pattern and the architectural fix that resolves it.
keyword-research
Transform URLs or product lists into SEO keyword research packs with Google Ads data and intent-based clustering.