Diese Leitfäden zur Behebung sind in englischer Sprache verfasst.
Agent-Bedienbarkeit
Diese Prüfung trägt 7 % des Scores.
How to make a page an agent can operate rather than only read: real controls, accessible names, labelled fields, and the entry blockers that hide everything behind them.
Everything else in this audit asks whether an agent can read your site. This asks whether it can operate it: click the thing, fill the field, follow the link.
These are static heuristics over the served HTML. A page that builds its controls in JavaScript will read as worse here than it behaves, which is itself worth knowing, because a fetch-only agent sees exactly what this check sees.
Controls that are not controls
A <div> with an onclick and no role is a rectangle. An <a> with no href, or one pointing at javascript:, is not a link. An agent building a list of what it can do on this page will not find any of them.
<!-- invisible to anything that is not a mouse --> <div onclick="checkout()">Buy now</div> <!-- a control --> <button type="button" onclick="checkout()">Buy now</button>
Buttons with no accessible name
An icon button with no text, no aria-label, no title and no alt on its image is a control an agent can see and cannot name. It will not press something it cannot describe, and it is right not to.
<button aria-label="Add to cart"><svg …/></button>
Form fields with no label
A placeholder is not a label: it disappears on focus and is not an accessible name. Without <label for>, a wrapping label or an aria-label, an agent filling your form is guessing which box takes the email.
Links that go nowhere
href="#" and href="javascript:void(0)" are placeholders that shipped. An agent following them stays where it is, and depending on how it counts progress, may decide the page is a dead end and give up.
Something in front of the page
A CAPTCHA, a consent wall or a meta http-equiv="refresh" standing between the URL and the content, on a page whose served HTML has almost no text. A person clicks through. An agent that does not run JavaScript sees the wall and nothing behind it.
The fix is rarely to remove the banner. It is to render the content behind it in the served HTML, so that refusing the banner still leaves a readable page.
Heading levels that skip
Jumping from h1 to h3 breaks the outline an agent uses to decide which part of a long page answers the question. Levels are structure, not sizes; style them however you like.
Tables with no header cells
A table of <td> with no <th> is a grid of strings. Which column is the price and which is the weight is carried by position and by bold text, and neither survives extraction.
Frames with no title
An untitled <iframe> is an opaque region. If your booking widget or your video lives in one, an agent cannot tell whether it is the thing it was sent for.
Dates with no machine value
"Last Tuesday" and "03/04/25" are ambiguous, the second one differently in different countries. A <time> element with a datetime attribute says it once, exactly.
<time datetime="2026-04-03">3 April 2026</time>
Media with no dimensions
Images and frames without width and height make the layout move as they load. For a person that is a mis-click; for an agent working from a rendered view it is a coordinate that was right a moment ago.
No language declared
<html lang> is one attribute and it decides whether an assistant answering in Spanish considers your page a source. Without it the language is inferred, and inference is worst on the short pages where it matters most.
No HTML to read
The check received nothing it could parse, so it has nothing to report. That failure is earlier than this check: see the HTML Rendering and Agent Access guides.