audit_url
Render and capture live URLs at multiple viewports and themes with interactions, then audit real pixels to catch visual defects like cropped images, blank videos, and hidden-on-mobile content.
Instructions
Layer 0 render-and-capture audit: renders a LIVE URL at each viewport×theme, scroll-settles (fires whileInView/IntersectionObserver reveals; plays preload=none videos), fires hover/click/focus interactions, and captures real pixels + the rendered DOM. Then runs the existing audit_page rule engine, per-element WCAG contrast, responsive-visibility (desktop-shown/mobile-hidden), blank-media detection, sliced-image edge symmetry, and hover-state white-wash detection over the captures. Every finding is tagged confirmed | likely-artifact | inconclusive with its evidence, ranked by severity. This is the tool that catches real-world visual nits invisible to HTML-string/geometry audits: cropped images, blank videos, hover white-wash, sliced exports, and hidden-on-mobile content. Requires headless chromium.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | URL to render and audit (http/https or file://) | |
| themes | No | Themes to toggle (prefers-color-scheme + data-theme/class). Default: ['light','dark'] | |
| compact | No | Drop per-capture base64 screenshots; keep findings, counts, and summary. Default false. Use when screenshots would blow the tool-result budget. | |
| timeoutMs | No | Per-navigation timeout in ms. Default: 30000 | |
| viewports | No | Viewports to render. Default: iphone 393×852, desktop 1440×900, wide 2160×1200 | |
| interactions | No | Fire each interaction before capture; the resulting state is diffed against baseline to catch hover/click white-wash and obscured content. | |
| scroll_settle | No | Step through the page with short pauses to fire reveal-on-scroll/IntersectionObserver content, play videos, then return to the top before capture. Default: true | |
| containerMaxWidth | No | Your design system's canonical container width in px — makes the max-width check token-aware. | |
| includeScreenshots | No | Include the base64 full-page PNG per capture in the result. Default: false (screenshots are large). |