ACCESSIBILITY.md

A simple, open format for documenting a project’s accessibility posture, automation, and contributor expectations.

Think of ACCESSIBILITY.md as a README for accessibility: a predictable place for humans and AI coding agents to find your a11y standards.

⚠️ Experimental — Validate Before Use

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.

Why ACCESSIBILITY.md?

README files are for broad project onboarding. ACCESSIBILITY.md adds a dedicated layer for accessibility status, known gaps, and enforcement workflows.

Keeping this guidance explicit improves transparency for users, clarity for maintainers, and reliability for AI coding agents.

Repository Structure

This repository is organized to help you quickly find what to adopt vs. what to reference:

[Repository Root]
├── ACCESSIBILITY-template.md       ← Start here: customise for your project
├── AGENTS.md                       ← AI agent instructions
│
├── examples/                       ← Reference and adapt for your project
│   ├── A11Y_SHIFT_LEFT_WORKFLOW.yml
│   ├── PRE_COMMIT_ACCESSIBILITY_SAMPLE.yaml
│   ├── TRUSTED_SOURCES.yaml
│   ├── Component best practices (SVG, forms, keyboard, diagrams)
│   └── Automation guides (axe-core, shift-left testing)
│
├── .github/workflows/              ← This repo's automation (reference)
├── _layouts/, _config.yml          ← Jekyll site (for documentation)
└── README.md                       ← Complete adoption guide

Key:
📋 Reference and adapt: ACCESSIBILITY-template.md, files in examples/
🤖 Install globally in AI agents: see accessibility-skills
📖 Read for guidance: README.md, AGENTS.md, CONTRIBUTING.md
🛠️ Jekyll/docs site: _layouts/, _config.yml, assets/, index.md

The Framework

Transparency & Disclosure

Publish conformance level, assistive tech coverage, and known barriers.

Operational Governance

Define issue taxonomy, severity triage, and accessibility Definition of Done. Decide whether a barrier's fix belongs locally or upstream with Upstream First, and track any temporary local fix until it is released and verified.

Automated Guardrails

Enforce checks in CI and pre-commit workflows with documented rule coverage.

Reference Examples

Testing and Automation

Content and Media

Interaction and Navigation

Visual Design

Data Visualization

Progressive Enhancement and Quality

Resources

Skills

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.

For deciding whether a fix belongs locally, in an installed capability, or upstream, see Upstream First.

How to Adopt

Follow these steps to implement ACCESSIBILITY.md in your project:

1. Start with the Template

Begin with ACCESSIBILITY-template.md, customise it for your project, and place it at your repository root. Link it from your README.

2. Set Up GitHub Workflows

Reference workflows from the examples/ directory. Test them in a branch or disposable repository before making them required. A11Y_SHIFT_LEFT_WORKFLOW.yml is an experimental reference — review and adapt it for your project.

3. Configure AI Agents

Install skills globally from the accessibility-skills repository in Codex, Claude Code, or other AI coding assistants. Or reference AGENTS.md / create .cursorrules for project-level configuration.

4. Add Pre-Commit Hooks

Reference PRE_COMMIT_ACCESSIBILITY_SAMPLE.yaml as a starting point. It is a minimal placeholder — review and adapt it for your project before use.

5. Reference Component Guides

Adapt the best practice guides for forms, SVGs, keyboard navigation, light/dark mode, user personalization, and diagrams from the examples directory to your project's needs.

6. Keep it Living

Update ACCESSIBILITY.md as your project evolves. Track metrics, document gaps, and maintain your commitment to accessibility.