AI & security
Can an agent find your buttons, read your labels and finish the task
AI agents that book, buy and fill forms on a user's behalf drive a real browser. They read the accessibility tree, locate a control by its name, click it, and check whether the state changed. Nothing about that resembles crawling.
Which means a site can be perfectly crawlable and completely unusable by an agent. Every button a styled `div`, every menu hover-only, every field unlabelled, every listing behind infinite scroll, a consent wall over the whole page - each of those is invisible to a traditional audit and fatal to an agent.
28 rules cover what an agent has to do: perceive the page (text in the DOM, not baked into canvas), navigate it (landmarks, real links), act on it (real buttons with accessible names), transact (labelled fields, autocomplete tokens, announced errors), understand what is on offer (schema.org Actions, search), and get past whatever is in the way.
Why this matters
When an assistant tries to book a table or complete a checkout on someone's behalf and cannot, the failure leaves no trace on your side. No error, no failed transaction, no bounce worth noticing — the request that would have shown up was simply never made. You find out months later, if at all, when somebody mentions their assistant could not finish and they used a competitor instead.
An Add to cart built from a styled div with a click handler is not a control at all to something reading the page programmatically, so the run halts there. Because the order never reaches your server, there is no abandoned basket and no failed payment to investigate — only a shortfall you cannot attribute to anything.
A field with no label and no autocomplete token forces an agent to infer what it wants from a placeholder or whatever text sits nearby. It guesses, and the booking goes through with the phone number in the address line and the wrong date. You find out from the customer, and you refund it.
A menu that only opens on hover, links pointing at href="#", a listing that loads more rows only when someone scrolls — each is a dead end for a visitor with no pointer and no patience for scrolling. The agent reports back on what it could actually reach, which is roughly your homepage, and recommends a shop whose products it could enumerate.
All 28 rules are assertions about the rendered document: real buttons, accessible names, labelled fields, reachable menus, announced errors, text that exists as text rather than pixels. Said plainly, that means the other half is missing. Nothing here inspects capability manifests, content negotiation, bot authentication or API catalogues, and the free agent-readiness scanners released in 2026 cover that side rather than this one. If you need both, run both.
The document these rules are evaluated against is the one that exists once scripts have executed, which is the document an agent actually operates on. On a site that assembles its interface in the browser, the untouched server response contains almost no controls at all. That raw response is kept separately and used for markup conformance, never for these checks.
There is no published specification for agent readiness, so the rules encoding observation rather than a standard are declared as such and kept out of the score. Ten run, appear in your report and cannot cost you a point. Among those that do score, a rule resting on early evidence carries 0.3 of its weight against 1.0 for one backed by a specification. A missing test identifier therefore cannot outrank an unlabelled checkout field.
This check runs on its own here, and as part of the full audit alongside the other 985 rules. Either way the findings carry their evidence and their citation, and the report is never published or kept.
An agent does not see your page. It reads the accessibility tree, which means the fixes here are the same ones that help screen reader users.
Use real <button> and <a> elements. A div with a click handler is invisible to an agent looking for something to press.
Label every form field and add the correct autocomplete tokens, so an agent can tell which field wants an email and which wants a postcode.
Make sure your cookie banner can be dismissed programmatically and does not trap focus. It is where most agent journeys end.
Replace hover-only menus with something operable by click and keyboard — an agent has no pointer to hover with.
Give every control a clear accessible name that says what it does. 'Submit' is weaker than 'Book table'.
Just the domain is enough — example.com, with or without the https. No account, no card, no crawl of your whole site.
Your page opens in a real browser and JavaScript runs to completion, so what gets audited is the page a person actually sees — not the raw HTML your server sent. A screenshot comes back with the report as evidence of exactly what we measured.
Up to 986 checks run against that rendered page. Each finding names the rule, quotes the evidence found on your page, cites the public specification behind it, and says what to change. Nothing is a judgement call — run it twice on an unchanged page and the score is identical.
Named because provenance is the product. Every finding in your report says which of these produced it, so you can check the reasoning rather than take a score on faith.
This page answers these searches too — they are the same job, so they share one page rather than being split across near-identical ones:
No signup, no credit card. Quick answers in seconds; a full audit takes about a minute.
Run a free scanNo signup. No credit card. Nothing stored but the result.