Evan Keller

Why accessibility matters to AI agents, too

A website can look clear and still leave an AI agent guessing. Accessible labels, structure, and control states help explain what the page means.

Consider this illustrative example: you ask an AI assistant to find a continuing education course that fits your schedule and take you to registration. You want the right course and a way to sign up.

The course page looks fine. Dates sit beside the course names. A small arrow opens the available sessions, and a gold button starts registration. You can work out what to do by looking at it.

Depending on the tools the agent uses, it may receive a very different view: a list of headings, links, and controls with names and states. If the arrow has no accessible name, or the page never reports whether the session list is open, that view loses information the design seemed to make obvious.

Correct accessibility structure can help close that gap. Its primary purpose is to give disabled people access to the site. Helping an agent carry out a person’s request is another practical benefit of the same work.

What the page says underneath

The DOM is the browser’s representation of the page’s elements, including the containers developers use to arrange a layout. The accessibility tree is a related representation that exposes meaning for assistive technology. It describes things such as a control’s role, its accessible name, and whether it is expanded or disabled. The accessible name is the label software uses to identify a control. This tree is derived from the page, but it isn’t a second name for the DOM. Chrome’s explanation of the accessibility tree shows how the browser derives it and omits some elements that only serve layout.

That distinction matters on the course page. A large, bold line can look like a heading without being marked as one. A clickable rectangle can look like a button without exposing that role. Text beside a field can look like its label without being associated with the field in the markup.

The visual design supplies clues. The underlying structure needs to supply the meaning too.

Agents don’t all use the same view

There are concrete examples of tools that give agents accessibility information. Vercel Labs’ agent-browser documents a workflow in which an agent gets an accessibility-tree snapshot, then uses references from it to click or fill controls. Microsoft’s Playwright MCP exposes structured accessibility snapshots so language models can interact with pages without needing screenshot interpretation.

A tool’s snapshot can filter or represent the page differently from a browser’s accessibility API. Treating every structured snapshot as an exact copy of what a screen reader receives would be a mistake. What these approaches share is a use for explicit semantics: what an element is and what it is called.

Other tools work visually. Anthropic’s computer-use tool provides screenshots and mouse and keyboard control. Hybrid approaches can use both visual and structural information. Browser Use’s configuration documentation describes screenshot modes alongside the page information supplied to its agent.

These are examples of available approaches, not evidence that most agents use one particular method. The model’s name alone doesn’t tell you how it will read your site. The tools and configuration matter.

My practical conclusion is narrower: if an agent uses the names and states your page exposes, making those accurate gives it better information to work with. That is a reason to fix the page, even though it cannot guarantee the agent will finish the task.

The arrow needs to explain itself

Back on our illustrative course page, suppose that arrow opens a list of sessions. A useful control has a name such as “View available sessions” and communicates whether the list is expanded. W3C’s disclosure pattern describes that behavior: a button, keyboard operation, and an expanded state that changes with the content’s visibility.

An agent receiving those details has something concrete to act on and check afterward. A screen reader user can hear what the control does and whether it is open. Neither should have to infer that meaning from the direction of a tiny arrow.

This is ordinary website engineering. On this site’s mobile navigation, the menu control is a real button with an accessible name. Its expanded state changes when the menu opens or closes. That detail exists to make the navigation usable; an agent that reads the state can benefit from it too.

Adding ARIA everywhere isn’t the answer. Native HTML controls already provide useful behavior. ARIA can supply missing semantics, but assigning a button role to an arbitrary element doesn’t make it work from the keyboard. W3C’s ARIA guidance explains that responsibility clearly. The name, state, and actual behavior need to agree.

Start with a task your visitors need

For a website owner, I would start with one important journey. Ask your developer to walk through finding a course and reaching registration, or whatever the equivalent is for your organization. Look at the page alongside its accessibility information. Check what happens after a control opens, a choice changes, or a form rejects an entry.

That conversation is more useful than asking whether the site is “AI ready.” You can point to a specific problem: the session picker has no name, or the registration field’s label isn’t connected. Fix it in the underlying component so every page using that component benefits.

Then test the journey with a keyboard and with assistive technology. Include disabled users in usability testing where possible. An agent run can provide another observation, but it cannot stand in for that work. W3C’s evaluation guidance is explicit that tools alone cannot determine whether a site meets accessibility standards; knowledgeable human evaluation is required.

An agent might complete registration despite a barrier a person cannot get past. It might also fail because of its own limitations on a well-built page. Neither result, by itself, establishes WCAG conformance.

I wrote about the wider case in Accessibility done right helps everyone. The point here is specific to using a site: a person asks for something, and an agent tries to carry it out. That is a different question from whether a search engine discovers your content or an AI answer cites it.

You don’t need a prediction about how much traffic agents will bring to act on this. Ask your team to inspect the labels and states on the journey your visitors already need. The people using it today are reason enough to get those details right.

← All posts

Want to know where you stand?

We audit your site before the first meeting. Accessibility, Core Web Vitals, and whether search and AI can read you. The two people who write here are the two who would do the work.