GitHub launches an AI agent that checks for and fixes accessibility errors

GitHub is testing an experimental AI agent that checks code accessibility in pull requests. The agent automatically catches common errors: incorrect markup, poor names for controls, missing status announcements, and logical navigation problems for users of assistive technologies. Out of 3,5 thousand PRs, it successfully fixed 68% of problems. But complex patterns such as drag-and-drop, tree view and data grid are left to humans.

AI-processed from GitHub Blog; edited by Hamidun News
GitHub launches an AI agent that checks for and fixes accessibility errors
Source: GitHub Blog. Collage: Hamidun News.
Listen to article
Article Fact Sheet & Key Figures
ParameterDetails
Primary sourceGitHub Blog ↗
Editor-in-Chief
Incorrect semantic markupHTML tags that do not reflect the meaning and structure of the content
Poor names for controlsbuttons and input fields without clear `<label>` elements or aria attributes
Missing status announcementsthe system does not report state changes (for example, validation errors)

GitHub is experimenting with an AI agent that checks code for accessibility and automatically fixes common errors that get in the way of users of assistive technologies such as screen readers.

How the agent works

The team first tried a monolithic architecture: one big agent for everything. But that required too many tokens and carried a high risk of hallucinations. So GitHub rebuilt the system as a two-tier design.

At the top level sits a main orchestrator. It routes requests, validates results and manages escalation. At the lower level, two specialized agents work one after the other: first a reviewer checks the code in read-only mode and finds problems, then an implementer either generates fixes or simply offers hints.

The agents do not talk to each other directly. They communicate only through rigid, predefined templates. This reduces token consumption and almost completely eliminates hallucinations. Each step runs in a strict, fixed order, as if a human accessibility specialist were making the fixes.

What problems it fixes

The agent catches five main categories of errors:

  • Incorrect semantic markup: HTML tags that do not reflect the meaning and structure of the content
  • Poor names for controls: buttons and input fields without clear `<label>` elements or aria attributes
  • Missing status announcements: the system does not report state changes (for example, validation errors)
  • No text alternatives for images: a missing `alt` attribute
  • Confusing logical navigation: keyboard focus moves unpredictably or incorrectly

During the pilot, the agent processed 3535 pull requests and fixed problems in 68% of cases. For users who rely on screen readers and other assistive technologies, that makes a real difference in how usable GitHub is.

Challenges and guardrails

GitHub ran into an interesting paradox: LLMs are trained on decades of historical code, including plenty of examples of poor accessibility. As a result, the models themselves often generate the very accessibility antipatterns that need fixing. For example, they may forget a `<label>` for an input or suggest an incorrect aria structure.

The team added several guardrails. First, the agent does not touch complex patterns at all (drag-and-drop interfaces, tree view, data grid). It sends them to human review, because they require deep expertise. Second, a script analyzes code complexity; if it exceeds a threshold, the agent switches to guidance-only mode instead of trying to generate code on its own.

It also turned out that historical data matters more than generic instructions. GitHub used its own database of 3,5 thousand manually logged and fixed errors, accumulated over the years. These real examples from its own code did the most to help the agent learn to work well and generate relevant fixes.

What this means

AI does not solve the accessibility problem on its own. But it noticeably speeds up the work and helps catch errors early. GitHub plans to open-source the agent so that other projects and companies can apply it to their own code. It could become a standard for accessibility checks in CI/CD pipelines.

Story

Key Questions Answered

How the agent works?

The team first tried a monolithic architecture: one big agent for everything. But that required too many tokens and carried a high risk of hallucinations. So GitHub rebuilt the system as a two-tier design. At the top level sits a main orchestrator. It routes requests, validates results and manages escalation. At the lower level, two specialized agents work one after the other: first a reviewer checks the code in read-only mode and finds problems, then an implementer either generates fixes or simply offers hints. The agents do not talk to each other directly. They communicat

What problems it fixes?

The agent catches five main categories of errors: Incorrect semantic markup: HTML tags that do not reflect the meaning and structure of the content Poor names for controls: buttons and input fields without clear `<label>` elements or aria attributes Missing status announcements: the system does not report state changes (for example, validation errors) No text alternatives for images: a missing `alt` attribute Confusing logical navigation: keyboard focus moves unpredictably or incorrectly During the pilot, the agent processed 3535 pull requests and fixed problems in 68% of c

What are the key details on Challenges and guardrails?

GitHub ran into an interesting paradox: LLMs are trained on decades of historical code, including plenty of examples of poor accessibility. As a result, the models themselves often generate the very accessibility antipatterns that need fixing. For example, they may forget a `<label>` for an input or suggest an incorrect aria structure. The team added several guardrails. First, the agent does not touch complex patterns at all (drag-and-drop interfaces, tree view, data grid). It sends them to human review, because they require deep expertise. Second, a script analyzes code co

ZK
Zhemal Khamidun — CPO at Alpina Digital, product manager of AlpinaGPT. Building AI products since 2019. Hamidun News is a pet project that grew into a production aggregator with 6,000+ readers.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
What do you think?
Loading comments…