mejbaurbahar/fagun/accessibility-testing
Claude Code and agent skill by mejbaurbahar/fagun
- community
Checking that the SKILL.md file is still in the repository.
Use when auditing a web app for accessibility (a11y) — WCAG compliance, screen reader compatibility, keyboard navigation, color contrast, and semantic HTML/ARIA correctness.
Install
npx vskill@latest install mejbaurbahar/fagun/accessibility-testingSKILL.md
Accessibility Testing
Baseline: WCAG 2.1/2.2 AA
Most legal/compliance requirements target AA. Structure the audit around the four POUR principles:
- Perceivable — alt text on images, captions on video, sufficient color contrast, content not conveyed by color alone.
- Operable — full keyboard operability, no keyboard traps, visible focus indicators, skip-to-content link, no seizure-inducing flashing.
- Understandable — clear labels, consistent navigation, error messages that say how to fix the problem (not just "invalid input").
- Robust — valid semantic HTML, correct ARIA usage (or none — wrong ARIA is worse than no ARIA), works across assistive tech.
Practical audit pass
- Automated scan first (fast, catches ~30-40% of issues): axe-core via browser extension, or Lighthouse's accessibility category (
lighthouse_auditin Chrome DevTools MCP covers this). - Keyboard-only pass: unplug the mouse mentally — Tab through the entire page. Every interactive element must be reachable, in a logical order, with a visible focus ring. Modals must trap focus while open and return it on close. Nothing should require a mouse-only gesture (hover-only menus, drag-and-drop with no keyboard alternative).
- Screen reader spot-check: VoiceOver on macOS (Cmd+F5) for at least the primary flow — does it announce meaningful labels, form errors, and dynamic content changes (
aria-liveregions)? Icon-only buttons must have accessible names. - Color contrast: 4.5:1 for normal text, 3:1 for large text/UI components (AA). Check via browser DevTools contrast checker, not eyeballing.
- Forms: every input has a programmatically associated
<label>, required fields are announced as required (not just visually marked with an asterisk), errors are associated with their field viaaria-describedby. - Zoom/reflow: page usable at 200% browser zoom without horizontal scroll or clipped content.
Common real bugs to specifically hunt for
<div onclick>instead of<button>— not keyboard-focusable, no accessible role.- Images with
alt=""on content images (decorative-only pattern misapplied) vs. missingaltentirely on meaningful images. - Custom dropdowns/modals built without ARIA roles/states (
role="dialog",aria-modal,aria-expanded) — screen readers can't tell they exist. - Placeholder text used as the only label — disappears on focus, not a real label.
- Low-contrast disabled-looking buttons that are actually clickable, or vice versa.
Reporting
File via [[bug-reporting]], citing the specific WCAG success criterion violated (e.g. "1.4.3 Contrast (Minimum)") — this makes severity/priority unambiguous and ties directly to compliance requirements when they apply.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/accessibility-testing/SKILL.md
Popularity
- Repository stars
- 1
- 7-day trend score
- 3
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/mejbaurbahar/fagun/accessibility-testing)