← Rule catalog
highrequiredactionability

JS-only critical content

JS_ONLY_CRITICAL_CONTENT · v1.0

What it detects

Critical content — price, description, or the add-to-cart control — is only present after client-side JavaScript runs, not in the raw HTML response.

Why it matters

Many agents fetch pages without executing JavaScript; content that only materializes client-side is invisible to them, effectively hiding the page's core purpose.

How to fix

- Fetch the page with a plain HTTP client (no JS execution, e.g. `curl`) and compare the returned HTML against what a browser renders — look specifically for whether price, product description, and the add-to-cart control are present in the raw response. - Move critical content (price, description, availability, primary CTA) to server-side rendering or static generation so it's present in the initial HTML, even if the page still hydrates into an SPA afterward. - Add `aria-label` (or visible text) to every interactive control — buttons, links, form fields — so their purpose is understandable without relying on visual/JS context. - Verify: `curl` the page and grep the raw HTML for the price and an "add to cart" affordance; both should be present without executing any JavaScript.

References

Last reviewed: 2026-09-01 · rule v1.0