resume/tests/accessibility/README.md

1.8 KiB

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:

npm run test:accessibility

Or run directly:

./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