No time-based auto-refresh/redirect
What it checks
A <meta http-equiv="refresh"> that reloads/redirects after a delay disrupts an agent mid-read and can trap it in unexpected navigation.
Why it matters
A <meta http-equiv="refresh" content="N;url=…"> with N greater than 0 makes the user agent run the shared declarative refresh steps, then navigate or reload the document N seconds after load, with no input from the visitor. Any agent driving that page loses its document, its element references and its in-progress form state mid-task.
Evidence
- WHATWG HTML Standard defines the
refreshpragma and the shared declarative refresh steps that navigate/reload the document — html.spec.whatwg.org/…/semantics.html and html.spec.whatwg.org/…/document-lifecycle.html (both verified 2026-08-21) - MDN: with a non-negative integer the page “reloads after that many seconds”; followed by
;url=it “redirects to that URL after the specified delay”; the timer starts afterload/pageshow— developer.mozilla.org/…/http-equiv (verified 2026-08-21) - W3C failure technique F41 records the consequence for time-bounded consumers: “If the time interval is too short… people who are blind will not have enough time to make their screen readers read the page before the page refreshes unexpectedly.” It fails SC 2.2.1, 2.2.4 and 3.2.5 — w3.org/…/F41 (verified 2026-08-21)
- Agent tool-chains hold element handles across turns. Playwright MCP click and type take an “Exact target element reference from the page snapshot”, and chrome-devtools-mcp click and fill take a snapshot uid. Those references do not survive a navigation — github.com/…/playwright-mcp and github.com/…/tool-reference.md (both verified 2026-08-21)
Limits
No vendor agent documentation names meta refresh as an agent failure mode, and the disruption is conditional on the agent still being on the page when the timer fires — a fast single-turn read may finish first. The signal is a navigation behavior, not an accessibility-tree signal, so it sits outside the mechanism that carries the rest of this category. Delay-0 instant redirects are correctly allowed by the audit. As implemented the selector is case-sensitive, so http-equiv="Refresh" — valid and case-insensitive in browsers — is missed.
How it scores
Declarative refresh is specified in the WHATWG HTML Standard and implemented by every browser an agent drives, making the “the page navigates itself after N seconds” claim a ratified, universally consumed behavior rather than an inference.
Sources
- HTML Standard — shared declarative refresh steps — WHATWG, spec (verified 2026-08-21)
- MDN — meta http-equiv — MDN, vendor-doc (verified 2026-08-21)
- WCAG 2.2 — failure F41 — W3C, spec (verified 2026-08-21)
- microsoft/playwright-mcp README — Microsoft, vendor-doc (verified 2026-08-21)
- Chrome DevTools MCP — tool reference — Google / Chrome DevTools, repo (verified 2026-08-21)