Page QA · standardized report

Page audit (all-in-one)page-audit-all-in-one

https://toolkit-tests.pages.dev/suite/kitchen-sink.html

4 tool(s) run: accessibility-a11y, performance-core-web-vitals, screenshots, console

FAIL

One URL, every QA lens, one verdict. Each tool writes the same PASS / REVIEW / FAIL contract and the same report design; every finding links to the rule it breaks and to the tool's full report. The page verdict is the worst of the tools that run.

Checks

accessibility-a11yAccessibility — WCAG 2.1 AA
FAIL
  • image-alt — Images must have alternative text 1 el · criticalA11Y-1
  • color-contrast — Elements must meet minimum color contrast ratio thresholds 1 el · seriousA11Y-2
Open full report →
performance-core-web-vitalsPerformance — Core Web Vitals
FAIL
PageSpeed Insights field + lab.
Open full report →
screenshotsVisual — how it renders
CAPTURED

Full-page capture across devices. Review for layout breakage.

desktop capture
desktop
Open full report →
consoleRuntime — console & network
PASS
No own-domain console.error or uncaught errors (seen 0; third-party suppressed).
before-after-checkChange — did an edit break it
NOT RUN
A two-state check (before + after an edit). Not part of a single-point audit — run it around a change.

Standards — our rules

Agency QA Standards · 0.1 (starter — edit to match your team's policy). Findings above deep-link here; edit rules/qa-standards.json and every report inherits it.

RuleStandardBasisPolicy
A11Y-1 Images have text alternativesAccessibilityEvery informative image has meaningful alt text; decorative images use empty alt.WCAG 1.1.1 (A)Blocker — do not ship.
A11Y-2 Text has sufficient contrastAccessibilityBody text ≥ 4.5:1, large text ≥ 3:1 against its background.WCAG 1.4.3 (AA)Blocker for body copy; review for incidental UI.
A11Y-3 Form controls are labelledAccessibilityEvery input, select and textarea has a programmatic label.WCAG 1.3.1 / 4.1.2 (A)Blocker — do not ship.
A11Y-4 Links and buttons have namesAccessibilityEvery link and button exposes discernible text to assistive tech.WCAG 2.4.4 / 4.1.2 (A)Blocker — do not ship.
A11Y-5 Document language and structureAccessibilityPage declares a valid lang; landmarks and heading order are coherent.WCAG 3.1.1 / 1.3.1 (A)Blocker for lang; review for structure.
PERF-1 Largest Contentful Paint ≤ 2.5sPerformanceLCP (field p75, or lab) good ≤ 2.5s; poor > 4.0s.Core Web VitalsBlocker when poor; review when needs-improvement.
PERF-2 Cumulative Layout Shift ≤ 0.1PerformanceCLS good ≤ 0.10; poor > 0.25.Core Web VitalsBlocker when poor; review otherwise.
PERF-3 Interaction to Next Paint ≤ 200msPerformanceINP (field p75) good ≤ 200ms; poor > 500ms.Core Web VitalsReview — needs a key for real-user field data.
CONTENT-1 No broken linksContent & linksNo link returns 4xx/5xx; no new redirect chains.Agency standardBlocker for 4xx/5xx.
SEO-1 Core metadata presentSEOUnique title, meta description, canonical, and exactly one H1.Agency standardReview.
VISUAL-1 Renders correctly across devicesVisualNo layout breakage, overflow or missing content mobile → desktop.Agency standardReview against the captured screenshots.

QA policy playbook

wiki disabled (--no-wiki)

Plain text

Page audit (all-in-one) · page-audit-all-in-one
verdict: FAIL   (4 tool(s) run: accessibility-a11y, performance-core-web-vitals, screenshots, console)
url: https://toolkit-tests.pages.dev/suite/kitchen-sink.html
captured: 2026-09-06T04:11:34.087Z

ACCESSIBILITY (accessibility-a11y) — WCAG 2.1 AA
  verdict: FAIL
    - [critical] image-alt — Images must have alternative text (1 element)
    - [serious] color-contrast — Elements must meet minimum color contrast ratio thresholds (1 element)

PERFORMANCE (performance-core-web-vitals) — Core Web Vitals
  verdict: FAIL
    LCP  poor
    CLS  good
    INP  not measured
  PageSpeed Insights field + lab.

VISUAL (screenshots) — how it renders
  captured: full-page capture across devices

RUNTIME (console / network) — Phase 1 row 1 grader, reusing screenshots --state
  verdict: PASS — 0 console/pageError(s) seen, 0 own-domain console.error, 0 uncaught
  no own-domain console.error or uncaught errors (third-party suppressed)

CHANGE (before-after-check) — did an edit break it
  not run — a two-state check; run it around an edit

QA POLICY PLAYBOOK
  wiki disabled (--no-wiki)