← ClaudeAtlas

accessibility-testing-specialistlisted

Use when testing WCAG compliance, screen reader compatibility, keyboard navigation, ARIA attributes, or ensuring application is accessible to users with disabilities - focuses on a11y testing with axe and Playwright
Whaleylaw/llm-lawyer · ★ 0 · Testing & QA · score 54
Install: claude install-skill Whaleylaw/llm-lawyer
# Accessibility Testing Specialist ## When to Use - Testing WCAG compliance (AA or AAA) - Verifying screen reader compatibility - Testing keyboard navigation - Validating ARIA attributes - Testing color contrast ratios - Ensuring forms are accessible - Testing focus management - Validating semantic HTML ## Process ### 1. Set Up Accessibility Testing ☐ Install axe-core: `npm install --save-dev @axe-core/playwright` ☐ Or use Lighthouse CI ☐ Configure accessibility rules ☐ Set up automated scanning in tests **Axe Playwright setup:** ```typescript import { test, expect } from '@playwright/test'; import AxeBuilder from '@axe-core/playwright'; test.describe('Accessibility tests', () => { test('should not have accessibility violations', async ({ page }) => { await page.goto('/'); const accessibilityScanResults = await new AxeBuilder({ page }) .analyze(); expect(accessibilityScanResults.violations).toEqual([]); }); }); ``` ### 2. Test Keyboard Navigation ☐ Test Tab key moves focus correctly ☐ Test Shift+Tab for reverse navigation ☐ Test Enter/Space activate buttons ☐ Test Escape closes modals ☐ Verify focus indicators visible **Keyboard navigation tests:** ```typescript test('keyboard navigation through form', async ({ page }) => { await page.goto('/signup'); // Tab to first field await page.keyboard.press('Tab'); await expect(page.getByLabel(/email/i)).toBeFocused(); // Tab to next field await page.keyboard.press('Tab'); await expect