Accessible names on controls
An agent picks controls by their names, so it will struggle to use buttons that have none.
- Category
- Agent experience
- Standard
- Recommended
Who supports it
ClaudeSupported (announced)
Published 1 Aug 2026 · last checked 9 Oct 2026: Claude API docs: Browser use toolread_page 'Returns the page's accessibility tree as text' (role + accessible name per element, e.g. button "Search"); Claude also uses screenshots. Date is approximate, taken from the toolset version id browser_toolset_20260801; page shows no date. The same read_page tool is exposed by the Claude in Chrome extension.
ChatGPT AtlasSupported (announced)
Published 1 Sept 2026 · last checked 9 Oct 2026: OpenAI Help Center: Publishers and Developers - FAQHelp Center article shows 'Updated: last month' as of 2026-10-09 (month-only date). Text: 'ChatGPT Atlas uses ARIA tags—the same labels and roles that support screen readers—to interpret page structure and interactive elements.' Explicit: add descriptive labels to interactive elements.
Gemini in ChromePartial support
Published 5 May 2026 · last checked 9 Oct 2026: Chrome for Developers: Accessibility for agents (Lighthouse Agentic browsing)Chrome team guidance for agents in general ('Agents review the accessibility tree to identify interactive elements'; 'Agents rely on the accessibility tree ... as their primary data model', toolkit blog 2026-06-22). It does not name Gemini in Chrome explicitly, hence partial. Explicit on labels: 'missing labels can block users with visual disabilities and agents from completing a task.'
24 others: no evidence yet. See every agent and browser
What it checks
For every visible interactive element on the rendered page (native and non-native, as counted by Native interactive controls), the extension looks for a name in this order:
- an
aria-label - an
aria-labelledbyreference - a
<label>that wraps the control or points to it withfor - the element’s own text
- a
titleattribute - the
alttext of the element or of an image inside it - a
valueattribute
A control with none of these has no accessible name. An agent choosing what to click has nothing to go on.
Results
| Status | When |
|---|---|
| Pass | Every control has an accessible name |
| Warn | Some controls are unnamed, up to 25% of them |
| Fail | More than 25% of controls are unnamed |
| N/A | The page has no interactive controls |
| Unmeasured | The extension could not read the page (open it in the active tab) |
The result lists locators for the unnamed controls.
How to fix
Give every control visible text, or label it. Icon-only buttons are the most common cause:
<!-- Before -->
<button class="search-toggle"><svg>…</svg></button>
<!-- After -->
<button class="search-toggle" aria-label="Search"><svg aria-hidden="true">…</svg></button>
For an image link, put the name in the image’s alt text.
Support by agent and browser
Announced means the vendor’s own docs or announcement say so. Published is the date on the vendor’s own page, where it has one. Checked is the last time our weekly research found that page still saying so.
| Agent | Status | Source |
|---|---|---|
| AI assistants | ||
| Claude Anthropic | Supported (announced) | Claude API docs: Browser use tool Published · Checked read_page 'Returns the page's accessibility tree as text' (role + accessible name per element, e.g. button "Search"); Claude also uses screenshots. Date is approximate, taken from the toolset version id browser_toolset_20260801; page shows no date. The same read_page tool is exposed by the Claude in Chrome extension. |
| AI browsers | ||
| ChatGPT Atlas OpenAI | Supported (announced) | OpenAI Help Center: Publishers and Developers - FAQ Published · Checked Help Center article shows 'Updated: last month' as of 2026-10-09 (month-only date). Text: 'ChatGPT Atlas uses ARIA tags—the same labels and roles that support screen readers—to interpret page structure and interactive elements.' Explicit: add descriptive labels to interactive elements. |
| Gemini in Chrome Google | Partial support | partial Chrome for Developers: Accessibility for agents (Lighthouse Agentic browsing) Published · Checked Chrome team guidance for agents in general ('Agents review the accessibility tree to identify interactive elements'; 'Agents rely on the accessibility tree ... as their primary data model', toolkit blog 2026-06-22). It does not name Gemini in Chrome explicitly, hence partial. Explicit on labels: 'missing labels can block users with visual disabilities and agents from completing a task.' |
No evidence yet24
- ChatGPT
- Gemini
- Perplexity
- Copilot
- Meta AI
- Comet
- Dia
- Edge Copilot Mode
- Claude Code
- Cursor
- Codex
- GitHub Copilot
- Windsurf
- CCBot
- Applebot
- Amazonbot
- Bytespider
- Cohere
- Mistral
- DuckAssist
- Chrome
- Edge
- Firefox
- Safari
Names and marks belong to their owners and are used only to identify products. None of these vendors is affiliated with Sitebulb. Spotted something out of date? Send a correction.
Adoption on the top 100 sites
78 of 100 measured sites implement it
Sites implementing it78
- #1 google.com
- #2 cloudflare.com
- #3 aws.amazon.com (via amazonaws.com)
- #4 facebook.com
- #9 microsoft.com
- #11 youtube.com (with warnings)
- #12 apple.com
- #13 instagram.com
- #15 mail.ru (with warnings)
- #16 x.com (via twitter.com)
- #18 linkedin.com
- #20 dzen.ru (with warnings)
- #24 azure.microsoft.com (via azure.com)
- #26 m365.cloud.microsoft (via office.com)
- #32 github.com
- #33 wikipedia.org
- #37 fastly.com (via fastly.net)
- #39 whatsapp.com (via whatsapp.net)
- #42 bing.com
- #43 netflix.com
- #44 triplinkintl.com (with warnings)
- #48 gandi.net
- #50 marketingplatform.google.com (via doubleclick.net)
- #55 wordpress.org
- #56 teams.live.com (via skype.com)
- #57 cloudflare.net
- #60 digicert.com
- #67 domains.google (via googledomains.com)
- #68 zoom.com (via zoom.us) (with warnings)
- #69 uk.yahoo.com (via yahoo.com) (with warnings)
- #70 sso.myfritz.net (via myfritz.net) (with warnings)
- #71 endpoints.news (with warnings)
- #72 api.whatsapp.com (via wa.me)
- #75 roblox.com (with warnings)
- #76 opera.com
- #80 baidu.com (with warnings)
- #83 ya.ru (via yandex.net)
- #84 nginx.org
- #85 ntp.org (with warnings)
- #86 msn.com
- #87 qq.com (with warnings)
- #90 vimeo.com
- #91 primevideo.com (via amazonvideo.com)
- #93 bunny.net (via b-cdn.net) (with warnings)
- #94 blogger.com (via blogspot.com)
- #95 mozilla.org
- #96 f5.com (with warnings)
- #98 telegram.org (via t.me) (with warnings)
- #99 store.epicgames.com (via epicgames.com) (with warnings)
- #101 wordpress.com (with warnings)
- #103 reddit.com
- #106 sentry.io (with warnings)
- #107 letsencrypt.org (via lencr.org) (with warnings)
- #109 ui.com (with warnings)
- #110 european-union.europa.eu (via europa.eu)
- #112 chatgpt.com
- #116 bitly.com (via bit.ly) (with warnings)
- #117 ipify.org
- #120 samsung.com (with warnings)
- #122 intuit.com
- #127 openai.com
- #128 one.one.one.one (via cloudflare-dns.com) (with warnings)
- #130 registrar-servers.com
- #131 pages.github.com (via github.io) (with warnings)
- #132 dropbox.com
- #135 discord.com (via discord.gg) (with warnings)
- #136 developer.adobe.com (via adobe.io)
- #139 apache.org (with warnings)
- #140 android.com
- #141 nih.gov
- #144 vk.ru
- #150 t-online.de (with warnings)
- #153 webex.com
- #154 snapchat.com (with warnings)
- #156 godaddy.com (with warnings)
- #158 kaspersky.co.uk (via kaspersky.com) (with warnings)
- #159 firebase.google.com (via crashlytics.com)
- #160 tumblr.com
Overview
How this rating is worked out8 of 9 points
| Factor | Points | Why |
|---|---|---|
| Vendor support | 2 / 3 | 2 vendors supporting, 1 partly or planned |
| Top-100 adoption | 3 / 3 | 78% of measured sites |
| Spec maturity | 3 / 3 | Published standard |
8 or more points is Established, 5 to 7 is Gaining traction, 2 to 4 is Speculative and under 2 is Stalled. A feature is also Stalled when more vendors have said no than yes. Read the spec.
Community insights
No community insights for this feature yet.
Quotes are from public posts, checked against the original before they appear here. Suggest an insight, or ask for yours to be removed.