{
  "url": "https://www.google.com/",
  "auditedAt": "2026-07-27T16:10:00.000Z",
  "mode": "report",
  "status": "partial",
  "statusDetail": "The homepage was inspected across visual, responsive, accessibility, performance, network, security, crawler, and memory conditions, but the representative search-results journey redirected to Google’s unusual-traffic reCAPTCHA. One atomic check is blocked, so this 57/58 run is partial and has no score.",
  "page": {
    "appType": "mpa",
    "framework": "Google server-rendered search frontend (no public framework signature detected)",
    "notes": "Public Google Search homepage with a consent modal. Coverage includes the homepage, no-JavaScript crawler rendering, and the primary search-results journey. Search results were blocked by unusual-traffic reCAPTCHA. Account, Images, Shopping, and other distinct Google products were excluded."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "layout-metrics",
    "evaluate-probe",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "heap-summary",
    "lighthouse"
  ],
  "guidanceConsulted": [
    "accessibility",
    "accessible-error-announcement",
    "language-detection",
    "language-model",
    "summarizer",
    "translator",
    "css",
    "highlight-text-ranges",
    "css-layout",
    "animated-select-picker",
    "autofill-address-form",
    "autofill-highlight-inputs",
    "autofill-payment-form",
    "autofill-sign-in-form",
    "autofill-sign-up-form",
    "brand-consistent-forms",
    "branded-select-styling",
    "custom-select-picker-layouts",
    "form-fields-automatically-fit-contents",
    "forms",
    "required-field-feedback",
    "rich-media-picker",
    "select-menu-interaction",
    "validate-input-after-interaction",
    "html",
    "passkey-authentication",
    "passkey-conditional-create",
    "passkey-management",
    "passkey-reauthentication",
    "passkey-registration",
    "passkeys",
    "batch-analytics-events",
    "break-up-long-tasks",
    "calculate-total-foreground-time",
    "conditional-async-dependencies",
    "defer-rendering-heavy-content",
    "defer-work-until-scroll-ends",
    "deprioritize-background-fetches",
    "detect-initial-visibility-state",
    "efficient-background-processing",
    "faster-spa-view-transitions",
    "full-session-analytics",
    "identify-heavy-scripts",
    "identify-inp-causes",
    "improve-next-page-load-performance",
    "interactions-in-complex-layouts",
    "optimize-image-priority",
    "optimize-preload-priority",
    "optimize-script-priority",
    "performance",
    "resolution-optimized-pseudo-elements",
    "schedule-tasks-by-priority",
    "sequence-distributed-events",
    "privacy",
    "security",
    "adapt-scrollbar-to-contrast-preferences",
    "anchor-positioning-tab-underline",
    "animate-element-entry-exit",
    "animate-to-from-top-layer",
    "animate-to-intrinsic-sizes",
    "apply-webgl-shaders",
    "calculate-event-differentials",
    "calculate-with-intrinsic-sizes",
    "capture-location-agnostic-data",
    "carousel-slide-effects",
    "carousel-snap-highlights",
    "child-state-based-styling",
    "complex-shapes",
    "component-specific-light-dark-theme",
    "consistent-cross-document-transitions",
    "content-based-styling",
    "coordinate-global-events",
    "cross-document-transitions",
    "customize-scrollbar-color-and-thickness",
    "dark-mode",
    "declarative-button-actions",
    "declarative-dialog-popover-control",
    "deliver-optimized-decorative-images",
    "design-token-reactivity",
    "directional-navigation-transitions",
    "dynamic-sibling-animations",
    "dynamic-sibling-styling",
    "export-html-media-from-canvas",
    "expose-canvas-content-to-browser-features",
    "flicker-free-client-side-ab-testing",
    "fluid-scaling",
    "format-human-readable-durations",
    "group-element-transitions",
    "improve-text-layout-and-legibility",
    "individual-transform-properties",
    "interactive-content-in-3d-scenes",
    "interactive-content-reveal",
    "interest-triggered-action-previews",
    "interest-triggered-tooltips",
    "light-dismiss-a-dialog",
    "manage-recurring-intervals",
    "model-partial-time-concepts",
    "move-dom-element-without-losing-state",
    "navigation-drawer",
    "overflow-clipping-control",
    "parallax-scroll-effects",
    "persistent-app-tours",
    "persistent-toast-notifications",
    "persistent-top-layer-ui",
    "physics-based-easing",
    "platform-controls-dismiss-dialog",
    "position-aware-tooltips",
    "precise-text-alignment",
    "prevent-text-wrapping",
    "pull-to-reveal",
    "reduce-style-repetition",
    "resilient-context-menus-and-nested-dropdowns",
    "same-document-transitions",
    "scroll-entry-exit-effects",
    "scroll-position-aware-elements",
    "scroll-progress-indicator",
    "scroll-snap-realtime-feedback",
    "scroll-snap-state-sync",
    "scroll-target-on-load",
    "scrollability-affordance-hints",
    "scrollytelling",
    "search-hidden-content",
    "shaped-cutouts",
    "shrinking-header-on-scroll",
    "size-aware-styling",
    "soft-edge-content-fade",
    "stabilize-reactive-state",
    "stack-drill-down",
    "style-parent-with-has",
    "support-global-calendar-systems",
    "swipe-to-remove",
    "visually-stable-font-fallbacks",
    "visually-stable-mixed-fonts",
    "visually-texture-content",
    "agentic-forms",
    "agentic-javascript-tools",
    "webmcp"
  ],
  "artifacts": [
    {
      "type": "other",
      "path": "evidence/focus-after-reject.json",
      "caption": "focus after reject",
      "findingIds": [
        "WU-GOOGLE-005",
        "WU-GOOGLE-006"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.json",
      "caption": "heap baseline"
    },
    {
      "type": "heap",
      "path": "evidence/heap-post-valid.json",
      "caption": "heap post valid"
    },
    {
      "type": "heap",
      "path": "evidence/heap-post.json",
      "caption": "heap post"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-consent-rejected.png",
      "caption": "home consent rejected"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-contrast.png",
      "caption": "home contrast"
    },
    {
      "type": "other",
      "path": "evidence/home-cookies.json",
      "caption": "home cookies"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "home dark",
      "findingIds": [
        "WU-GOOGLE-001"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "home desktop",
      "findingIds": [
        "WU-GOOGLE-002",
        "WU-GOOGLE-014"
      ]
    },
    {
      "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"
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "home dom",
      "findingIds": [
        "WU-GOOGLE-003",
        "WU-GOOGLE-012"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-focus.json",
      "caption": "home focus"
    },
    {
      "type": "other",
      "path": "evidence/home-headers.json",
      "caption": "home headers",
      "findingIds": [
        "WU-GOOGLE-013",
        "WU-GOOGLE-015"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-images.json",
      "caption": "home images"
    },
    {
      "type": "layout",
      "path": "evidence/home-layout-mobile.json",
      "caption": "home layout mobile",
      "findingIds": [
        "WU-GOOGLE-004",
        "WU-GOOGLE-009",
        "WU-GOOGLE-018"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-light.png",
      "caption": "home light",
      "findingIds": [
        "WU-GOOGLE-001"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-memory-metrics.json",
      "caption": "home memory metrics"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "home mobile",
      "findingIds": [
        "WU-GOOGLE-004",
        "WU-GOOGLE-009",
        "WU-GOOGLE-018"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-probe.json",
      "caption": "home probe",
      "findingIds": [
        "WU-GOOGLE-001",
        "WU-GOOGLE-002",
        "WU-GOOGLE-003",
        "WU-GOOGLE-005",
        "WU-GOOGLE-006",
        "WU-GOOGLE-010",
        "WU-GOOGLE-011",
        "WU-GOOGLE-012",
        "WU-GOOGLE-017"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-reduced-motion.json",
      "caption": "home reduced motion"
    },
    {
      "type": "other",
      "path": "evidence/home-secrets.json",
      "caption": "home secrets"
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "home summary",
      "findingIds": [
        "WU-GOOGLE-007",
        "WU-GOOGLE-011",
        "WU-GOOGLE-014",
        "WU-GOOGLE-016"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "home trace summary"
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "home trace"
    },
    {
      "type": "other",
      "path": "evidence/home-trackers.json",
      "caption": "home trackers",
      "findingIds": [
        "WU-GOOGLE-014"
      ]
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "home",
      "findingIds": [
        "WU-GOOGLE-007",
        "WU-GOOGLE-014",
        "WU-GOOGLE-016"
      ]
    },
    {
      "type": "other",
      "path": "evidence/lighthouse-failures.json",
      "caption": "lighthouse failures"
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-home.json",
      "caption": "lighthouse home",
      "findingIds": [
        "WU-GOOGLE-007",
        "WU-GOOGLE-008"
      ]
    },
    {
      "type": "other",
      "path": "evidence/lighthouse-summary.json",
      "caption": "lighthouse summary",
      "findingIds": [
        "WU-GOOGLE-007",
        "WU-GOOGLE-008",
        "WU-GOOGLE-010",
        "WU-GOOGLE-016"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/results-dom.json",
      "caption": "results dom"
    },
    {
      "type": "layout",
      "path": "evidence/results-layout-mobile.json",
      "caption": "results layout mobile"
    },
    {
      "type": "screenshot",
      "path": "evidence/results-mobile.png",
      "caption": "results mobile"
    },
    {
      "type": "other",
      "path": "evidence/robots-headers.txt",
      "caption": "robots headers"
    },
    {
      "type": "other",
      "path": "evidence/robots.txt",
      "caption": "robots",
      "findingIds": [
        "WU-GOOGLE-011"
      ]
    },
    {
      "type": "other",
      "path": "evidence/sitemap-headers.txt",
      "caption": "sitemap headers"
    },
    {
      "type": "other",
      "path": "evidence/sitemap.xml",
      "caption": "sitemap"
    }
  ],
  "config": {
    "loaded": false
  },
  "coverage": {
    "catalogVersion": "modern-web-guidance@0.0.172",
    "catalogChecksum": "sha256:78ccfdb2d483f4c57d9dafed80fd86c6265585a56457c8dcfddc254b80fb44d7",
    "expected": 58,
    "recorded": 58,
    "judged": 57,
    "blocked": 1,
    "notRun": 0,
    "missing": 0,
    "unknown": 0,
    "duplicates": 0,
    "complete": false
  },
  "checkOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-color-scheme",
      "confidence": "high",
      "method": "Active inspection using the artifacts cited by the linked finding",
      "evidence": "Evaluate probes under prefers-color-scheme: light and dark both returned body background rgb(34, 36, 42) and text rgb(232, 232, 232); the light and dark screenshots are byte-identical.",
      "pathIds": [
        "home"
      ],
      "status": "issues",
      "artifacts": [
        "evidence/home-light.png",
        "evidence/home-dark.png",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "WU-GOOGLE-001"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "confidence": "high",
      "method": "evaluate with emulated reduced motion",
      "evidence": "Under prefers-reduced-motion: reduce, the probe matched the media query and found zero running document animations.",
      "pathIds": [
        "home"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/home-reduced-motion.json"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "confidence": "high",
      "method": "Lighthouse plus contrast-emulated screenshot and CSS probe",
      "evidence": "Lighthouse’s color-contrast audit passed, and the prefers-contrast: more screenshot retained readable text and controls.",
      "pathIds": [
        "home"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/home-contrast.png",
        "evidence/home-probe.json",
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "confidence": "high",
      "method": "DOM/CSS feature inspection",
      "evidence": "CSS inspection found view-transition usage on the homepage; no running animation blocked or obscured the core search state.",
      "pathIds": [
        "home"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/home-dom.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon and DOM inspection",
      "evidence": "The inspected homepage and blocked search response have no scroll-linked storytelling, parallax, carousel, or reveal interaction to implement.",
      "status": "not-applicable",
      "reason": "The inspected homepage and blocked search response have no scroll-linked storytelling, parallax, carousel, or reveal interaction to implement.",
      "artifacts": []
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon and DOM inspection",
      "evidence": "No custom swipe, pull, drag, carousel, or other gesture-driven surface exists on the representative public paths.",
      "status": "not-applicable",
      "reason": "No custom swipe, pull, drag, carousel, or other gesture-driven surface exists on the representative public paths.",
      "artifacts": []
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon and DOM inspection",
      "evidence": "The homepage is a single-viewport search surface with no meaningful scrolling chrome; the search-results archetype was externally blocked.",
      "status": "not-applicable",
      "reason": "The homepage is a single-viewport search surface with no meaningful scrolling chrome; the search-results archetype was externally blocked.",
      "artifacts": []
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon and DOM inspection",
      "evidence": "No tooltip, anchored menu, or edge-sensitive popover is present on the inspected homepage.",
      "status": "not-applicable",
      "reason": "No tooltip, anchored menu, or edge-sensitive popover is present on the inspected homepage.",
      "artifacts": []
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "confidence": "high",
      "method": "Screenshot and DOM hierarchy inspection",
      "evidence": "The first viewport centers the Google mark and the single search field; search has a clear accessible name and the consent state presents explicit equal-choice actions.",
      "pathIds": [
        "home"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "confidence": "high",
      "method": "Active inspection using the artifacts cited by the linked finding",
      "evidence": "The desktop screenshot shows a modal covering nearly the full viewport before interaction; the DOM probe identifies an aria-modal=true consent dialog over the search form.",
      "pathIds": [
        "home"
      ],
      "status": "issues",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "WU-GOOGLE-002"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "confidence": "high",
      "method": "Active inspection using the artifacts cited by the linked finding",
      "evidence": "The DOM/evaluate probe reports the visible consent surface as DIV role=dialog aria-modal=true, while the only native DIALOG belongs to a separate hidden voice-search surface.",
      "pathIds": [
        "home"
      ],
      "status": "issues",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/home-dom.json"
      ],
      "findingIds": [
        "WU-GOOGLE-003"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "confidence": "high",
      "method": "Desktop/mobile screenshot review",
      "evidence": "Outside the consent state, the inspected page is a sparse search surface with one dominant field and minimal surrounding chrome.",
      "pathIds": [
        "home"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "confidence": "high",
      "method": "Active inspection using the artifacts cited by the linked finding",
      "evidence": "The mobile layout capture reports no viewport meta and a 980 CSS-pixel layout viewport scaled to about 0.367 inside a 360px device viewport; the full-page screenshot shows tiny desktop navigation and controls.",
      "pathIds": [
        "home"
      ],
      "status": "issues",
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "WU-GOOGLE-004"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon and DOM inspection",
      "evidence": "The inspected homepage does not reuse a component in materially different container contexts; viewport responsiveness is judged separately.",
      "status": "not-applicable",
      "reason": "The inspected homepage does not reuse a component in materially different container contexts; viewport responsiveness is judged separately.",
      "artifacts": []
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "confidence": "high",
      "method": "Active inspection using the artifacts cited by the linked finding",
      "evidence": "After focusing the search textarea, the evaluate probe returned outline \"none\" and box-shadow \"none\"; several visible search buttons are only 36 CSS pixels high.",
      "pathIds": [
        "home"
      ],
      "status": "issues",
      "artifacts": [
        "evidence/focus-after-reject.json",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "WU-GOOGLE-005"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "confidence": "high",
      "method": "First-viewport screenshot and control-name inspection",
      "evidence": "The Google brand, centrally placed search field labelled Search, and Google Search action make the page purpose and next action unambiguous.",
      "pathIds": [
        "home"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "confidence": "high",
      "method": "Attempted direct navigation to https://www.google.com/search?q=web+uplift and captured the resulting state",
      "evidence": "Direct navigation to https://www.google.com/search?q=web+platform redirected to /sorry/ with unusual-traffic reCAPTCHA. The auditor cannot solve the external CAPTCHA, so end-to-end search completion is blocked.",
      "pathIds": [
        "search-flow"
      ],
      "status": "blocked",
      "reason": "Direct navigation to https://www.google.com/search?q=web+platform redirected to /sorry/ with unusual-traffic reCAPTCHA. The auditor cannot solve the external CAPTCHA, so end-to-end search completion is blocked.",
      "artifacts": [
        "evidence/results-mobile.png",
        "evidence/results-dom.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "confidence": "high",
      "method": "Direct blocked-state screenshot and DOM inspection",
      "evidence": "The unusual-traffic response clearly explains why search cannot continue, provides a reCAPTCHA recovery action, and links to more explanation.",
      "pathIds": [
        "home"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/results-mobile.png",
        "evidence/results-dom.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "confidence": "high",
      "method": "Lighthouse plus DevTools trace and layout observer",
      "evidence": "Lighthouse measured LCP 1.8s, CLS 0, and TBT 0ms (performance 0.99); the CDP trace measured LCP 2.60s and TBT 6.44ms.",
      "pathIds": [
        "home"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-trace-summary.json",
        "evidence/home-layout-mobile.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "confidence": "high",
      "method": "CDP layout-shift observation",
      "evidence": "The homepage mobile layout observer recorded CLS 0 with no shifts; Lighthouse independently measured CLS 0.",
      "pathIds": [
        "home"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/home-layout-mobile.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "confidence": "high",
      "method": "DevTools trace plus Lighthouse",
      "evidence": "The trace recorded one 56.44ms long task and 6.44ms total blocking time; Lighthouse measured TBT 0ms.",
      "pathIds": [
        "home"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/lighthouse-home.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "confidence": "high",
      "method": "HAR/trace/Lighthouse plus live script attribute confirmation",
      "evidence": "The HAR recorded no HTTP errors; Lighthouse LCP was 1.8s and the trace showed only 6.44ms blocking time, despite a short parser-inserted dependency chain.",
      "pathIds": [
        "home"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trace-summary.json",
        "evidence/home-probe.json",
        "evidence/lighthouse-home.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "confidence": "high",
      "method": "Active inspection using the artifacts cited by the linked finding",
      "evidence": "The HAR reports 706,075 transferred script bytes out of 805,494 total bytes. Lighthouse estimates 56KiB unused JavaScript and 11KiB unused CSS.",
      "pathIds": [
        "home"
      ],
      "status": "issues",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home.har",
        "evidence/lighthouse-summary.json",
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "WU-GOOGLE-007"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "confidence": "high",
      "method": "Lighthouse accessibility and DOM control inspection",
      "evidence": "Lighthouse image-alt and button-name audits passed; the search textarea has aria-label Search, links have text, and the consent surface exposes dialog semantics.",
      "pathIds": [
        "home"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "confidence": "high",
      "method": "Lighthouse contrast audit and emulated screenshot",
      "evidence": "Lighthouse’s basic color-contrast audit passed, while its separate link-in-text-block audit found the consent “cookies” link only 1.47:1 against surrounding text and not otherwise distinguished.",
      "pathIds": [
        "home"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-contrast.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "confidence": "high",
      "method": "Active inspection using the artifacts cited by the linked finding",
      "evidence": "The focused search textarea is the activeElement but its computed outline is none and box-shadow is none. The generic first focusable link probe also returned no outline.",
      "pathIds": [
        "home"
      ],
      "status": "issues",
      "artifacts": [
        "evidence/focus-after-reject.json",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "WU-GOOGLE-006"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "confidence": "high",
      "method": "Active inspection using the artifacts cited by the linked finding",
      "evidence": "Lighthouse failed link-in-text-block: the consent “cookies” link has 1.47:1 contrast against surrounding text and no underline or other non-color distinction.",
      "pathIds": [
        "home"
      ],
      "status": "issues",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "WU-GOOGLE-008"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "confidence": "high",
      "method": "Active inspection using the artifacts cited by the linked finding",
      "evidence": "At 360x800, layout metrics expose a 980px CSS layout viewport and no viewport meta, producing a 0.367 visual scale and very small desktop text and links.",
      "pathIds": [
        "home"
      ],
      "status": "issues",
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "WU-GOOGLE-009"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "confidence": "high",
      "method": "Lighthouse best-practices audit",
      "evidence": "Lighthouse errors-in-console passed with no browser errors.",
      "pathIds": [
        "home"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "confidence": "high",
      "method": "DOM, images primitive, Lighthouse, and layout observer",
      "evidence": "The document has HTML doctype and UTF-8 charset; Lighthouse doctype/charset passed and images caused no observed CLS.",
      "pathIds": [
        "home"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/home-images.json",
        "evidence/lighthouse-summary.json",
        "evidence/home-layout-mobile.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "confidence": "high",
      "method": "Lighthouse best-practices and screenshot review",
      "evidence": "Lighthouse passed deprecations, BFCache, third-party-cookie, console-error, and inspector-issues audits; no prompt appeared on load.",
      "pathIds": [
        "home"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "confidence": "high",
      "method": "Active inspection using the artifacts cited by the linked finding",
      "evidence": "The DOM probe returned description=null and Lighthouse failed the meta-description audit. The title is present as \"Google\".",
      "pathIds": [
        "home"
      ],
      "status": "issues",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "WU-GOOGLE-010"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "confidence": "high",
      "method": "DOM links, robots.txt, Lighthouse, and mobile layout",
      "evidence": "Links are crawlable and robots.txt is valid, but the homepage has no viewport meta; at a 360px device viewport Chrome used a 980 CSS-pixel layout viewport and scaled it to 0.367.",
      "pathIds": [
        "home"
      ],
      "status": "issues",
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/home-mobile.png",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "WU-GOOGLE-018"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "confidence": "medium",
      "method": "Active inspection using the artifacts cited by the linked finding",
      "evidence": "https://google.com/ redirects to https://www.google.com/, but the rendered DOM probe reports canonical=null. robots.txt is valid and the document returns 200 after the redirect.",
      "pathIds": [
        "home"
      ],
      "status": "issues",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/home-summary.json",
        "evidence/robots.txt"
      ],
      "findingIds": [
        "WU-GOOGLE-011"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "confidence": "medium",
      "method": "Active inspection using the artifacts cited by the linked finding",
      "evidence": "The DOM/evaluate evidence contains no JSON-LD, Open Graph metadata, or equivalent structured description for the Google Search/Organization entity.",
      "pathIds": [
        "home"
      ],
      "status": "issues",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "WU-GOOGLE-012"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "confidence": "high",
      "method": "Active inspection using the artifacts cited by the linked finding",
      "evidence": "The headers primitive confirms HTTPS and X-Frame-Options SAMEORIGIN, but reports missing Content-Security-Policy, Strict-Transport-Security, X-Content-Type-Options, and Referrer-Policy.",
      "pathIds": [
        "home"
      ],
      "status": "issues",
      "artifacts": [
        "evidence/home-headers.json"
      ],
      "findingIds": [
        "WU-GOOGLE-013"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "confidence": "medium",
      "method": "Active inspection using the artifacts cited by the linked finding",
      "evidence": "The initial-load HAR includes play.google.com/log requests and requests to ogads-pa.clients6.google.com while the screenshot still shows the unresolved consent dialog. The tracker matcher found no known tracker domain, so the classification is medium-confidence rather than asserting ad tracking.",
      "pathIds": [
        "home"
      ],
      "status": "issues",
      "artifacts": [
        "evidence/home.har",
        "evidence/home-summary.json",
        "evidence/home-desktop.png",
        "evidence/home-trackers.json"
      ],
      "findingIds": [
        "WU-GOOGLE-014"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon and DOM inspection",
      "evidence": "No permission prompt fires on the public homepage; authentication is a separate linked account journey outside the representative public search scope.",
      "status": "not-applicable",
      "reason": "No permission prompt fires on the public homepage; authentication is a separate linked account journey outside the representative public search scope.",
      "artifacts": []
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "confidence": "high",
      "method": "Active inspection using the artifacts cited by the linked finding",
      "evidence": "The headers capture finds clickjacking protection and Permissions-Policy unload=(), but no HSTS, CSP/frame-ancestors policy, Referrer-Policy, or X-Content-Type-Options.",
      "pathIds": [
        "home"
      ],
      "status": "issues",
      "artifacts": [
        "evidence/home-headers.json"
      ],
      "findingIds": [
        "WU-GOOGLE-015"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "confidence": "high",
      "method": "Discoverability raw-vs-rendered comparison",
      "evidence": "The no-JavaScript crawler screenshot still exposes the Google search field, buttons, navigation, and footer; the raw page is not a JS shell despite only 11% token overlap with the richer rendered consent state.",
      "pathIds": [
        "home"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/home-discoverability-crawler.png",
        "evidence/home-discoverability-rendered.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "confidence": "high",
      "method": "Screenshot/DOM plus Lighthouse runtime audits",
      "evidence": "The consent modal remains contained within the viewport, controls stay visible, and no runtime or inspector errors were reported.",
      "pathIds": [
        "home"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-probe.json",
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon and DOM inspection",
      "evidence": "Public web search is intrinsically network-dependent and the homepage is not presented as an installable app.",
      "status": "not-applicable",
      "reason": "Public web search is intrinsically network-dependent and the homepage is not presented as an installable app.",
      "artifacts": []
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "confidence": "high",
      "method": "Direct unusual-traffic response inspection",
      "evidence": "The anti-abuse response gives a clear explanation, a CAPTCHA recovery route, and help text rather than a blank screen or spinner.",
      "pathIds": [
        "home",
        "search-flow"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/results-mobile.png",
        "evidence/results-dom.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "confidence": "high",
      "method": "DOM language/direction and control inspection",
      "evidence": "The document declares lang=en-GB and resolves to ltr; it exposes a language control and locale-specific UK links/content.",
      "pathIds": [
        "home"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon and DOM inspection",
      "evidence": "The inspected search landing surface contains no dates, currencies, durations, or other locale-sensitive data values.",
      "status": "not-applicable",
      "reason": "The inspected search landing surface contains no dates, currencies, durations, or other locale-sensitive data values.",
      "artifacts": []
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon and DOM inspection",
      "evidence": "The inspected search landing surface contains no scheduling or time-zone-sensitive concepts.",
      "status": "not-applicable",
      "reason": "The inspected search landing surface contains no scheduling or time-zone-sensitive concepts.",
      "artifacts": []
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "confidence": "high",
      "method": "Consent screenshot and DOM text review",
      "evidence": "Reject all and Accept all are presented with equal visual weight, More options is available, and pricing/continuity pressure is absent on the public page.",
      "pathIds": [
        "home"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon and DOM inspection",
      "evidence": "The homepage search field has no format or required-field error state; the externally imposed CAPTCHA is not authored validation for this form.",
      "status": "not-applicable",
      "reason": "The homepage search field has no format or required-field error state; the externally imposed CAPTCHA is not authored validation for this form.",
      "artifacts": []
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon and DOM inspection",
      "evidence": "The sole user-entered field is an open-ended search query; address, payment, sign-in, and identity autocomplete tokens do not apply.",
      "status": "not-applicable",
      "reason": "The sole user-entered field is an open-ended search query; address, payment, sign-in, and identity autocomplete tokens do not apply.",
      "artifacts": []
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon and DOM inspection",
      "evidence": "No checkout, subscription, purchase, consent-to-payment, or account-management flow exists in the selected public search journey.",
      "status": "not-applicable",
      "reason": "No checkout, subscription, purchase, consent-to-payment, or account-management flow exists in the selected public search journey.",
      "artifacts": []
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "confidence": "high",
      "method": "HAR summary and images primitive",
      "evidence": "Only 973 transferred image bytes were recorded; the sole loaded external image is a 24px SVG and no oversized image was reported.",
      "pathIds": [
        "home"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-images.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "confidence": "high",
      "method": "Active inspection using the artifacts cited by the linked finding",
      "evidence": "The HAR records 42 requests and 805,494 transferred bytes, including 706,075 bytes of JavaScript; Lighthouse estimates 56KiB unused JavaScript and 11KiB unused CSS.",
      "pathIds": [
        "home"
      ],
      "status": "issues",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home.har",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "WU-GOOGLE-016"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "confidence": "high",
      "method": "HAR, trackers, images, and screenshot review",
      "evidence": "No video/audio/autoplay media was present, known trackers were zero, and image transfer was under 1KB; same-company redirect origins account for most nominal third-party bytes.",
      "pathIds": [
        "home"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trackers.json",
        "evidence/home-images.json"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "confidence": "medium",
      "method": "Active inspection using the artifacts cited by the linked finding",
      "evidence": "The evaluate probe reports navigator.modelContext absent and no agentic form/tool annotations, despite search being a clear, bounded capability suitable for structured invocation.",
      "pathIds": [
        "home"
      ],
      "status": "issues",
      "artifacts": [
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "WU-GOOGLE-017"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon and DOM inspection",
      "evidence": "The inspected core task is remote web search; no summarisation or language-model task on this surface clearly benefits from built-in on-device inference.",
      "status": "not-applicable",
      "reason": "The inspected core task is remote web search; no summarisation or language-model task on this surface clearly benefits from built-in on-device inference.",
      "artifacts": []
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "confidence": "high",
      "method": "Baseline and post-interaction heap summary comparison",
      "evidence": "After ten search-field focus/type/clear/blur cycles, heap self-size rose from 15,104,138 to 15,387,476 bytes (1.9%) and heap nodes from 349,526 to 352,718 (0.9%), a bounded two-snapshot change.",
      "pathIds": [
        "home"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/heap-post-valid.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "confidence": "high",
      "method": "Heap summary plus DOM count probe",
      "evidence": "The homepage heap is about 15.1MB self-size with 349,526 heap nodes; the DOM probe counted 502 elements, proportionate to this interactive landing page.",
      "pathIds": [
        "home"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/home-memory-metrics.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "confidence": "high",
      "method": "Before/after heap constructor and node-count comparison",
      "evidence": "After ten repeated input cycles, heap node growth was under 1%; no evidence of unbounded listener/timer or detached-DOM accumulation appeared in the bounded comparison.",
      "pathIds": [
        "home"
      ],
      "status": "pass",
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/heap-post-valid.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "WU-GOOGLE-001"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "WU-GOOGLE-002",
        "WU-GOOGLE-003"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "WU-GOOGLE-004",
        "WU-GOOGLE-005"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "incomplete",
      "reason": "At least one required check was blocked by the external unusual-traffic CAPTCHA."
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "WU-GOOGLE-007"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "WU-GOOGLE-006",
        "WU-GOOGLE-008",
        "WU-GOOGLE-009"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "WU-GOOGLE-010",
        "WU-GOOGLE-011",
        "WU-GOOGLE-012",
        "WU-GOOGLE-018"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "WU-GOOGLE-013",
        "WU-GOOGLE-014",
        "WU-GOOGLE-015"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "WU-GOOGLE-016"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "WU-GOOGLE-017"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Google Search homepage: landing template, consent state, search control, preferences, responsive behavior, accessibility, performance, security, and memory.",
      "url": "https://www.google.com/",
      "conditions": [
        "desktop",
        "viewport 360x800",
        "prefers-color-scheme light/dark",
        "prefers-reduced-motion reduce",
        "prefers-contrast more",
        "keyboard focus"
      ],
      "result": "issues"
    },
    {
      "id": "search-flow",
      "description": "Primary journey from a query to the search-results archetype. Direct navigation was attempted and redirected to unusual-traffic reCAPTCHA.",
      "url": "https://www.google.com/search?q=web+platform",
      "conditions": [
        "viewport 360x800"
      ],
      "result": "failed"
    },
    {
      "id": "crawler",
      "description": "Raw HTML/no-JavaScript crawler view paired with the rendered homepage.",
      "url": "https://www.google.com/",
      "conditions": [
        "JavaScript disabled",
        "crawler user agent"
      ],
      "result": "pass"
    }
  ],
  "findings": [
    {
      "id": "WU-GOOGLE-001",
      "severity": "medium",
      "confidence": "high",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "guidanceCategory": "user-experience",
      "pathId": "home",
      "url": "https://www.google.com/",
      "summary": "The page stays dark even when the browser explicitly requests a light color scheme.",
      "evidence": "Evaluate probes under prefers-color-scheme: light and dark both returned body background rgb(34, 36, 42) and text rgb(232, 232, 232); the light and dark screenshots are byte-identical.",
      "artifacts": [
        "evidence/home-light.png",
        "evidence/home-dark.png",
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Make the chosen palette follow prefers-color-scheme by default, declare color-scheme, and reserve any manual theme override for an explicit user choice.",
      "effort": "small"
    },
    {
      "id": "WU-GOOGLE-002",
      "severity": "high",
      "confidence": "high",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "no-intrusive-interruptions",
      "guidanceId": "declarative-dialog-popover-control",
      "guidanceCategory": "user-experience",
      "pathId": "home",
      "url": "https://www.google.com/",
      "summary": "A consent interstitial obscures the primary search experience on initial load.",
      "evidence": "The desktop screenshot shows a modal covering nearly the full viewport before interaction; the DOM probe identifies an aria-modal=true consent dialog over the search form.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Where legally permissible, use a compact, content-preserving consent surface. If a modal is required, keep the essential explanation concise and make dismissal/choice immediate and keyboard-safe.",
      "effort": "medium"
    },
    {
      "id": "WU-GOOGLE-003",
      "severity": "medium",
      "confidence": "high",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "guidanceCategory": "user-experience",
      "pathId": "home",
      "url": "https://www.google.com/",
      "summary": "The active consent modal is implemented as a div with ARIA rather than the native dialog primitive.",
      "evidence": "The DOM/evaluate probe reports the visible consent surface as DIV role=dialog aria-modal=true, while the only native DIALOG belongs to a separate hidden voice-search surface.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/home-dom.json"
      ],
      "suggestedFix": "Use a native <dialog> for the modal consent flow with declarative close behavior and correct initial/return focus, retaining ARIA only where native semantics need augmentation.",
      "effort": "medium"
    },
    {
      "id": "WU-GOOGLE-004",
      "severity": "high",
      "confidence": "high",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "responsive-no-horizontal-scroll",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "css-layout",
      "pathId": "home",
      "url": "https://www.google.com/",
      "summary": "The desktop document is scaled down rather than genuinely reflowing at a 360px viewport.",
      "evidence": "The mobile layout capture reports no viewport meta and a 980 CSS-pixel layout viewport scaled to about 0.367 inside a 360px device viewport; the full-page screenshot shows tiny desktop navigation and controls.",
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Serve a standards-based viewport meta tag and use fluid/intrinsic layout so content reflows at narrow widths rather than relying on browser shrink-to-fit.",
      "effort": "small"
    },
    {
      "id": "WU-GOOGLE-005",
      "severity": "high",
      "confidence": "high",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "pathId": "home",
      "url": "https://www.google.com/",
      "summary": "Keyboard focus on the primary search field has no visible focus indicator.",
      "evidence": "After focusing the search textarea, the evaluate probe returned outline \"none\" and box-shadow \"none\"; several visible search buttons are only 36 CSS pixels high.",
      "artifacts": [
        "evidence/focus-after-reject.json",
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Add a high-contrast :focus-visible indicator to the search control and keep interactive targets at least 44 by 44 CSS pixels where practical.",
      "effort": "small"
    },
    {
      "id": "WU-GOOGLE-006",
      "severity": "high",
      "confidence": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "pathId": "home",
      "url": "https://www.google.com/",
      "summary": "The primary keyboard focus state is not visually perceivable.",
      "evidence": "The focused search textarea is the activeElement but its computed outline is none and box-shadow is none. The generic first focusable link probe also returned no outline.",
      "artifacts": [
        "evidence/focus-after-reject.json",
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Provide an unmistakable :focus-visible ring for every interactive element, including the search field and header/footer links, without removing the browser outline unless an equivalent is supplied.",
      "effort": "small"
    },
    {
      "id": "WU-GOOGLE-007",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "guidanceCategory": "performance",
      "pathId": "home",
      "url": "https://www.google.com/",
      "summary": "The simple search landing page ships a disproportionately large JavaScript payload with measurable unused code.",
      "evidence": "The HAR summary reports 703,019 transferred script bytes out of 803,606 total bytes. Lighthouse flags both unused JavaScript and unused CSS, each at score 0.5.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home.har",
        "evidence/lighthouse-summary.json",
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Split and conditionally load nonessential modules after user intent, remove duplicate/unused bundles, and keep the initial search shell to the code needed for search and consent.",
      "effort": "large"
    },
    {
      "id": "WU-GOOGLE-008",
      "severity": "low",
      "confidence": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "legible-text",
      "guidanceId": "improve-text-layout-and-legibility",
      "guidanceCategory": "user-experience",
      "pathId": "home",
      "url": "https://www.google.com/",
      "summary": "At least one text link relies on color alone to be distinguishable.",
      "evidence": "Lighthouse link-in-text-block failed with one affected item, while the separate color-contrast audit passed.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Add a non-color affordance such as an underline for inline links, with clear hover and focus states.",
      "effort": "trivial"
    },
    {
      "id": "WU-GOOGLE-009",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "css-layout",
      "pathId": "home",
      "url": "https://www.google.com/",
      "summary": "The narrow-viewport experience uses shrink-to-fit instead of accessible reflow.",
      "evidence": "At 360x800, layout metrics expose a 980px CSS layout viewport and no viewport meta, producing a 0.367 visual scale and very small desktop text and links.",
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Add a responsive viewport declaration and reflow the page at narrow widths while preserving user zoom and adequate target sizes.",
      "effort": "small"
    },
    {
      "id": "WU-GOOGLE-010",
      "severity": "low",
      "confidence": "high",
      "principleId": "be-discoverable",
      "principleCheckId": "title-and-description",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "pathId": "home",
      "url": "https://www.google.com/",
      "summary": "The public homepage has no meta description.",
      "evidence": "The DOM probe returned description=null and Lighthouse failed the meta-description audit. The title is present as \"Google\".",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Add a concise, locale-appropriate meta description that explains Google Search and matches visible page intent.",
      "effort": "trivial"
    },
    {
      "id": "WU-GOOGLE-011",
      "severity": "low",
      "confidence": "medium",
      "principleId": "be-discoverable",
      "principleCheckId": "canonical-and-indexing-signals",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "pathId": "home",
      "url": "https://www.google.com/",
      "summary": "The homepage redirect target does not expose an explicit canonical URL.",
      "evidence": "https://google.com/ redirects to https://www.google.com/, but the rendered DOM probe reports canonical=null. robots.txt is valid and the document returns 200 after the redirect.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/home-summary.json",
        "evidence/robots.txt"
      ],
      "suggestedFix": "Add an explicit self-referencing canonical for the final locale-aware homepage URL, or document the intentional canonicalization policy through stable redirects and locale signals.",
      "effort": "trivial"
    },
    {
      "id": "WU-GOOGLE-012",
      "severity": "low",
      "confidence": "medium",
      "principleId": "be-discoverable",
      "principleCheckId": "structured-and-shareable-metadata",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "pathId": "home",
      "url": "https://www.google.com/",
      "summary": "The homepage exposes no structured entity or social-preview metadata in the inspected DOM.",
      "evidence": "The DOM/evaluate evidence contains no JSON-LD, Open Graph metadata, or equivalent structured description for the Google Search/Organization entity.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Publish accurate Organization/WebSite structured data and basic share-preview metadata that reflects the visible search homepage.",
      "effort": "small"
    },
    {
      "id": "WU-GOOGLE-013",
      "severity": "high",
      "confidence": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "pathId": "home",
      "url": "https://www.google.com/",
      "summary": "The inspected main document omits several baseline security response headers.",
      "evidence": "The headers primitive confirms HTTPS and X-Frame-Options SAMEORIGIN, but reports missing Content-Security-Policy, Strict-Transport-Security, X-Content-Type-Options, and Referrer-Policy.",
      "artifacts": [
        "evidence/home-headers.json"
      ],
      "suggestedFix": "Deploy a tested CSP, HSTS, X-Content-Type-Options: nosniff, and a deliberate Referrer-Policy on the final www.google.com document.",
      "effort": "medium"
    },
    {
      "id": "WU-GOOGLE-014",
      "severity": "medium",
      "confidence": "medium",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "guidanceCategory": "privacy",
      "pathId": "home",
      "url": "https://www.google.com/",
      "summary": "The page performs background logging and async-data requests before the user resolves the consent modal.",
      "evidence": "The initial-load HAR includes play.google.com/log requests and requests to ogads-pa.clients6.google.com while the screenshot still shows the unresolved consent dialog. The tracker matcher found no known tracker domain, so the classification is medium-confidence rather than asserting ad tracking.",
      "artifacts": [
        "evidence/home.har",
        "evidence/home-summary.json",
        "evidence/home-desktop.png",
        "evidence/home-trackers.json"
      ],
      "suggestedFix": "Audit every pre-consent request, document its necessity, and defer nonessential logging/analytics until a valid user choice; batch any permitted telemetry.",
      "effort": "medium"
    },
    {
      "id": "WU-GOOGLE-015",
      "severity": "high",
      "confidence": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "pathId": "home",
      "url": "https://www.google.com/",
      "summary": "Browser-enforced defensive policy coverage is incomplete.",
      "evidence": "The headers capture finds clickjacking protection and Permissions-Policy unload=(), but no HSTS, CSP/frame-ancestors policy, Referrer-Policy, or X-Content-Type-Options.",
      "artifacts": [
        "evidence/home-headers.json"
      ],
      "suggestedFix": "Add HSTS and a restrictive CSP (including frame-ancestors), set nosniff and a deliberate Referrer-Policy, and expand Permissions-Policy to the minimum capabilities needed.",
      "effort": "medium"
    },
    {
      "id": "WU-GOOGLE-016",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "deprioritize-background-fetches",
      "guidanceCategory": "performance",
      "pathId": "home",
      "url": "https://www.google.com/",
      "summary": "Initial resource use is heavy for a single-field search landing page.",
      "evidence": "The HAR records 43 requests and 803,606 transferred bytes, including 703,019 bytes of JavaScript; Lighthouse separately identifies unused JavaScript and CSS.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home.har",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Set an initial-load budget for the search shell, conditionally fetch optional modules, and deprioritize or defer background data and telemetry.",
      "effort": "large"
    },
    {
      "id": "WU-GOOGLE-017",
      "severity": "low",
      "confidence": "medium",
      "principleId": "be-agent-ready",
      "principleCheckId": "structured-agent-capabilities",
      "guidanceId": "agentic-forms",
      "guidanceCategory": "webmcp",
      "pathId": "home",
      "url": "https://www.google.com/",
      "summary": "The core search form is not exposed as a structured agent capability.",
      "evidence": "The evaluate probe reports navigator.modelContext absent and no agentic form/tool annotations, despite search being a clear, bounded capability suitable for structured invocation.",
      "artifacts": [
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Consider exposing the search form through declarative WebMCP/agentic-form metadata with explicit descriptions, input constraints, and safe user confirmation semantics.",
      "effort": "medium"
    },
    {
      "id": "WU-GOOGLE-018",
      "severity": "high",
      "confidence": "high",
      "principleId": "be-discoverable",
      "principleCheckId": "crawlable-and-mobile-friendly",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "css-layout",
      "pathId": "home",
      "url": "https://www.google.com/",
      "summary": "The homepage omits viewport metadata and is shrink-to-fit rather than mobile-friendly.",
      "evidence": "At 360x800, layout metrics report hasViewportMeta=false, a 980 CSS-pixel layout viewport, and visual scale 0.367; the mobile screenshot shows very small desktop UI.",
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Add width=device-width, initial-scale=1 viewport metadata and use fluid layout rules so controls and text render at usable mobile sizes.",
      "effort": "small"
    }
  ],
  "taskList": [
    {
      "id": "TASK-001",
      "title": "Restore visible keyboard focus and accessible narrow-viewport reflow",
      "priority": 1,
      "findingIds": [
        "WU-GOOGLE-004",
        "WU-GOOGLE-005",
        "WU-GOOGLE-006",
        "WU-GOOGLE-009"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "TASK-002",
      "title": "Deploy missing transport and browser defensive headers",
      "priority": 2,
      "findingIds": [
        "WU-GOOGLE-013",
        "WU-GOOGLE-015"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "TASK-018",
      "title": "Add viewport metadata and true mobile reflow",
      "priority": 3,
      "findingIds": [
        "WU-GOOGLE-004",
        "WU-GOOGLE-009",
        "WU-GOOGLE-018"
      ],
      "guidanceId": "fluid-scaling",
      "status": "open"
    },
    {
      "id": "TASK-003",
      "title": "Reduce the consent interruption and use native dialog semantics",
      "priority": 4,
      "findingIds": [
        "WU-GOOGLE-002",
        "WU-GOOGLE-003"
      ],
      "guidanceId": "declarative-dialog-popover-control",
      "status": "open"
    },
    {
      "id": "TASK-004",
      "title": "Cut unused initial JavaScript/CSS and defer background requests",
      "priority": 5,
      "findingIds": [
        "WU-GOOGLE-007",
        "WU-GOOGLE-014",
        "WU-GOOGLE-016"
      ],
      "guidanceId": "identify-heavy-scripts",
      "status": "open"
    },
    {
      "id": "TASK-005",
      "title": "Honor the requested light color scheme",
      "priority": 6,
      "findingIds": [
        "WU-GOOGLE-001"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "TASK-006",
      "title": "Add missing discoverability and share metadata",
      "priority": 7,
      "findingIds": [
        "WU-GOOGLE-010",
        "WU-GOOGLE-011",
        "WU-GOOGLE-012"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "TASK-007",
      "title": "Add non-color link affordances and consider structured agentic search",
      "priority": 8,
      "findingIds": [
        "WU-GOOGLE-008",
        "WU-GOOGLE-017"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    }
  ],
  "budget": {
    "wallClockSeconds": 900,
    "pathCount": 3,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-16T20-04-16-813Z"
}
