The open standard for project accessibility transparency, governance, and AI-assisted inclusion.
Just as SECURITY.md defines how to handle vulnerabilities, ACCESSIBILITY.md defines the inclusive state of a project. It is a human and machine-readable manifest that tracks a project’s commitment to accessibility (a11y) through metrics, guardrails, and automated enforcement.
Looking for the Claude Skills approach? If you want to add accessibility guidance to a project via an
AGENTS.skills, see the companion repo: mgifford/accessibility-skill.
Warning
This project is still experimental. Most of the content on this site was generated with AI assistance and has not yet been fully validated in real-world conditions. Impacts may vary significantly depending on where and how it is implemented.
Do not expect that simply adding an ACCESSIBILITY.md file will make your digital tool accessible. What it can do is signal to developers that accessibility matters, and make explicit what your development processes are and how they affect accessibility.
People with direct experience conducting studies on the accessibility impact and cost implications of AI-assisted workflows should be involved before drawing conclusions from this work.
Please share your experience — positive or negative — in the issue queue. Include links and references so claims can be examined and discussed by the community.
New to this project? Here's what you need:
- Copy the template → Start with ACCESSIBILITY-template.md
- Add CI workflows → Copy from examples/ directory
- Configure AI agents → Use AGENTS.md as a guide
- Read the framework → Continue below to understand the approach
Looking for specific files? See the Repository Structure below.
Additional resources:
- Installation: INSTALL.txt
- Procurement: Section 508 Requirements for Government Contracts
- Comparison with similar projects: COMPARISON_WITH_KREERC.md
This repository is organized to separate content you adopt from project documentation:
[Repository Root]
├── ACCESSIBILITY-template.md ← Start here: Copy this template
├── ACCESSIBILITY.md ← Our own accessibility commitment
├── AGENTS.md ← AI agent instructions (copy/adapt)
├── CONTRIBUTING.md ← How to contribute to this project
├── SUSTAINABILITY.md ← Sustainability policy
├── BROWSER_SUPPORT.md ← Browser support guidelines
├── COMPARISON_WITH_KREERC.md ← Comparison with similar projects
├── README.md ← This file
│
├── examples/ ← Copy these to your project
│ ├── A11Y_SHIFT_LEFT_WORKFLOW.yml ← GitHub Actions workflow
│ ├── PRE_COMMIT_ACCESSIBILITY_SAMPLE.yaml ← Pre-commit hooks
│ ├── TRUSTED_SOURCES.yaml ← Vetted a11y resources
│ ├── AUDIO_VIDEO_ACCESSIBILITY_BEST_PRACTICES.md ← Component guides
│ ├── ANCHOR_LINKS_ACCESSIBILITY_BEST_PRACTICES.md
│ ├── CI_CD_ACCESSIBILITY_BEST_PRACTICES.md
│ ├── COLOR_CONTRAST_ACCESSIBILITY_BEST_PRACTICES.md
│ ├── CONTENT_DESIGN_ACCESSIBILITY_BEST_PRACTICES.md
│ ├── SVG_ACCESSIBILITY_BEST_PRACTICES.md
│ ├── FORMS_ACCESSIBILITY_BEST_PRACTICES.md
│ ├── KEYBOARD_ACCESSIBILITY_BEST_PRACTICES.md
│ ├── LIGHT_DARK_MODE_ACCESSIBILITY_BEST_PRACTICES.md
│ ├── USER_PERSONALIZATION_ACCESSIBILITY_BEST_PRACTICES.md
│ ├── MANUAL_ACCESSIBILITY_TESTING_GUIDE.md
│ ├── MERMAID_ACCESSIBILITY_BEST_PRACTICES.md
│ ├── AXE_RULES_COVERAGE.md ← Automation reference
│ ├── SHIFT_LEFT_ACCESSIBILITY_AUTOMATION.md
│ └── README.md ← Examples index
│
├── .github/workflows/ ← This repo's automation (reference)
│ ├── link-check.yml ← Weekly link validation
│ └── maintain-trusted-sources.yml ← Monthly TRUSTED_SOURCES maintenance
├── _layouts/ ← Jekyll theme (for documentation site)
├── _config.yml ← Jekyll config (for documentation site)
├── assets/ ← Site assets (for documentation site)
├── index.md ← Landing page (for documentation site)
├── prompt-generator.md ← Interactive prompt builder
└── action-playbook.md ← Practical workflow guide
Key:
- ✅ Copy to your project:
ACCESSIBILITY-template.md, files inexamples/ - 📖 Read for guidance:
README.md,AGENTS.md,CONTRIBUTING.md,COMPARISON_WITH_KREERC.md - 🛠️ Jekyll/docs site:
_layouts/,_config.yml,assets/,index.md
Modern software is built by two groups: Humans and AI Agents. Currently, neither has a reliable place to look for a project's accessibility "Source of Truth."
- For Users: It provides transparency on what works, what doesn't, and how to report barriers.
- For Maintainers: It standardizes how a11y debt is tracked and how contributors are expected to code.
- For AI Agents: It provides explicit "System Instructions" for LLMs (like Copilot, Cursor, or GPT-4) to ensure they don't generate inaccessible code patterns.
An effective ACCESSIBILITY.md file acts as a Living Commitment, covering three core pillars:
- Conformance Level: Current WCAG status (e.g., 2.2 AA).
- Known Gaps: Honest disclosure of current barriers.
- Assistive Tech: Actively tested with.
- Taxonomy: Standardized labels for issues (e.g.,
accessibility,color-contrast). - Definition of Done: Requirement that no PR is merged without passing a11y linting.
- Severity Matrix: How a11y bugs are prioritized compared to feature requests.
- CI/CD Integration: Links to workflows running
axe-coreorLighthouse. - Axe Rules Coverage: Explicit mapping of which rules are automated (Example).
- GitHub Accessibility Scanner: AI-powered accessibility scans with issue creation via
github/accessibility-scanner(Integration Guide). - Shift-Left Prevention: Stop accessibility regressions before merge with pre-commit hooks and CI gates (Guide).
- Copy-Ready Samples: Starter files for CI and local guardrails (Workflow, pre-commit config).
- Trusted Source Registry: Machine-readable list of vetted accessibility references for AI retrieval and citation policies (YAML), including wai-yaml-ld for structured WCAG/ARIA/ATAG standards data and CivicActions Open Requirements Library for procurement requirements.
- Link Integrity Checks: Scheduled and PR-time validation of documentation links (Workflow).
- Best Practice Reference: Project-specific guidance for complex components like CI/CD pipelines, audio/video, anchor links, ARIA live regions, color contrast, content design, image alt text, SVGs, Mermaid diagrams, keyboard interactions, light/dark modes, navigation, plain language, tables, touch and pointer, user personalization, forms, maps, charts and graphs, tooltips, print styles, digital quality (Opquast), and accessibility bug reporting.
- Manual Testing Guide: Comprehensive procedures for keyboard-only and screen reader testing, with step-by-step workflows for validating accessibility beyond automated tools (Guide).
We recommend including a dynamic table in your file to track progress. This turns a static statement into a measurable pulse.
| Metric | Status / Source |
|---|---|
| A11y Issue Health | Open: 12 / Closed (Last 30d): 8 |
| Automated Pass Rate | 96% (via GitHub Actions) |
| CI/CD Enforcement | 🛑 Strict (Build fails on a11y errors) |
| Contributor Guide | Read the A11y Guide |
This repository provides templates and guidance to help you implement ACCESSIBILITY.md in your own projects.
Option A: Start with the template
- Copy ACCESSIBILITY-template.md to your repository root
- Rename it to
ACCESSIBILITY.md - Customize the sections to match your project's current state
- Link it from your
README.md
Option B: Use the interactive prompt generator
- Visit prompt-generator.md for a form-based tool
- Or use examples/ACCESSIBILITY_PROMPT_STARTER.md for guidance
Copy the workflows that match your needs from the examples/ directory:
Basic setup:
# Copy the main accessibility workflow
cp examples/A11Y_SHIFT_LEFT_WORKFLOW.yml .github/workflows/Additional workflows:
- Browser testing: Copy
examples/BROWSER_TESTING_WORKFLOW.ymlfor multi-browser a11y checks - Link checking: See
.github/workflows/link-check.yml(already in this repo) as a reference
Workflow features:
- ✅ Runs axe-core accessibility tests on every PR
- ✅ Fails builds on critical accessibility issues
- ✅ Provides detailed reports for fixing issues
Learn more: SHIFT_LEFT_ACCESSIBILITY_AUTOMATION.md
Help your AI tools (GitHub Copilot, Cursor, Claude, Codex, etc.) respect accessibility standards:
For project-level configuration:
For Cursor or similar tools:
- Copy AGENTS.md to your repository root
- Or create
.cursorruleswith instructions from AGENTS.md - Customize component-specific guides as needed
For GitHub Copilot:
- Add ACCESSIBILITY.md reference to your project documentation
- Copilot will automatically read it for context
What AI agents get:
- WCAG 2.2 AA compliance requirements
- Component-specific best practices (forms, SVGs, diagrams, keyboard, light/dark modes)
- Asset optimization guidelines
- Testing requirements
See the full guide: AGENTS.md
Catch accessibility issues before they're committed:
# Copy the pre-commit configuration
cp examples/PRE_COMMIT_ACCESSIBILITY_SAMPLE.yaml .pre-commit-config.yaml
# Install pre-commit (if not already installed)
pip install pre-commit
# Install the hooks
pre-commit installCopy relevant guides to your project's documentation:
- Accessibility bug reporting: examples/ACCESSIBILITY_BUG_REPORTING_BEST_PRACTICES.md
- Anchor links: examples/ANCHOR_LINKS_ACCESSIBILITY_BEST_PRACTICES.md
- Audio/Video: examples/AUDIO_VIDEO_ACCESSIBILITY_BEST_PRACTICES.md
- Charts and graphs: examples/CHARTS_GRAPHS_ACCESSIBILITY_BEST_PRACTICES.md
- Color contrast: examples/COLOR_CONTRAST_ACCESSIBILITY_BEST_PRACTICES.md
- CI/CD pipelines: examples/CI_CD_ACCESSIBILITY_BEST_PRACTICES.md
- Content Design: examples/CONTENT_DESIGN_ACCESSIBILITY_BEST_PRACTICES.md
- Forms: examples/FORMS_ACCESSIBILITY_BEST_PRACTICES.md
- SVGs: examples/SVG_ACCESSIBILITY_BEST_PRACTICES.md
- Keyboard navigation: examples/KEYBOARD_ACCESSIBILITY_BEST_PRACTICES.md
- Light/Dark mode: examples/LIGHT_DARK_MODE_ACCESSIBILITY_BEST_PRACTICES.md
- Tooltips: examples/TOOLTIP_ACCESSIBILITY_BEST_PRACTICES.md
- User Personalization: examples/USER_PERSONALIZATION_ACCESSIBILITY_BEST_PRACTICES.md
- Mermaid diagrams: examples/MERMAID_ACCESSIBILITY_BEST_PRACTICES.md
- Manual testing: examples/MANUAL_ACCESSIBILITY_TESTING_GUIDE.md
- Maps: examples/MAPS_ACCESSIBILITY_BEST_PRACTICES.md
- Progressive enhancement: examples/PROGRESSIVE_ENHANCEMENT_BEST_PRACTICES.md
- Digital quality (Opquast): examples/OPQUAST_DIGITAL_QUALITY_BEST_PRACTICES.md
Copy the vetted accessibility resources list:
cp examples/TRUSTED_SOURCES.yaml docs/This provides:
- Machine-readable WCAG standards via wai-yaml-ld
- Procurement requirements via CivicActions Open Requirements Library
- Curated accessibility references for AI systems
Contributing to this project:
- CONTRIBUTING.md: How to contribute, including accessibility accommodations
- ACCESSIBILITY.md: This repository's own accessibility commitment
- SUSTAINABILITY.md: Digital sustainability and AI usage policy
- BROWSER_SUPPORT.md: Browser version support guarantees
Building the documentation site:
- INSTALL.txt: Local setup and Jekyll build instructions
Reference materials:
- action-playbook.md: Practical workflow guide for teams
- examples/README.md: Complete index of all examples
The TRUSTED_SOURCES.yaml file is automatically maintained via a monthly GitHub Action that:
- Validates URLs: Checks for 404 errors with a two-strike removal policy
- First 404 → marked as "not active"
- Second 404 → removed from the list
- Enriches metadata: Automatically fills in missing owner, license, and freshness information
- Quality checks: Validates YAML structure and ensures data consistency
- Creates PRs: All changes are reviewed by maintainers before merging
This ensures the trusted resources list remains high-quality and up-to-date without manual maintenance overhead.
📖 Full maintenance documentation
To ensure your AI coding assistant respects your accessibility standards, add this to your .cursorrules, AGENTS.md, or system prompt:
"Before modifying or creating UI components, read
ACCESSIBILITY.md. Ensure all changes comply with WCAG 2.2 AA standards and follow the component-specific best practices in the examples directory. Optimize assets and use AI judiciously."
For a comprehensive guide on AI agent instructions for this project, see AGENTS.md.
For LLMs to provide more accurate, standards-grounded accessibility guidance, consider using wai-yaml-ld as a structured source of truth. This repository provides machine-readable YAML/JSON-LD artifacts of W3C WAI standards (WCAG, ATAG, UAAG, ARIA, HTML, CSS) that help AI agents:
- Map implementation choices to specific standards relationships
- Separate normative vs informative references
- Produce auditable, standards-aligned recommendations
- Explain the reasoning behind accessibility advice
For a broad view of where AI intersects with accessibility research, Robert Dodd's analysis of 137 academic papers is a useful starting point:
The Current State of Digital Accessibility Research and AI: What 137 Papers Tell Us — Robert Dodd surveys the academic literature to map research trends, gaps, and opportunities where AI tools are being applied to digital accessibility.
AI agent skills have moved to a dedicated repository: accessibility-skills.
Topic-specific .skill archives (forms, keyboard, maps, SVG, and more) are available there for global installation in Claude Code, Codex, and other AI coding assistants.
We will do our best to keep the instructions consistent whichever way you use this.
This section documents which AI tools have been used in the development and maintenance of this repository, and in what capacity. Per this project's AGENTS.md and SUSTAINABILITY.md, AI usage must be disclosed transparently.
This project is a documentation and template repository. No AI runs at runtime when users read or adopt these files, and no browser-based AI is embedded in the project itself.
| Tool | Provider | Used for |
|---|---|---|
| GitHub Copilot Coding Agent | GitHub / Microsoft (Claude models via Anthropic) | Creating and maintaining documentation files, adding best-practice guides, refactoring content, managing pull requests, and performing repository maintenance tasks |
- Runtime AI: None. This is a static documentation project; no AI is invoked when users read or use the files.
- Browser-based AI: None. No client-side or browser-based AI features are embedded in this project.
- Human oversight: All AI-generated content is reviewed by the repository maintainer before merging. The README already notes: "Most of the content on this site was generated with AI assistance and has not yet been fully validated in real-world conditions."
If you use an AI tool when contributing to this repository, please add or update the entry in the table above in your pull request. See AGENTS.md for the full instruction.
We are looking for feedback on the taxonomy and automation workflows.
- Read the guide: See CONTRIBUTING.md.
- Found a gap? Open an issue.
- Have a better workflow? Send a PR.
- Using this? Let us know so we can add you to the "Adopters" list.
This project is licensed under the MIT License.
Would you like me to generate a sample specification.md next to define the exact Markdown headings and data structures for this standard?