accessibilitydemo

AI Accessibility Demo

AI Accessibility Demo

This repository demonstrates how to use AI tools like GitHub Copilot to fix accessibility issues in web applications, moving from manual testing to full automation.

Flow: Manual discovery → Semi-AI fixes → Full-AI agent → CI validation

Accessibility demo flow sequence diagram

Prerequisites

Complete Demo Flow

1. Setup (UI only)

2. Initial Testing - Accessibility Insights & Axe Linter

3. Semi-AI Fixes with Copilot Completions

4. Full AI Fixes with Copilot Agent

5. Continuous Validation - GitHub Actions

5.1 (Optional): Enable Enhanced AI Analysis (needed for ai_accessibility_check.yml)

6. Delegating Future Work to Copilot Agent

What You’ll Learn

You’ll fix 13+ accessibility violations:

Key Takeaways

Stage Tool Interaction
Manual snapshot Accessibility Insights FastPass Browser extension
Real-time hints Axe Linter VS Code Problems panel
Semi-AI fixes Copilot completions Inline in VS Code
Full AI fix Copilot coding agent VS Code Chat
Safeguards Three GitHub Actions PR Checks tab

Quick Testing

Resources

Manual Testing with Axe

You can also run axe playwright accessibility tests manually using the included run-axe-tests.js script:

Prerequisites: Make sure Node.js dependencies are installed:

npm install
  1. Start a local server to serve the HTML files:
    npx serve -p 3000
    
  2. Run the axe playwright accessibility tests (in a new terminal):
    node run-axe-tests.js
    
  3. Generate an HTML report comparing both demos:
    node generate-report.js
    
  4. View the report: Open accessibility-report.html in your browser to see:
    • Side-by-side comparison of issues vs fixed demos
    • Detailed violation descriptions and affected elements
    • Specific recommendations for fixing each issue

The tests will output JSON results and show how many violations were found in each demo.

Note: The requirements.txt file is only needed if you want to run the Python-based AI accessibility analyzer script separately - currently run by the github actions workflow.


How the Initial HTML Test Files Were Created

@workspace create a simple html file to showcase how to fix accessibility issues. make the page deliberately non-accessible with a few issues. use plain html