accessibility-testing
Skill515 starsChanged 22 days agoMITView on GitHub
WCAG 2.2 compliance testing, screen reader validation, and inclusive design verification. Use when ensuring legal compliance (ADA, Section 508), testing for disabilities, or building accessible applications for 1 billion disabled users globally.
We split this skill into the rules it gives an agent
6 rules. 0 are common, 6 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 7 edited versions we read keep these.
6
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 31
When testing accessibility or ensuring compliance:
- Distinctive: line 33
TEST with keyboard-only navigation (Tab, Enter, Escape)
- Distinctive: line 35
CHECK color contrast (4.5:1 for text, 3:1 for large text)
- Distinctive: line 39
All images have alt text (or alt="" for decorative)
- Distinctive: line 40
All form fields have labels
- Distinctive: line 131
Keep this path when you have an existing Playwright suite and don't want to introduce a second browser runner, or when you need …
“Common” is measured: kept by at least 6 in 10 of the 7 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Accessibility Testing
Consolidated: For comprehensive WCAG auditing with multi-tool testing (axe-core + pa11y + Lighthouse), video accessibility, and remediation, prefer
/a11y-ally. This skill provides a quick reference card for basic accessibility testing patterns.
Browser engine
Browser-driven a11y checks should go through the qe-browser fleet skill. vibium a11y-tree --json returns the full accessibility tree without visual rendering — feed it into axe-core via vibium eval --stdin for ruleset enforcement. See .claude/skills/qe-browser/SKILL.md.
<default_to_action> When testing accessibility or ensuring compliance:
- APPLY POUR principles: Perceivable, Operable, Understandable, Robust
- TEST with keyboard-only navigation (Tab, Enter, Escape)
- VALIDATE with screen readers (VoiceOver, NVDA, JAWS)
- CHECK color contrast (4.5:1 for text, 3:1 for large text)
- AUTOMATE with axe-core, integrate in CI/CD pipeline
Quick A11y Checklist:
- All images have alt text (or alt="" for decorative)
- All form fields have labels
- Color is never the only indicator
- Focus visible on all interactive elements
- Keyboard navigation works throughout
Critical Success Factors:
- Automated testing catches 30-50% of issues
- Manual testing with real assistive tech required
- Include users with disabilities in testing </default_to_action>
Quick Reference Card
When to Use
- Legal compliance (ADA, Section 508, EU Directive)
- New feature development
- Before release validation
- Accessibility audits
WCAG 2.2 Levels
| Level | Requirement | Target |
| A | Basic accessibility | Minimum legal |
| AA | Standard (most orgs) | Industry standard |
| AAA | Enhanced | Specialized sites |
POUR Principles
| Principle | Meaning | Key Tests |
| Perceivable | Can perceive content | Alt text, contrast, captions |
| Operable | Can operate UI | Keyboard, no seizures, navigation |
| Understandable | Can understand | Clear labels, predictable, errors |
| Robust | Works with assistive tech | Valid HTML, ARIA |
Color Contrast Requirements
| Content | AA Ratio | AAA Ratio |
| Normal text | 4.5:1 | 7:1 |
| Large text (18pt+) | 3:1 | 4.5:1 |
| UI components | 3:1 | - |
Keyboard Navigation Testing
// Test all interactive elements reachable via keyboard
test('all interactive elements keyboard accessible', async ({ page }) => {
await page.goto('/');
const focusableElements = await page.$$('button, a, input, select, textarea, [tabindex]');
for (const element of focusableElements) {
await element.focus();
const isFocused = await element.evaluate(el => document.activeElement === el);
expect(isFocused).toBe(true);
}
});
// Verify visible focus indicator
test('focus indicator visible', async ({ page }) => {
await page.goto('/');
await page.keyboard.press('Tab');
const focusedElement = await page.locator(':focus');
const outline = await focusedElement.evaluate(el =>
getComputedStyle(el).outline
);
expect(outline).not.toBe('none');
});Automated Testing with axe-core
Preferred: via the a11y-ally AQE skill (qe-browser + Vibium)
For new work, use the a11y-ally skill — it composes qe-browser (Vibium
WebDriver BiDi) with axe-core, pa11y, and Lighthouse and produces a
WCAG-tagged JSON report with remediation guidance. It avoids the 300MB
Playwright install and is already wired into the AQE fleet.
# Runs axe-core + pa11y + Lighthouse via qe-browser (Vibium) engine
aqe skill run a11y-ally -- --url https://example.com --wcag AAFallback: Playwright + @axe-core/playwright
Keep this path when you have an existing Playwright suite and don't want to introduce a second browser runner, or when you need Firefox/Safari coverage that Vibium's Chrome-only BiDi backend can't provide today.
import { test, expect } from '@playwright/test';
import AxeBuilder from '@axe-core/playwright';
test('page has no accessibility violations', async ({ page }) => {
await page.goto('/');
const results = await new AxeBuilder({ page })
.withTags(['wcag2a', 'wcag2aa', 'wcag22aa'])
.analyze();
expect(results.violations).toEqual([]);
});
// CI/CD integration
test('checkout flow accessible', async ({ page }) => {
await page.goto('/checkout');
const results = await new AxeBuilder({ page })
.include('#checkout-form')
.disableRules(['color-contrast']) // Fix in next sprint
.analyze();
expect(results.violations.filter(v =>
v.impact === 'critical' || v.impact === 'serious'
)).toHaveLength(0);
});Screen Reader Testing Checklist
## VoiceOver (macOS) Testing
- [ ] Page title announced on load
- [ ] Headings hierarchy correct (h1 → h2 → h3)
- [ ] Landmarks present (nav, main, footer)
- [ ] Images have descriptive alt text
- [ ] Form labels read correctly
- [ ] Error messages announced
- [ ] Dynamic content updates announced (aria-live)Agent-Driven Accessibility
// Comprehensive a11y validation
await Task("Accessibility Validation", {
url: 'https://example.com/checkout',
standard: 'WCAG2.2',
level: 'AA',
checks: ['keyboard', 'screen-reader', 'color-contrast'],
includeScreenReaderSimulation: true
}, "qe-visual-tester");
// Fleet coordination for comprehensive testing
const a11yFleet = await FleetManager.coordinate({
strategy: 'comprehensive-accessibility',
agents: [
'qe-visual-tester', // Visual & keyboard checks
'qe-test-generator', // Generate a11y tests
'qe-quality-gate' // Enforce compliance
],
topology: 'parallel'
});Agent Coordination Hints
Memory Namespace
aqe/accessibility/
├── wcag-results/* - WCAG audit results
├── screen-reader/* - Screen reader test logs
├── remediation/* - Fix recommendations
└── compliance/* - Compliance reportsFleet Coordination
const a11yFleet = await FleetManager.coordinate({
strategy: 'accessibility-testing',
agents: [
'qe-visual-tester', // axe-core, keyboard, focus
'qe-test-generator', // Generate a11y test cases
'qe-quality-gate' // Block non-compliant builds
],
topology: 'parallel'
});Related Skills
- visual-testing-advanced - Visual a11y checks
- mobile-testing - Mobile a11y (VoiceOver, TalkBack)
- compliance-testing - Legal compliance
Remember
1 billion people have disabilities. Inaccessible software excludes 15% of humanity. Legal requirements: ADA, Section 508, EU Directive 2016/2102. $13T purchasing power. 250%+ increase in lawsuits.
Automated testing catches only 30-50% of issues. Combine with manual keyboard testing, screen reader testing, and real user testing with people with disabilities.
With Agents: Agents automate WCAG 2.2 compliance checking, screen reader simulation, and focus management validation. Use agents to enforce accessibility standards in CI/CD and catch violations before production.
Other versions8 projects use a version of this.
Word for word · 0
None found.
Edited · 1
- Biznomad/claude-skills★ 099% same
Wrote their own version · 7
- petrkindlmann/qa-skills★ 209same name
- conorluddy/xclaude-plugin★ 186same name
- codecharmhq/claude-code-skills★ 1same name
- mejbaurbahar/fagun★ 1same name
- mejbaurbahar/software-tester-skills★ 1same name
- michaelsvanbeek/personal-agent-skills★ 1same name
- hereshecodes/secureskills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use visual-testing and api-testing.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
petrkindlmannSkillvisual-testing
Implement visual regression testing with Playwright screenshots, Chromatic, Percy, and Argos CI. Covers baseline management, diff threshold tuning, dynamic content masking, responsive viewport testing, and review/approval workflows. Use when: "visual test," "screenshot," "visual regression," "pixel diff," "snapshot diff," "update baselines," "Chromatic," "percy snapshot," "argos screenshot." Not for: bulk baseline regeneration after a redesign broke many tests — use selector-drift-recovery; cross-browser rendering matrices — use cross-browser-testing; general Playwright test structure — use playwright-automation. Related: playwright-automation, ci-cd-integration, cross-browser-testing.
Also in 3 projects that use this
nek1987Skillapi-testing
Use when writing tests for backend APIs or frontend flows. Triggers for: unit tests, integration tests, E2E tests, pytest fixtures, TestClient setup, mock data factories, or test coverage analysis. NOT for: testing business logic that doesn't involve API endpoints.
Also in 3 projects that use this
In this repository129 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .claude/commands/monitoring/agents.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- aqe-plan-qualitySkill
- aqe-plan-workSkill
- aqe-researchSkill
- aqe-review-qualitySkill
- aqe-rufloSkill
- aqe-test-changeSkill
- rufloSkill
- a11y-allySkill
- AgentDB Advanced FeaturesSkill
- AgentDB Learning PluginsSkill
- AgentDB Memory PatternsSkill
- AgentDB Performance OptimizationSkill
- AgentDB Vector SearchSkill
- agentic-quality-engineeringSkill
- api-testing-patternsSkill
- browserSkill
- brutal-honesty-reviewSkill
- bug-reporting-excellenceSkill
- chaos-engineering-resilienceSkill
- cicd-pipeline-qe-orchestratorSkill
- code-review-qualitySkill
- compatibility-testingSkill
- compliance-testingSkill
- consultancy-practicesSkill
- context-driven-testingSkill
- contract-testingSkill
- coverage-drop-investigatorSkill
- coverage-guardSkill
- database-testingSkill
- debug-loopSkill
- e2e-flow-verifierSkill
- enterprise-integration-testingSkill
- exploratory-testing-advancedSkill
- flow-nexus-neuralSkill
- flow-nexus-platformSkill
- flow-nexus-swarmSkill
- freeze-testsSkill
- github-code-reviewSkill
- github-multi-repoSkill
- github-project-managementSkill
- github-release-managementSkill
- github-workflow-automationSkill
- holistic-testing-pactSkill
- Hooks AutomationSkill
- iterative-loopSkill
- localization-testingSkill
- middleware-testing-patternsSkill
- mobile-testingSkill
- mutation-testingSkill
- n8n-expression-testingSkill
- n8n-integration-testing-patternsSkill
- n8n-security-testingSkill
- n8n-trigger-testing-strategiesSkill
- n8n-workflow-testing-fundamentalsSkill
- no-skipSkill
- observability-testing-patternsSkill
- The first 60 shown.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

