{
  "url": "https://support.google.com",
  "auditedAt": "2026-07-18T16:43:54.492Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Atomic coverage complete across 58 checks and four representative public-help paths.",
  "page": {
    "appType": "mpa",
    "framework": "server-rendered Google Help templates",
    "notes": "Public support portal with product index, search results, help articles and recovery pages."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "evaluate-probe",
    "layout-metrics",
    "discoverability",
    "trace",
    "har",
    "headers",
    "cookies",
    "trackers",
    "images",
    "secrets",
    "lighthouse",
    "heap-summary",
    "HTTP probes",
    "Modern Web Guidance 0.0.172"
  ],
  "guidanceConsulted": [
    "dark-mode",
    "component-specific-light-dark-theme",
    "accessibility",
    "adapt-scrollbar-to-contrast-preferences",
    "same-document-transitions",
    "cross-document-transitions",
    "group-element-transitions",
    "faster-spa-view-transitions",
    "scrollytelling",
    "parallax-scroll-effects",
    "scroll-entry-exit-effects",
    "carousel-slide-effects",
    "physics-based-easing",
    "individual-transform-properties",
    "animate-element-entry-exit",
    "animate-to-from-top-layer",
    "animate-to-intrinsic-sizes",
    "dynamic-sibling-animations",
    "interactive-content-reveal",
    "pull-to-reveal",
    "swipe-to-remove",
    "shrinking-header-on-scroll",
    "scroll-progress-indicator",
    "scroll-position-aware-elements",
    "scroll-snap-realtime-feedback",
    "scroll-snap-state-sync",
    "scroll-target-on-load",
    "soft-edge-content-fade",
    "scrollability-affordance-hints",
    "anchor-positioning-tab-underline",
    "position-aware-tooltips",
    "interest-triggered-tooltips",
    "interest-triggered-action-previews",
    "directional-navigation-transitions",
    "carousel-snap-highlights",
    "navigation-drawer",
    "stack-drill-down",
    "persistent-app-tours",
    "persistent-toast-notifications",
    "light-dismiss-a-dialog",
    "platform-controls-dismiss-dialog",
    "declarative-dialog-popover-control",
    "animated-select-picker",
    "branded-select-styling",
    "brand-consistent-forms",
    "custom-select-picker-layouts",
    "rich-media-picker",
    "complex-shapes",
    "shaped-cutouts",
    "overflow-clipping-control",
    "visually-texture-content",
    "apply-webgl-shaders",
    "interactive-content-in-3d-scenes",
    "highlight-text-ranges",
    "prevent-text-wrapping",
    "customize-scrollbar-color-and-thickness",
    "export-html-media-from-canvas",
    "fluid-scaling",
    "calculate-with-intrinsic-sizes",
    "css-layout",
    "size-aware-styling",
    "content-based-styling",
    "child-state-based-styling",
    "design-token-reactivity",
    "dynamic-sibling-styling",
    "form-fields-automatically-fit-contents",
    "improve-text-layout-and-legibility",
    "forms",
    "custom-button-actions",
    "accessible-error-announcement",
    "required-field-feedback",
    "validate-input-after-interaction",
    "identify-inp-causes",
    "schedule-tasks-by-priority",
    "optimize-preload-priority",
    "improve-next-page-load-performance",
    "interactions-in-complex-layouts",
    "performance",
    "visually-stable-font-fallbacks",
    "break-up-long-tasks",
    "identify-heavy-scripts",
    "optimize-script-priority",
    "defer-rendering-heavy-content",
    "defer-work-until-scroll-ends",
    "optimize-image-priority",
    "conditional-async-dependencies",
    "expose-canvas-content-to-browser-features",
    "move-dom-element-without-losing-state",
    "precise-text-alignment",
    "visually-stable-mixed-fonts",
    "css",
    "html",
    "reduce-style-repetition",
    "security",
    "privacy",
    "batch-analytics-events",
    "full-session-analytics",
    "calculate-total-foreground-time",
    "passkeys",
    "passkey-registration",
    "passkey-authentication",
    "passkey-reauthentication",
    "passkey-conditional-create",
    "passkey-management",
    "flicker-free-client-side-ab-testing",
    "consistent-cross-document-transitions",
    "stabilize-reactive-state",
    "resilient-context-menus-and-nested-dropdowns",
    "persistent-top-layer-ui",
    "detect-initial-visibility-state",
    "sequence-distributed-events",
    "translator",
    "language-detection",
    "support-global-calendar-systems",
    "capture-location-agnostic-data",
    "format-human-readable-durations",
    "manage-recurring-intervals",
    "calculate-event-differentials",
    "coordinate-global-events",
    "model-partial-time-concepts",
    "search-hidden-content",
    "select-menu-interaction",
    "style-parent-with-has",
    "autofill-address-form",
    "autofill-payment-form",
    "autofill-sign-in-form",
    "autofill-sign-up-form",
    "autofill-highlight-inputs",
    "deliver-optimized-decorative-images",
    "resolution-optimized-pseudo-elements",
    "deprioritize-background-fetches",
    "efficient-background-processing",
    "webmcp",
    "agentic-forms",
    "agentic-javascript-tools",
    "language-model",
    "summarizer"
  ],
  "artifacts": [
    {
      "type": "screenshot",
      "path": "evidence/article-dark.png",
      "caption": "article dark"
    },
    {
      "type": "screenshot",
      "path": "evidence/article-desktop.png",
      "caption": "article desktop",
      "findingIds": [
        "F05"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/article-discoverability-crawler.png",
      "caption": "article discoverability crawler"
    },
    {
      "type": "screenshot",
      "path": "evidence/article-discoverability-rendered.png",
      "caption": "article discoverability rendered"
    },
    {
      "type": "discoverability",
      "path": "evidence/article-discoverability.json",
      "caption": "article discoverability"
    },
    {
      "type": "layout",
      "path": "evidence/article-mobile-layout.json",
      "caption": "article mobile layout",
      "findingIds": [
        "F07"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/article-mobile.png",
      "caption": "article mobile",
      "findingIds": [
        "F07"
      ]
    },
    {
      "type": "other",
      "path": "evidence/article-probe.json",
      "caption": "article probe",
      "findingIds": [
        "F14",
        "F15"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/chrome-desktop.png",
      "caption": "chrome desktop"
    },
    {
      "type": "screenshot",
      "path": "evidence/chrome-discoverability-crawler.png",
      "caption": "chrome discoverability crawler"
    },
    {
      "type": "screenshot",
      "path": "evidence/chrome-discoverability-rendered.png",
      "caption": "chrome discoverability rendered"
    },
    {
      "type": "discoverability",
      "path": "evidence/chrome-discoverability.json",
      "caption": "chrome discoverability"
    },
    {
      "type": "layout",
      "path": "evidence/chrome-mobile-layout.json",
      "caption": "chrome mobile layout"
    },
    {
      "type": "screenshot",
      "path": "evidence/chrome-mobile.png",
      "caption": "chrome mobile"
    },
    {
      "type": "other",
      "path": "evidence/chrome-probe.json",
      "caption": "chrome probe"
    },
    {
      "type": "other",
      "path": "evidence/css-capability-probe.json",
      "caption": "css capability probe",
      "findingIds": [
        "F03",
        "F04",
        "F19"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/error-state.png",
      "caption": "error state",
      "findingIds": [
        "F05"
      ]
    },
    {
      "type": "other",
      "path": "evidence/error-status.txt",
      "caption": "error status"
    },
    {
      "type": "other",
      "path": "evidence/focus-target-probe.json",
      "caption": "focus target probe"
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.json",
      "caption": "heap baseline"
    },
    {
      "type": "heap",
      "path": "evidence/heap-post-menu.json",
      "caption": "heap post menu"
    },
    {
      "type": "other",
      "path": "evidence/home-cookies.json",
      "caption": "home cookies",
      "findingIds": [
        "F16"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "home dark",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "home desktop",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-diagnostic-details.json",
      "caption": "home diagnostic details",
      "findingIds": [
        "F09",
        "F10",
        "F12",
        "F21"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-crawler.png",
      "caption": "home discoverability crawler"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-rendered.png",
      "caption": "home discoverability rendered"
    },
    {
      "type": "discoverability",
      "path": "evidence/home-discoverability.json",
      "caption": "home discoverability",
      "findingIds": [
        "F23"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "home dom"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-forced-colors.png",
      "caption": "home forced colors"
    },
    {
      "type": "other",
      "path": "evidence/home-headers.json",
      "caption": "home headers",
      "findingIds": [
        "F16",
        "F18"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-images.json",
      "caption": "home images",
      "findingIds": [
        "F11",
        "F20"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/home-lighthouse-failures.json",
      "caption": "home lighthouse failures",
      "findingIds": [
        "F08",
        "F11",
        "F13"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/home-lighthouse-summary.json",
      "caption": "home lighthouse summary",
      "findingIds": [
        "F06",
        "F23"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/home-lighthouse.json",
      "caption": "home lighthouse",
      "findingIds": [
        "F06",
        "F09"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/home-mobile-layout.json",
      "caption": "home mobile layout"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "home mobile"
    },
    {
      "type": "other",
      "path": "evidence/home-probe.json",
      "caption": "home probe",
      "findingIds": [
        "F01",
        "F04",
        "F13",
        "F19"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-secrets.json",
      "caption": "home secrets"
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "home summary",
      "findingIds": [
        "F08",
        "F17",
        "F20",
        "F22"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "home trace summary",
      "findingIds": [
        "F06"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "home trace"
    },
    {
      "type": "other",
      "path": "evidence/home-trackers.json",
      "caption": "home trackers",
      "findingIds": [
        "F17",
        "F21",
        "F22"
      ]
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "home",
      "findingIds": [
        "F08"
      ]
    },
    {
      "type": "other",
      "path": "evidence/navigation-modern-api-probe.json",
      "caption": "navigation modern api probe"
    },
    {
      "type": "other",
      "path": "evidence/platform-memory-probe.json",
      "caption": "platform memory probe"
    },
    {
      "type": "other",
      "path": "evidence/reduced-motion-probe.json",
      "caption": "reduced motion probe",
      "findingIds": [
        "F02"
      ]
    },
    {
      "type": "other",
      "path": "evidence/robots-headers.txt",
      "caption": "robots headers"
    },
    {
      "type": "other",
      "path": "evidence/robots.txt",
      "caption": "robots",
      "findingIds": [
        "F14"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/search-desktop.png",
      "caption": "search desktop"
    },
    {
      "type": "other",
      "path": "evidence/sitemap-final-status.txt",
      "caption": "sitemap final status",
      "findingIds": [
        "F14"
      ]
    },
    {
      "type": "other",
      "path": "evidence/sitemap-status.txt",
      "caption": "sitemap status"
    }
  ],
  "config": {
    "loaded": false
  },
  "coverage": {
    "catalogVersion": "modern-web-guidance@0.0.172",
    "catalogChecksum": "sha256:78ccfdb2d483f4c57d9dafed80fd86c6265585a56457c8dcfddc254b80fb44d7",
    "expected": 58,
    "recorded": 58,
    "judged": 58,
    "blocked": 0,
    "notRun": 0,
    "missing": 0,
    "unknown": 0,
    "duplicates": 0,
    "complete": true
  },
  "checkOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-color-scheme",
      "status": "issues",
      "confidence": "high",
      "method": "a screenshot or computed background under an emulated prefers-color-scheme: dark condition will reveal whether surfaces re-tint; the page CSS / a color-scheme declaration is corroborating evidence. The model chooses the method.",
      "evidence": "Desktop captures under default and prefers-color-scheme: dark are pixel-identical (55,668 bytes each); the computed color-scheme is normal and the page remains white. The article offers a manual dark-mode button, but does not honour the system signal.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-dark.png",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "issues",
      "confidence": "high",
      "method": "a transition video, or an in-page probe of getAnimations()/computed animation under an emulated prefers-reduced-motion: reduce condition, can show whether motion stops. The model chooses.",
      "evidence": "With prefers-reduced-motion: reduce active, the probe still found 0.218s to 0.4s transitions on the header, links, controls and radio affordances.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/reduced-motion-probe.json"
      ],
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "pass",
      "confidence": "medium",
      "method": "a screenshot under emulated prefers-contrast: more / forced-colors, or an axe/contrast probe, can show whether controls and text survive. The model chooses.",
      "evidence": "Forced-colors/prefers-contrast screenshot preserves readable text, controls, borders and focus affordances.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-forced-colors.png"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "a transition video of a route/state change shows whether it animates; the page source / ::view-transition usage corroborates. The model chooses.",
      "evidence": "The authored CSS/HTML probe found no @view-transition, ::view-transition, view-transition-name declaration, or startViewTransition call on the product/article template.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/css-capability-probe.json"
      ],
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "confidence": "medium",
      "method": "source/CSS inspection for animation-timeline: scroll()/view(); a long-task / scroll-handler probe can flag the main-thread anti-pattern. The model chooses.",
      "evidence": "No scroll-linked animation or scrollytelling surface exists on the representative templates.",
      "reason": "No scroll-linked animation or scrollytelling surface exists on the representative templates."
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "not-applicable",
      "confidence": "medium",
      "method": "CSS inspection for scroll-snap / overscroll-behavior / physics-based easing vs custom pointermove listeners. The model chooses.",
      "evidence": "The audited help, search and article journeys expose no gesture-driven control that requires a custom physical gesture treatment.",
      "reason": "The audited help, search and article journeys expose no gesture-driven control that requires a custom physical gesture treatment."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "pass",
      "confidence": "medium",
      "method": "a transition video of scrolling, or CSS inspection for scroll-state container queries. The model chooses.",
      "evidence": "The article probe shows the fixed header changes class after scrolling 900px while remaining positioned at top:0.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/navigation-modern-api-probe.json"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "not-applicable",
      "confidence": "medium",
      "method": "CSS inspection for anchor-name / position-anchor / position-try on overlays; a screenshot of an open overlay near a viewport edge can show drift. The model chooses.",
      "evidence": "No tooltip, contextual menu, or edge-positioned transient overlay was needed in the exercised paths.",
      "reason": "No tooltip, contextual menu, or edge-positioned transient overlay was needed in the exercised paths."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "medium",
      "method": "CSS inspection for ::highlight / scroll-marker; a transition video can show whether attention is cued after navigation. The model chooses.",
      "evidence": "Product/article templates provide descriptive tabs, headings, topic links and clear related/next-step navigation.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/chrome-desktop.png",
        "evidence/article-desktop.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "issues",
      "confidence": "high",
      "method": "a screenshot on load, or a DOM probe for full-viewport overlays present before interaction. The model chooses.",
      "evidence": "The article and 404 screenshots show an “Ask Google Help” floating panel covering the lower-right of the reading surface on load, with no visible dismiss control.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/article-desktop.png",
        "evidence/error-state.png"
      ],
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "pass",
      "confidence": "medium",
      "method": "DOM/source inspection for popover / <dialog> / <details> vs custom overlay divs with manual dismiss handling. The model chooses.",
      "evidence": "No modal or transient rich-control flow was opened in the tested core journey; native links, buttons, inputs and selects carry the interactions observed.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "pass",
      "confidence": "medium",
      "method": "a screenshot plus layout metrics can show the proportion of the viewport given to chrome vs content. The model chooses.",
      "evidence": "Screenshots show content-first layouts with a compact header and generous reading space; no full-page interstitial appears.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/article-desktop.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "pass",
      "confidence": "medium",
      "method": "layout metrics (scrollWidth vs innerWidth) and a screenshot at an emulated narrow mobile viewport reveal overflow. The model chooses.",
      "evidence": "All three representative templates report scrollWidth=clientWidth=360 with viewport meta present.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/chrome-mobile-layout.json",
        "evidence/article-mobile-layout.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "high",
      "method": "CSS inspection for @container / container-type; a computed-style probe of the same component in a wide vs narrow container shows whether it adapts. The model chooses.",
      "evidence": "The rendered stylesheet probe found no @container rules on either the portal or article template, although cards, search, and article modules are reused at different widths.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/css-capability-probe.json"
      ],
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "pass",
      "confidence": "medium",
      "method": "a focus probe (focus an element, read the computed outline) or an axe target-size check; a screenshot of a focused control corroborates. The model chooses.",
      "evidence": "Focus probe shows 40–58px key targets and visible browser/CSS outlines on the core menu, product links and search controls; Lighthouse accessibility scored 1.0.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/focus-target-probe.json",
        "evidence/home-lighthouse-summary.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "medium",
      "method": "screenshot the first viewport and key scrolled states; inspect heading structure, nav labels, button text, and visual hierarchy; a task walkthrough can show whether the next action is obvious. The model chooses.",
      "evidence": "First viewports clearly ask how help is needed and expose search/product selection; article title and instructions are immediately clear.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/article-desktop.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "pass",
      "confidence": "medium",
      "method": "run the flow manually with screenshots/DOM snapshots at each step; compare expected vs actual path length; inspect form requirements, navigation continuity, and blockers. The model chooses.",
      "evidence": "Search for “install” returned a relevant “Use web apps” result and the linked install article provides platform-specific steps without an account wall.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/search-desktop.png",
        "evidence/article-desktop.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "pass",
      "confidence": "medium",
      "method": "exercise network delay/failure, invalid input, empty data and success states; screenshot the state messaging and recovery controls; inspect whether browser history and focus remain sensible. The model chooses.",
      "evidence": "A real 404 returns HTTP 404 and presents an explicit explanation plus “Get Google Chrome Help” and “Search on Google” recovery actions.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/error-state.png",
        "evidence/error-status.txt"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse reports LCP/CLS/TBT directly and the model may run it; layout metrics + a layout-shift observer + a long-task observer (the evidence primitives) give the same signal first-party. The model chooses.",
      "evidence": "Lighthouse measured LCP at 4.30s and FCP at 2.82s on the portal. A separate trace measured LCP at 2.07s, so load performance is variable and at least one controlled run is outside the 2.5s good range.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/home-lighthouse-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "issues",
      "confidence": "high",
      "method": "the layout primitive's CLS observer captures shifts; a transition video of the first seconds shows content jumping. The model chooses.",
      "evidence": "The 360x800 layout observer measured CLS 0.2346 on the article; one shift at 1.84s contributed 0.2236, above the 0.1 good threshold.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-mobile-layout.json",
        "evidence/article-mobile.png"
      ],
      "findingIds": [
        "F07"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "medium",
      "method": "the layout primitive records long tasks; a heap summary shows the object population; Lighthouse reports TBT. The model chooses.",
      "evidence": "Trace recorded zero long tasks and 0ms total blocking time; Lighthouse TBT was about 100ms.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/home-lighthouse-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "a HAR summary can reveal cache headers, redirects, render-blocking candidates, weight offenders and dependency shape; a trace/Lighthouse insight report can corroborate LCP discovery, render-blocking, font-display and document latency. The model chooses.",
      "evidence": "Lighthouse flagged inefficient cache lifetimes (about 51 KiB potential saving), font-display delay (about 150ms), and a problematic network dependency tree; the HAR recorded 72 requests including 19 font requests.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-lighthouse-failures.json",
        "evidence/home-summary.json",
        "evidence/home.har"
      ],
      "findingIds": [
        "F08"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse/trace/code-coverage style evidence can flag unused JS/CSS, duplicated JavaScript and legacy code; a HAR summary shows third-party byte cost and request count. The model chooses.",
      "evidence": "Lighthouse estimated 363 KiB of unused JavaScript. The inline document shipped about 158 KiB unused, two tag-manager bundles about 132 KiB unused together, and supporting scripts added more waste.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-diagnostic-details.json",
        "evidence/home-lighthouse.json"
      ],
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "pass",
      "confidence": "medium",
      "method": "axe-core (injectable via the evaluate primitive) or Lighthouse's a11y audits enumerate these; a DOM probe of the accessibility-relevant attributes is a first-party alternative. The model chooses.",
      "evidence": "Lighthouse accessibility score was 1.0; the search input has matching visible/ARIA labelling and product links include accessible text.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "pass",
      "confidence": "medium",
      "method": "axe contrast rules, a Lighthouse contrast audit, or an in-page probe computing contrast ratios from computed colours. The model chooses.",
      "evidence": "Lighthouse accessibility/contrast audits passed and the forced-colors capture remains legible.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/home-forced-colors.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "pass",
      "confidence": "medium",
      "method": "axe/Lighthouse structural audits; a focus-walk probe (tab through, read activeElement + computed outline) is a first-party alternative. The model chooses.",
      "evidence": "The DOM has one descriptive H1 followed by logical H2/H3 sections, a skip link, and visible focus evidence; Lighthouse accessibility passed.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/focus-target-probe.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "medium",
      "method": "a screenshot of body and heading text, plus CSS inspection for text-wrap / text alignment / font fallback handling. The model chooses.",
      "evidence": "Desktop/mobile screenshots show readable line lengths, clear hierarchy and no clipping on portal, product and article templates.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png",
        "evidence/article-mobile.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "pass",
      "confidence": "medium",
      "method": "Lighthouse/axe target-size, meta-viewport and media-caption audits are useful signals; screenshots at narrow and zoomed conditions plus DOM/media inspection can corroborate. The model chooses.",
      "evidence": "Viewport permits normal scaling, mobile layouts reflow without overflow, core targets are about 40px or larger, and no caption-requiring media is present.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/focus-target-probe.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "issues",
      "confidence": "high",
      "method": "capture Runtime/Log CDP events, or a probe that reads collected errors; Lighthouse reports this too. The model chooses.",
      "evidence": "Lighthouse captured Error: V from inline support.google.com JavaScript (around lines 195–223) during the portal load.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-diagnostic-details.json"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "a DOM/source probe for doctype/charset/img dimensions; CSS inspection for repetition; Lighthouse best-practices audits cover the rest. The model chooses.",
      "evidence": "The image primitive found all 21 img elements without width and height attributes; Lighthouse also failed the unsized-images audit. Although the homepage observer recorded CLS 0, this leaves avoidable shift risk.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home-lighthouse-failures.json"
      ],
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse best-practices audits and DevTools inspector/deprecation signals can surface these; DOM/source probes can verify paste handlers and prompt timing. The model chooses.",
      "evidence": "Lighthouse reported a large inline first-party JavaScript file without a valid source map, reducing production diagnosability.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-diagnostic-details.json"
      ],
      "findingIds": [
        "F12"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "issues",
      "confidence": "high",
      "method": "a DOM probe reads <title> and meta[name=description]; Lighthouse SEO audits cover the same ground. The model chooses.",
      "evidence": "The DOM probe and Lighthouse SEO audit both found no meta[name=description] on https://support.google.com/, while product and article pages do provide one.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/home-lighthouse-failures.json"
      ],
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "pass",
      "confidence": "medium",
      "method": "a DOM probe for anchor hrefs, viewport meta, and robots; Lighthouse SEO audits corroborate. The model chooses.",
      "evidence": "Links use real href values, viewport meta is present, robots permits the audited pages, and link labels are descriptive.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/robots.txt"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "issues",
      "confidence": "high",
      "method": "inspect response status and headers, <link rel=canonical>, hreflang links, robots meta, robots.txt and sitemap.xml; Lighthouse SEO audits cover several of these. The model chooses.",
      "evidence": "The English article exposes an hl locale and a canonical URL but zero hreflang links. /sitemap.xml redirects to the homepage rather than serving a sitemap; robots.txt contains no sitemap declaration.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-probe.json",
        "evidence/robots.txt",
        "evidence/sitemap-final-status.txt"
      ],
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "issues",
      "confidence": "high",
      "method": "inspect JSON-LD/microdata and social preview tags against visible content; Lighthouse has a manual structured-data audit, and ad-hoc probes can parse schema.org blocks. The model chooses.",
      "evidence": "The representative Chrome article has no JSON-LD and no Open Graph tags despite representing a stable Help/HowTo entity.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-probe.json"
      ],
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "inspect response headers / page protocol via an evaluate probe or the network layer; Lighthouse best-practices flags HTTPS and CSP issues. The model chooses.",
      "evidence": "The headers primitive found no Content-Security-Policy. The cookie audit found six cookies without Secure, including _ga, _gid and tag-manager cookies; these also used SameSite=None. HTTPS, HSTS and nosniff were present.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json"
      ],
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "inspect network requests and third-party origins; a probe of analytics/beacon calls. The model chooses.",
      "evidence": "The tracker probe observed 13 third-party origins and active Google Analytics/Tag Manager endpoints. The HAR recorded 1.16 MB across 72 requests, including multiple analytics bundles.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trackers.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F17"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "pass",
      "confidence": "medium",
      "method": "a probe for permission requests fired on load; source inspection for passkey / WebAuthn / navigator.credentials usage in auth flows. The model chooses.",
      "evidence": "No permission prompt appeared on load, and sign-in is delegated to Google Accounts, which exposes modern authentication including passkeys; no password form exists on support.google.com.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "inspect response headers and browser security state; Lighthouse/DevTools security audits can corroborate HSTS, clickjacking, Trusted Types, origin isolation and third-party cookie findings. The model chooses.",
      "evidence": "The main response has HSTS, nosniff and X-Frame-Options, but no Referrer-Policy or Permissions-Policy; CSP/frame-ancestors is also absent.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-headers.json"
      ],
      "findingIds": [
        "F18"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "medium",
      "method": "load with scripting disabled or compare a no-JS fetch of the HTML against the rendered page; check for Baseline-aware fallbacks in source. The model chooses.",
      "evidence": "Discoverability captures show 100% rendered-word coverage in raw HTML on portal, product and article pages; none is a JS shell.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/chrome-discoverability.json",
        "evidence/article-discoverability.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "medium",
      "method": "exercise menus near viewport edges with a screenshot; a probe of async/visibility behaviour. The model chooses.",
      "evidence": "Menus/header and article controls rendered within desktop/mobile viewports without clipping; fixed chrome remained stable on scroll.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/navigation-modern-api-probe.json",
        "evidence/article-mobile.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "medium",
      "method": "a probe for a service worker registration and a web app manifest; test behaviour offline. The model chooses.",
      "evidence": "This public help corpus is a content MPA rather than an installed application; offline installability is not necessary for its primary task.",
      "reason": "This public help corpus is a content MPA rather than an installed application; offline installability is not necessary for its primary task."
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "confidence": "medium",
      "method": "simulate failed fetches/offline mode or inspect representative 404/500 routes; screenshots and DOM snapshots of error/loading/empty states show whether recovery is possible. The model chooses.",
      "evidence": "The invalid article URL returned HTTP 404 and a useful recovery screen rather than a blank shell or misleading success.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/error-state.png",
        "evidence/error-status.txt"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "issues",
      "confidence": "high",
      "method": "a DOM probe for <html lang>/dir and CSS inspection for logical vs physical properties. The model chooses.",
      "evidence": "The English templates correctly set lang=en and expose a language selector, but the stylesheet probe found physical left/right declarations and no logical inline/block properties on the representative article.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/css-capability-probe.json"
      ],
      "findingIds": [
        "F19"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "not-applicable",
      "confidence": "medium",
      "method": "source inspection for Intl.* usage vs hand-rolled formatting; a probe of rendered dates/numbers under a different locale. The model chooses.",
      "evidence": "The representative pages contain no dates, numbers, prices, durations, or other locale-formatted data.",
      "reason": "The representative pages contain no dates, numbers, prices, durations, or other locale-formatted data."
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "medium",
      "method": "source inspection for time-zone-aware date handling vs naive local Date math. The model chooses.",
      "evidence": "The representative pages expose no event scheduling or time-zone-sensitive data.",
      "reason": "The representative pages expose no event scheduling or time-zone-sensitive data."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "medium",
      "method": "a screenshot of consent/upsell/cancel flows; source inspection for declarative button actions vs misleading controls. The model chooses.",
      "evidence": "No consent wall, confirmshaming, forced continuity, disguised ad, or coercive default appeared in the exercised public help journeys.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/article-desktop.png"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "not-applicable",
      "confidence": "medium",
      "method": "exercise a form, submit invalid input, and observe timing and clarity of errors via a screenshot or a :user-invalid / aria-invalid probe. The model chooses.",
      "evidence": "The only exercised input is an optional search field; there is no required-data validation flow.",
      "reason": "The only exercised input is an optional search field; there is no required-data validation flow."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "pass",
      "confidence": "medium",
      "method": "source/DOM inspection for autocomplete attributes on form fields; a probe of autofill affordances. The model chooses.",
      "evidence": "The search field is clearly labelled and autocomplete=off is appropriate for free-form support queries; no address, payment, or account form is present.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "not-applicable",
      "confidence": "medium",
      "method": "walkthrough checkout/subscription/auth/account flows when present; screenshot pricing, confirmation, cancellation and reauthentication states; inspect passkey/autocomplete support for sign-in and payment. The model chooses.",
      "evidence": "No checkout, subscription, consent, or account-management flow exists on support.google.com; sign-in is delegated to accounts.google.com and was outside scope.",
      "reason": "No checkout, subscription, consent, or account-management flow exists on support.google.com; sign-in is delegated to accounts.google.com and was outside scope."
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "inspect transferred image bytes vs displayed size; source inspection for modern formats and resolution handling. The model chooses.",
      "evidence": "The image audit found 20 below-fold images without lazy loading, 19 PNG/legacy-format images, and all 21 without intrinsic dimensions. Image transfer was modest (62 KiB), so this is an efficiency polish issue rather than a weight emergency.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F20"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "a long-task / network probe for background fetches and processing while idle or backgrounded. The model chooses.",
      "evidence": "Lighthouse estimated 363 KiB unused JavaScript and the tracker capture shows repeated analytics/tag-manager work on a simple help index.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-diagnostic-details.json",
        "evidence/home-trackers.json"
      ],
      "findingIds": [
        "F21"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "a HAR summary shows third-party bytes, font/media weight and caching; screenshots/video reveal autoplay and decorative media; trace/layout evidence shows whether media/animation keeps work running. The model chooses.",
      "evidence": "The HAR totals 1.16 MB and 72 requests for a mostly textual portal, including 19 font requests and 13 third-party origins.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trackers.json"
      ],
      "findingIds": [
        "F22"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "issues",
      "confidence": "high",
      "method": "source inspection for WebMCP / agentic-tool registration and agent-readable affordances. The model chooses.",
      "evidence": "Raw support content is fully crawlable, but Lighthouse scored agentic browsing at 0.67 and found no recommended llms.txt; the page exposes no WebMCP or structured agent tool surface.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/home-discoverability.json"
      ],
      "findingIds": [
        "F23"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "medium",
      "method": "source inspection for built-in AI (language model / summariser) usage. The model chooses.",
      "evidence": "No local inference task is required to read, search, or navigate the public help content; the optional assistant implementation was not inspected beyond its entry control.",
      "reason": "No local inference task is required to read, search, or navigate the public help content; the optional assistant implementation was not inspected beyond its entry control."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "medium",
      "method": "compare heap snapshots for retained growth - a baseline, then one taken after repeating the interaction with `--interact` about 10x (the memory-tracer methodology: baseline -> repeat -> post -> compare). Performance.getMetrics (JSHeapUsedSize, Nodes) across the same before/after window is corroboration. If Chrome DevTools MCP is available, follow its memory-leak-debugging skill: capture baseline, target, and final snapshots, then use memlab or the provided comparison workflow rather than reading raw .heapsnapshot files directly. The package-native `heap` primitive remains the default path. This check is only meaningful where the page has a real interaction to repeat; for a static page with none, mark it not-applicable with a rationale rather than fabricating one. The model chooses.",
      "evidence": "After 10 menu open/close cycles, heap self-size rose only 176,214 bytes (1.26%) and no Detached* constructors appeared; no unbounded pattern was demonstrated.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/heap-post-menu.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "medium",
      "method": "a single `heap` summary's totals (nodeCount, totalSelfSizeBytes, constructor population) plus Performance.getMetrics (Nodes, JSHeapUsedSize) give the current footprint to judge against the page's purpose. Chrome DevTools MCP heap snapshots and memlab snapshot analysis can provide the same memory distribution when available. Read summaries or derived analysis, never raw snapshots unless a dedicated heap-analysis tool is doing the analysis. The model chooses.",
      "evidence": "Baseline heap self-size was 13.97MB with 267,426 snapshot nodes, proportionate to the portal and stable after interaction.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/platform-memory-probe.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "the `heap` summary by constructor (Detached* nodes) compared across a before/after pair shows a growing detached-DOM population; an `evaluate` probe can sample listener/timer counts (e.g. getEventListeners-style counting, or instrumenting addEventListener/setInterval) before and after the repeated interaction to spot growth. Chrome DevTools MCP heap snapshots plus the memory-leak-debugging skill's common-leak guidance can corroborate detached DOM, listeners, closures, globals, and unbounded caches. Caveat from the memory-tracer and Chrome DevTools MCP guidance: detached nodes can be intentional caches, so judge confidence rather than asserting a bug. The model chooses.",
      "evidence": "Neither baseline nor post-interaction heap summary contained Detached* constructors; repeated menu interaction did not reveal listener/timer accumulation symptoms.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/heap-post-menu.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F01",
        "F02"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F06",
        "F07",
        "F08",
        "F09"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F10",
        "F11",
        "F12"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F13",
        "F14",
        "F15"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F16",
        "F17",
        "F18"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F19"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F20",
        "F21",
        "F22"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F23"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Global portal and product chooser; covers top-level navigation, search entry, global preferences, security/network and mobile layout.",
      "url": "https://support.google.com/",
      "conditions": [
        "desktop",
        "360x800",
        "prefers-color-scheme: dark",
        "prefers-reduced-motion: reduce",
        "forced-colors/high contrast",
        "keyboard focus"
      ],
      "result": "issues"
    },
    {
      "id": "product",
      "description": "Google Chrome help landing page; represents a product/topic listing template and route navigation.",
      "url": "https://support.google.com/chrome?hl=en",
      "conditions": [
        "desktop",
        "360x800",
        "no JavaScript crawler"
      ],
      "result": "issues"
    },
    {
      "id": "search",
      "description": "Search results for “install”; represents the primary find-help journey and result state.",
      "url": "https://support.google.com/chrome/search?q=install&hl=en",
      "conditions": [
        "desktop"
      ],
      "result": "pass"
    },
    {
      "id": "article",
      "description": "Download/install Chrome article; represents long-form help content, platform tabs, mobile reflow and localized metadata.",
      "url": "https://support.google.com/chrome/answer/95346?hl=en",
      "conditions": [
        "desktop",
        "360x800",
        "prefers-color-scheme: dark",
        "no JavaScript crawler",
        "scroll 900px"
      ],
      "result": "issues"
    },
    {
      "id": "error",
      "description": "Nonexistent Chrome help article; represents HTTP/not-found recovery.",
      "url": "https://support.google.com/chrome/answer/999999999?hl=en",
      "conditions": [
        "desktop"
      ],
      "result": "pass"
    }
  ],
  "findings": [
    {
      "id": "F01",
      "severity": "medium",
      "confidence": "high",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "guidanceCategory": "user-experience",
      "summary": "System dark preference is ignored",
      "evidence": "Desktop captures under default and prefers-color-scheme: dark are pixel-identical (55,668 bytes each); the computed color-scheme is normal and the page remains white. The article offers a manual dark-mode button, but does not honour the system signal.",
      "suggestedFix": "Declare color-scheme: light dark and drive surface/text tokens with prefers-color-scheme or light-dark(); keep the manual override as an additional user choice.",
      "effort": "small",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-dark.png",
        "evidence/home-probe.json"
      ],
      "pathId": "home",
      "url": "https://support.google.com/"
    },
    {
      "id": "F02",
      "severity": "low",
      "confidence": "high",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-reduced-motion",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "summary": "Reduced-motion preference leaves transitions active",
      "evidence": "With prefers-reduced-motion: reduce active, the probe still found 0.218s to 0.4s transitions on the header, links, controls and radio affordances.",
      "suggestedFix": "Under prefers-reduced-motion: reduce, remove non-essential transitions or reduce them to effectively instant state changes.",
      "effort": "small",
      "artifacts": [
        "evidence/reduced-motion-probe.json"
      ],
      "pathId": "home",
      "url": "https://support.google.com/"
    },
    {
      "id": "F03",
      "severity": "low",
      "confidence": "high",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "same-document-transitions",
      "guidanceCategory": "user-experience",
      "summary": "Page and state changes do not use View Transitions",
      "evidence": "The authored CSS/HTML probe found no @view-transition, ::view-transition, view-transition-name declaration, or startViewTransition call on the product/article template.",
      "suggestedFix": "Use cross-document View Transitions for help-page navigation and same-document transitions for tab/state changes, with reduced-motion fallbacks.",
      "effort": "medium",
      "artifacts": [
        "evidence/css-capability-probe.json"
      ],
      "pathId": "home",
      "url": "https://support.google.com/"
    },
    {
      "id": "F04",
      "severity": "low",
      "confidence": "high",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "guidanceCategory": "css",
      "summary": "Responsive components rely only on viewport-level techniques",
      "evidence": "The rendered stylesheet probe found no @container rules on either the portal or article template, although cards, search, and article modules are reused at different widths.",
      "suggestedFix": "Give reusable modules a containment context and use size/container queries for their internal layout, retaining viewport fallbacks where needed.",
      "effort": "medium",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/css-capability-probe.json"
      ],
      "pathId": "home",
      "url": "https://support.google.com/"
    },
    {
      "id": "F05",
      "severity": "medium",
      "confidence": "high",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "no-intrusive-interruptions",
      "guidanceId": "persistent-toast-notifications",
      "guidanceCategory": "user-experience",
      "summary": "Persistent assistant control obscures article content",
      "evidence": "The article and 404 screenshots show an “Ask Google Help” floating panel covering the lower-right of the reading surface on load, with no visible dismiss control.",
      "suggestedFix": "Make the assistant a compact, dismissible, user-invoked control; remember dismissal and ensure the expanded surface uses an appropriate popover/dialog primitive.",
      "effort": "small",
      "artifacts": [
        "evidence/article-desktop.png",
        "evidence/error-state.png"
      ],
      "pathId": "home",
      "url": "https://support.google.com/"
    },
    {
      "id": "F06",
      "severity": "high",
      "confidence": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "guidanceCategory": "performance",
      "summary": "Cold-load LCP exceeds the good threshold",
      "evidence": "Lighthouse measured LCP at 4.30s and FCP at 2.82s on the portal. A separate trace measured LCP at 2.07s, so load performance is variable and at least one controlled run is outside the 2.5s good range.",
      "suggestedFix": "Prioritise the LCP content, shorten dependency chains, reduce unused script, and verify with repeated lab runs plus field CWV data.",
      "effort": "medium",
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/home-lighthouse-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "pathId": "home",
      "url": "https://support.google.com/"
    },
    {
      "id": "F07",
      "severity": "high",
      "confidence": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "visual-stability",
      "guidanceId": "prevent layout shift reserve space CLS aspect-ratio",
      "guidanceCategory": "performance",
      "summary": "Article template has a large mobile layout shift",
      "evidence": "The 360x800 layout observer measured CLS 0.2346 on the article; one shift at 1.84s contributed 0.2236, above the 0.1 good threshold.",
      "suggestedFix": "Identify the late-inserted element and reserve its final space; add explicit dimensions/aspect-ratio for media and avoid injecting UI above existing content.",
      "effort": "medium",
      "artifacts": [
        "evidence/article-mobile-layout.json",
        "evidence/article-mobile.png"
      ],
      "pathId": "article",
      "url": "https://support.google.com/chrome/answer/95346?hl=en"
    },
    {
      "id": "F08",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-preload-priority",
      "guidanceCategory": "performance",
      "summary": "Caching and font delivery leave avoidable load delay",
      "evidence": "Lighthouse flagged inefficient cache lifetimes (about 51 KiB potential saving), font-display delay (about 150ms), and a problematic network dependency tree; the HAR recorded 72 requests including 19 font requests.",
      "suggestedFix": "Set durable cache headers for versioned assets, reduce/subset font variants, use an appropriate font-display strategy, and flatten critical dependency chains.",
      "effort": "medium",
      "artifacts": [
        "evidence/home-lighthouse-failures.json",
        "evidence/home-summary.json",
        "evidence/home.har"
      ],
      "pathId": "home",
      "url": "https://support.google.com/"
    },
    {
      "id": "F09",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "guidanceCategory": "performance",
      "summary": "Large amounts of JavaScript are unused on initial load",
      "evidence": "Lighthouse estimated 363 KiB of unused JavaScript. The inline document shipped about 158 KiB unused, two tag-manager bundles about 132 KiB unused together, and supporting scripts added more waste.",
      "suggestedFix": "Code-split optional help/feedback features, load analytics conditionally and once, and remove duplicate or unused initial-route code.",
      "effort": "medium",
      "artifacts": [
        "evidence/home-diagnostic-details.json",
        "evidence/home-lighthouse.json"
      ],
      "pathId": "home",
      "url": "https://support.google.com/"
    },
    {
      "id": "F10",
      "severity": "medium",
      "confidence": "high",
      "principleId": "follow-best-practices",
      "principleCheckId": "no-console-errors",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "summary": "An uncaught exception is logged during page load",
      "evidence": "Lighthouse captured Error: V from inline support.google.com JavaScript (around lines 195–223) during the portal load.",
      "suggestedFix": "Fix or safely handle the failing initialization path and add a smoke test that fails on uncaught Runtime exceptions.",
      "effort": "small",
      "artifacts": [
        "evidence/home-diagnostic-details.json"
      ],
      "pathId": "home",
      "url": "https://support.google.com/"
    },
    {
      "id": "F11",
      "severity": "low",
      "confidence": "high",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "summary": "Images omit intrinsic dimensions",
      "evidence": "The image primitive found all 21 img elements without width and height attributes; Lighthouse also failed the unsized-images audit. Although the homepage observer recorded CLS 0, this leaves avoidable shift risk.",
      "suggestedFix": "Emit intrinsic width and height (or a stable aspect-ratio) for every image and preserve responsive CSS sizing.",
      "effort": "small",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home-lighthouse-failures.json"
      ],
      "pathId": "home",
      "url": "https://support.google.com/"
    },
    {
      "id": "F12",
      "severity": "low",
      "confidence": "high",
      "principleId": "follow-best-practices",
      "principleCheckId": "browser-platform-hygiene",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "summary": "Large first-party JavaScript has no source map",
      "evidence": "Lighthouse reported a large inline first-party JavaScript file without a valid source map, reducing production diagnosability.",
      "suggestedFix": "Publish production source maps with controlled access, or provide compatible debug IDs/source-map endpoints for the shipped bundle.",
      "effort": "small",
      "artifacts": [
        "evidence/home-diagnostic-details.json"
      ],
      "pathId": "home",
      "url": "https://support.google.com/"
    },
    {
      "id": "F13",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-discoverable",
      "principleCheckId": "title-and-description",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "summary": "Portal homepage lacks a meta description",
      "evidence": "The DOM probe and Lighthouse SEO audit both found no meta[name=description] on https://support.google.com/, while product and article pages do provide one.",
      "suggestedFix": "Add a concise, unique description of the Google Help portal’s purpose and product-help coverage.",
      "effort": "trivial",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/home-lighthouse-failures.json"
      ],
      "pathId": "home",
      "url": "https://support.google.com/"
    },
    {
      "id": "F14",
      "severity": "low",
      "confidence": "high",
      "principleId": "be-discoverable",
      "principleCheckId": "canonical-and-indexing-signals",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "summary": "Localized indexing signals are incomplete",
      "evidence": "The English article exposes an hl locale and a canonical URL but zero hreflang links. /sitemap.xml redirects to the homepage rather than serving a sitemap; robots.txt contains no sitemap declaration.",
      "suggestedFix": "Publish locale alternates with reciprocal hreflang and expose sitemap indexes for the large localized help corpus, referenced from robots.txt.",
      "effort": "medium",
      "artifacts": [
        "evidence/article-probe.json",
        "evidence/robots.txt",
        "evidence/sitemap-final-status.txt"
      ],
      "pathId": "article",
      "url": "https://support.google.com/chrome/answer/95346?hl=en"
    },
    {
      "id": "F15",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-discoverable",
      "principleCheckId": "structured-and-shareable-metadata",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "summary": "Help articles lack structured and share-preview metadata",
      "evidence": "The representative Chrome article has no JSON-LD and no Open Graph tags despite representing a stable Help/HowTo entity.",
      "suggestedFix": "Add accurate schema.org structured data suited to the article (for example TechArticle/HowTo where valid) and Open Graph/Twitter preview metadata matching visible content.",
      "effort": "small",
      "artifacts": [
        "evidence/article-probe.json"
      ],
      "pathId": "article",
      "url": "https://support.google.com/chrome/answer/95346?hl=en"
    },
    {
      "id": "F16",
      "severity": "high",
      "confidence": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "summary": "CSP is absent and analytics cookies are not Secure",
      "evidence": "The headers primitive found no Content-Security-Policy. The cookie audit found six cookies without Secure, including _ga, _gid and tag-manager cookies; these also used SameSite=None. HTTPS, HSTS and nosniff were present.",
      "suggestedFix": "Deploy a nonce/hash-based CSP and set Secure with an intentional SameSite policy on every HTTPS cookie; review whether analytics cookies need cross-site scope.",
      "effort": "medium",
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json"
      ],
      "pathId": "home",
      "url": "https://support.google.com/"
    },
    {
      "id": "F17",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "guidanceCategory": "privacy",
      "summary": "The portal loads a broad tracking and third-party footprint",
      "evidence": "The tracker probe observed 13 third-party origins and active Google Analytics/Tag Manager endpoints. The HAR recorded 1.16 MB across 72 requests, including multiple analytics bundles.",
      "suggestedFix": "Minimise analytics to essential, consent-aware events; consolidate duplicate tags, defer nonessential third parties, and document retention/purpose.",
      "effort": "medium",
      "artifacts": [
        "evidence/home-trackers.json",
        "evidence/home-summary.json"
      ],
      "pathId": "home",
      "url": "https://support.google.com/"
    },
    {
      "id": "F18",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "summary": "Referrer and permissions policies are absent",
      "evidence": "The main response has HSTS, nosniff and X-Frame-Options, but no Referrer-Policy or Permissions-Policy; CSP/frame-ancestors is also absent.",
      "suggestedFix": "Add a restrictive Referrer-Policy and Permissions-Policy, and migrate clickjacking/XSS defenses into a tested CSP with frame-ancestors.",
      "effort": "small",
      "artifacts": [
        "evidence/home-headers.json"
      ],
      "pathId": "home",
      "url": "https://support.google.com/"
    },
    {
      "id": "F19",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-internationalised",
      "principleCheckId": "lang-dir-and-logical-properties",
      "guidanceId": "translator",
      "guidanceCategory": "user-experience",
      "summary": "Localized templates use physical rather than logical CSS",
      "evidence": "The English templates correctly set lang=en and expose a language selector, but the stylesheet probe found physical left/right declarations and no logical inline/block properties on the representative article.",
      "suggestedFix": "Migrate layout rules to margin/padding/inset-inline and inline-size/block-size so translated RTL and vertical writing modes retain correct layout.",
      "effort": "medium",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/css-capability-probe.json"
      ],
      "pathId": "home",
      "url": "https://support.google.com/chrome/answer/95346?hl=en"
    },
    {
      "id": "F20",
      "severity": "low",
      "confidence": "high",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "deliver-optimized-decorative-images",
      "guidanceCategory": "performance",
      "summary": "Below-fold icon assets are not lazily delivered",
      "evidence": "The image audit found 20 below-fold images without lazy loading, 19 PNG/legacy-format images, and all 21 without intrinsic dimensions. Image transfer was modest (62 KiB), so this is an efficiency polish issue rather than a weight emergency.",
      "suggestedFix": "Lazy-load below-fold icons, retain explicit dimensions, and evaluate AVIF/WebP or vector delivery where it materially reduces bytes.",
      "effort": "small",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home-summary.json"
      ],
      "pathId": "home",
      "url": "https://support.google.com/"
    },
    {
      "id": "F21",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "efficient-background-processing",
      "guidanceCategory": "performance",
      "summary": "Initial load performs avoidable script work",
      "evidence": "Lighthouse estimated 363 KiB unused JavaScript and the tracker capture shows repeated analytics/tag-manager work on a simple help index.",
      "suggestedFix": "Delay optional feedback and analytics modules until user intent or idle time, consolidate telemetry, and avoid loading code with no initial-route value.",
      "effort": "medium",
      "artifacts": [
        "evidence/home-diagnostic-details.json",
        "evidence/home-trackers.json"
      ],
      "pathId": "home",
      "url": "https://support.google.com/"
    },
    {
      "id": "F22",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "deprioritize-background-fetches",
      "guidanceCategory": "performance",
      "summary": "Third-party and font budget is disproportionate to a help index",
      "evidence": "The HAR totals 1.16 MB and 72 requests for a mostly textual portal, including 19 font requests and 13 third-party origins.",
      "suggestedFix": "Set a route budget, reduce font families/weights and third-party origins, and defer nonessential integrations until interaction.",
      "effort": "medium",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trackers.json"
      ],
      "pathId": "home",
      "url": "https://support.google.com/"
    },
    {
      "id": "F23",
      "severity": "low",
      "confidence": "high",
      "principleId": "be-agent-ready",
      "principleCheckId": "structured-agent-capabilities",
      "guidanceId": "webmcp",
      "guidanceCategory": "user-experience",
      "summary": "Machine-readable support actions are not exposed",
      "evidence": "Raw support content is fully crawlable, but Lighthouse scored agentic browsing at 0.67 and found no recommended llms.txt; the page exposes no WebMCP or structured agent tool surface.",
      "suggestedFix": "Publish safe read/search support capabilities through emerging agent-readable conventions (including WebMCP where appropriate) and document crawler/agent policy.",
      "effort": "medium",
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/home-discoverability.json"
      ],
      "pathId": "home",
      "url": "https://support.google.com/"
    }
  ],
  "taskList": [
    {
      "id": "T01",
      "title": "Cold-load LCP exceeds the good threshold",
      "priority": 1,
      "findingIds": [
        "F06"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T02",
      "title": "Article template has a large mobile layout shift",
      "priority": 2,
      "findingIds": [
        "F07"
      ],
      "guidanceId": "prevent layout shift reserve space CLS aspect-ratio",
      "status": "open"
    },
    {
      "id": "T03",
      "title": "CSP is absent and analytics cookies are not Secure",
      "priority": 3,
      "findingIds": [
        "F16"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T04",
      "title": "System dark preference is ignored",
      "priority": 4,
      "findingIds": [
        "F01"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T05",
      "title": "Persistent assistant control obscures article content",
      "priority": 5,
      "findingIds": [
        "F05"
      ],
      "guidanceId": "persistent-toast-notifications",
      "status": "open"
    },
    {
      "id": "T06",
      "title": "Caching and font delivery leave avoidable load delay",
      "priority": 6,
      "findingIds": [
        "F08"
      ],
      "guidanceId": "optimize-preload-priority",
      "status": "open"
    },
    {
      "id": "T07",
      "title": "Large amounts of JavaScript are unused on initial load",
      "priority": 7,
      "findingIds": [
        "F09"
      ],
      "guidanceId": "identify-heavy-scripts",
      "status": "open"
    },
    {
      "id": "T08",
      "title": "An uncaught exception is logged during page load",
      "priority": 8,
      "findingIds": [
        "F10"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T09",
      "title": "Portal homepage lacks a meta description",
      "priority": 9,
      "findingIds": [
        "F13"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T10",
      "title": "Help articles lack structured and share-preview metadata",
      "priority": 10,
      "findingIds": [
        "F15"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T11",
      "title": "The portal loads a broad tracking and third-party footprint",
      "priority": 11,
      "findingIds": [
        "F17"
      ],
      "guidanceId": "privacy",
      "status": "open"
    },
    {
      "id": "T12",
      "title": "Referrer and permissions policies are absent",
      "priority": 12,
      "findingIds": [
        "F18"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T13",
      "title": "Localized templates use physical rather than logical CSS",
      "priority": 13,
      "findingIds": [
        "F19"
      ],
      "guidanceId": "translator",
      "status": "open"
    },
    {
      "id": "T14",
      "title": "Initial load performs avoidable script work",
      "priority": 14,
      "findingIds": [
        "F21"
      ],
      "guidanceId": "efficient-background-processing",
      "status": "open"
    },
    {
      "id": "T15",
      "title": "Third-party and font budget is disproportionate to a help index",
      "priority": 15,
      "findingIds": [
        "F22"
      ],
      "guidanceId": "deprioritize-background-fetches",
      "status": "open"
    },
    {
      "id": "T16",
      "title": "Reduced-motion preference leaves transitions active",
      "priority": 16,
      "findingIds": [
        "F02"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T17",
      "title": "Page and state changes do not use View Transitions",
      "priority": 17,
      "findingIds": [
        "F03"
      ],
      "guidanceId": "same-document-transitions",
      "status": "open"
    },
    {
      "id": "T18",
      "title": "Responsive components rely only on viewport-level techniques",
      "priority": 18,
      "findingIds": [
        "F04"
      ],
      "guidanceId": "size-aware-styling",
      "status": "open"
    },
    {
      "id": "T19",
      "title": "Images omit intrinsic dimensions",
      "priority": 19,
      "findingIds": [
        "F11"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T20",
      "title": "Large first-party JavaScript has no source map",
      "priority": 20,
      "findingIds": [
        "F12"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T21",
      "title": "Localized indexing signals are incomplete",
      "priority": 21,
      "findingIds": [
        "F14"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T22",
      "title": "Below-fold icon assets are not lazily delivered",
      "priority": 22,
      "findingIds": [
        "F20"
      ],
      "guidanceId": "deliver-optimized-decorative-images",
      "status": "open"
    },
    {
      "id": "T23",
      "title": "Machine-readable support actions are not exposed",
      "priority": 23,
      "findingIds": [
        "F23"
      ],
      "guidanceId": "webmcp",
      "status": "open"
    }
  ],
  "budget": {
    "wallClockSeconds": 900,
    "pathCount": 5,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-18T16-43-54-492Z"
}
