resume/tests/accessibility/README.md

65 lines
1.8 KiB
Markdown

# Accessibility Testing Framework
This directory contains tools and scripts for testing the website's accessibility compliance with WCAG 2.1 AAA standards.
## Overview
The accessibility testing framework uses multiple approaches:
1. **Automated Testing with Pa11y**: Command-line accessibility testing using Pa11y
2. **Automated Testing with axe-core**: JavaScript-based accessibility testing using axe-core
3. **Manual Testing Checklist**: A comprehensive checklist for aspects that can't be automated
## Running Tests
To run all accessibility tests:
```bash
npm run test:accessibility
```
Or run directly:
```bash
./tests/accessibility/run-accessibility-tests.sh [BASE_URL]
```
The default BASE_URL is `http://localhost:8080` if not specified.
## Test Components
### Pa11y Tests
Pa11y tests are run using the `pa11y-test.sh` script, which:
- Tests multiple pages against WCAG 2.1 AAA standards
- Generates JSON reports for each page
- Creates a summary report
### axe-core Tests
axe-core tests are run using the `playwright-axe.js` script, which:
- Uses Playwright to load pages
- Injects axe-core into each page
- Runs accessibility tests against WCAG 2.1 AAA standards
- Generates detailed reports
### Manual Testing
Some aspects of accessibility can't be automatically tested. The `manual-checklist.md` file provides a comprehensive checklist for manual testing, focusing on AAA-level criteria.
## Reports
Test reports are saved in the `tests/reports/` directory:
- Individual page reports (e.g., `pa11y-index.json`, `axe-index.json`)
- Summary reports (`pa11y-summary.json`, `axe-summary.json`)
- Combined accessibility report (`accessibility-summary.json`)
## Requirements
- Node.js
- NPM packages: pa11y, axe-core, playwright
- For Pa11y: `npm install -g pa11y` or use npx