Optimising for AI Agents and Agentic Browsers
AI agents such as ChatGPT agent and agentic browsers read pages mainly through the accessibility tree, then click, type and buy on a user's behalf. Sites built with semantic HTML, labelled controls and simple flows are the ones agents can actually use.
  • Agents combine screenshots, the DOM and the accessibility tree, and the accessibility tree is the most efficient view of a page.
  • OpenAI says ChatGPT Atlas uses ARIA roles and labels to understand pages, so accessibility work is now agent work too.
  • Use native HTML elements first. ARIA fills gaps, it does not replace semantics, and stuffing labels with keywords helps nobody.
  • Every task should be completable without hover, drag, guesswork or a visual-only cue.
  • Do not block signed agents by accident, and never hide instructions aimed at agents in your pages.

Search used to end with a click. Increasingly it ends with an agent doing the job: comparing three products, filling in a booking form, adding items to a basket. ChatGPT agent and the Atlas browser, Perplexity's Comet, Claude in Chrome and agentic features arriving in mainstream browsers all work this way. If an agent cannot work out how to use your site, it quietly picks a competitor that it can use. GEO gets you mentioned. Agent readiness gets the task completed on your site.

How agents see a page

Agents use three views of a page, often together:

  • Screenshots, interpreted by a vision model. Flexible, but slow and error-prone with small text and busy layouts.
  • The DOM, the full element tree. Complete, but huge and full of noise.
  • The accessibility tree, the simplified view browsers build for screen readers. It lists roles (button, link, textbox, heading), accessible names and states, and leaves out most of the clutter.

The accessibility tree is the efficient option, which is why it is increasingly favoured. OpenAI's publishers and developers FAQ states that ChatGPT Atlas uses ARIA roles and labels to interpret page structure and interactive elements, and that more accessible sites work better with its agent. Perplexity has described a similar mix of accessibility tree snapshots and selective use of vision. The MDN glossary explains the accessibility tree in more depth.

Semantic HTML first, ARIA second

The rush to add "ARIA tags" deserves a warning. The W3C's guidance on using ARIA says to use a native HTML element whenever one exists. A real button is announced as a button, is focusable and works with the keyboard, all for free. A div with a click handler is none of those things, and adding a role to it only patches part of the gap. Accessibility specialist Adrian Roselli has criticised the AI-driven push for ARIA, warning that it invites keyword-stuffed labels and badly misused roles. He is right. The goal is a page that works for screen reader users, and a page that works for them works for agents.

 <!-- An agent cannot tell this is clickable -->
<div class="btn" onclick="addToBasket()"><svg>...</svg></div>

<!-- Native, named and stateful -->
<button type="button" aria-label="Add to basket">
  <svg aria-hidden="true">...</svg>
</button> 

An agent-readiness checklist

Structure

  • Landmarks: header, nav, main and footer elements, so an agent can find the content and skip the chrome.
  • One clear H1 and a logical heading outline.
  • Real anchor links with an href for navigation, and a distinct URL for each meaningful state, such as a filtered list or a selected product option.

Controls

  • Native buttons, links, selects and checkboxes, each with a visible or accessible name that says what it does.
  • No hover-only menus, drag-only sliders or custom dropdowns that ignore the keyboard.
  • Icon buttons with an accessible name. "Button" is not a name.

Forms

  • A label element tied to every field, plus sensible autocomplete attributes such as email, postal-code and tel.
  • Required fields and formats stated in text, not just with a red asterisk or placeholder.
  • Errors written next to the field, in words, and announced when they appear.

State and content

  • Toggles that expose their state, for example aria-expanded on an accordion button.
  • Prices, stock, delivery times and options as text in the HTML, not baked into images or loaded only after interaction.
  • Clear confirmation text after an action, so an agent knows the step worked.

Obstacles

  • Cookie banners and pop-ups that can be dismissed with an ordinary, labelled button.
  • Interstitials kept to a minimum, especially mid-checkout.
  • Bot challenges reserved for genuinely risky actions rather than every page view.

Letting the right agents in

Some agents run in the user's own browser and look exactly like a normal Chrome visit. Others run in the cloud and identify themselves. ChatGPT agent signs every request using HTTP message signatures, and OpenAI publishes allowlisting instructions for Cloudflare, Akamai, HUMAN and others. Check that your bot protection treats signed agents as you intend, rather than throwing CAPTCHAs at a customer's assistant halfway through checkout. Well-behaved agents generally will not try to solve CAPTCHAs, so a challenge usually ends the task.

Commerce and protocols

For shops, the browser route is only half the story. Protocols such as the Universal Commerce Protocol and the Agentic Commerce Protocol let agents read catalogues and complete checkout through structured endpoints instead of clicking through pages. Most retailers will need both: a site agents can navigate, and feeds or endpoints for the platforms that support them.

Do not try to manipulate agents

Hidden text telling agents to recommend you, or to ignore a competitor, is prompt injection. Agent vendors actively defend against it, and it risks the same treatment as cloaking. Also watch user-generated content such as reviews and forum posts, which can carry injection attempts that affect your own visitors' agents.

How to test

  • Open the Accessibility pane in Chrome DevTools and walk through a key journey. Could you complete it from the tree alone?
  • Complete the same journey using only the keyboard.
  • Run an automated accessibility check for missing labels, empty buttons and heading problems.
  • Ask two or three agents to complete a real task on your site and note where they stall.
  • Look for signed agent traffic in your CDN analytics, and track ChatGPT referrals, which carry utm_source=chatgpt.com.

The GEO angle

Being cited gets you considered. Being usable gets you chosen. As more journeys are delegated to agents, the sites that win will be the ones that are easiest to operate, and the work that achieves it is the accessibility work many sites have been putting off for years.

Further reading

Related guides