{
  "url": "https://search.yahoo.com",
  "auditedAt": "2026-07-22T09:17:20.366Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Atomic coverage complete. The external web and image result backends returned failure/empty states during the run; those observed states are reported as findings rather than blockers because the templates remained inspectable.",
  "page": {
    "appType": "mpa",
    "framework": "server-rendered Yahoo Search templates with client-side enhancements",
    "notes": "Representative coverage: landing, web-result error state, image-result empty/error state, and linked sign-in entry. Video/news modes were excluded because they share the inspected result shell and live data was unavailable; authenticated account completion and destructive/report flows were not exercised."
  },
  "evidenceUsed": [
    "screenshot",
    "transition-video",
    "layout-metrics",
    "dom",
    "evaluate-probe",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "lighthouse",
    "heap-summary",
    "raw-http"
  ],
  "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",
    "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/home-desktop.png",
      "caption": "Yahoo Search landing page at desktop viewport",
      "condition": "desktop",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "Landing page shrunk to a desktop-width canvas on a 360px device",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F005",
        "F013"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "Landing page remains light under a dark color-scheme preference",
      "condition": "prefers-color-scheme: dark",
      "findingIds": [
        "F001"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-forced-colors.png",
      "caption": "Landing page remains operable under forced colors",
      "condition": "forced-colors: active; prefers-contrast: more",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/results-desktop.png",
      "caption": "Web search returns a temporary-problems recovery page",
      "condition": "desktop",
      "findingIds": [
        "F007"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/results-mobile.png",
      "caption": "Web result error page is horizontally clipped on mobile",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F005",
        "F006",
        "F013"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/images-desktop.png",
      "caption": "Image search returns a no-results recovery page",
      "condition": "desktop",
      "findingIds": [
        "F007"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/images-mobile.png",
      "caption": "Image result page is horizontally clipped on mobile",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F005",
        "F006",
        "F013"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/signin-desktop.png",
      "caption": "Linked Yahoo sign-in surface offers username/password and Google sign-in, with no passkey option shown",
      "condition": "desktop",
      "findingIds": [
        "F018",
        "F021"
      ]
    },
    {
      "type": "video",
      "path": "evidence/search-flow.mp4",
      "caption": "Recorded primary flow from query entry to the temporary-problems result",
      "condition": "search submission",
      "findingIds": [
        "F002",
        "F007"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "Rendered landing DOM and CSS",
      "condition": "desktop",
      "findingIds": [
        "F003",
        "F020"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/results-dom.json",
      "caption": "Rendered web-results DOM and CSS",
      "condition": "desktop",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/images-dom.json",
      "caption": "Rendered image-results DOM and CSS",
      "condition": "desktop",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-probe.json",
      "caption": "Metadata, semantics, forms, focus and modern CSS feature probe for landing",
      "condition": "desktop",
      "findingIds": [
        "F001",
        "F002",
        "F004",
        "F012",
        "F020"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-raw-headers.txt",
      "caption": "Direct HTTP request returned a transient 500 while browser and discoverability fetches succeeded",
      "condition": "raw HTTP",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/results-probe.json",
      "caption": "Metadata, semantics, forms, focus and modern CSS feature probe for web results",
      "condition": "desktop",
      "findingIds": [
        "F006",
        "F011",
        "F015"
      ]
    },
    {
      "type": "other",
      "path": "evidence/images-probe.json",
      "caption": "Metadata, semantics, forms, focus and modern CSS feature probe for image results",
      "condition": "desktop",
      "findingIds": [
        "F006",
        "F015"
      ]
    },
    {
      "type": "other",
      "path": "evidence/overlay-probe.json",
      "caption": "Apps overlay semantics and positioning probe",
      "condition": "desktop",
      "findingIds": [
        "F003",
        "F004"
      ]
    },
    {
      "type": "other",
      "path": "evidence/signin-probe.json",
      "caption": "Sign-in form autocomplete and passkey/WebAuthn probe",
      "condition": "desktop",
      "findingIds": [
        "F018",
        "F021"
      ]
    },
    {
      "type": "other",
      "path": "evidence/signin-link.json",
      "caption": "Landing-page sign-in destination discovery",
      "condition": "desktop",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-reduced-motion-probe.json",
      "caption": "Reduced-motion emulation and active-animation probe",
      "condition": "prefers-reduced-motion: reduce",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/home-mobile-layout.json",
      "caption": "Landing layout metrics at 360px; no viewport meta",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F005"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/results-mobile-layout.json",
      "caption": "Web results layout metrics showing 920px horizontal overflow",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F005"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/images-mobile-layout.json",
      "caption": "Image results layout metrics showing 441px horizontal overflow",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F005"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "DevTools load trace for the landing page",
      "condition": "desktop",
      "findingIds": []
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "Trace summary: LCP 1.28s, no long tasks, TBT 0ms in unthrottled capture",
      "condition": "desktop",
      "findingIds": [
        "F008"
      ]
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "Landing page network capture",
      "condition": "desktop",
      "findingIds": [
        "F009"
      ]
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "HAR summary: 27 requests, 1.36MB transferred, 1.32MB third-party",
      "condition": "desktop",
      "findingIds": [
        "F009",
        "F017",
        "F022"
      ]
    },
    {
      "type": "discoverability",
      "path": "evidence/home-discoverability.json",
      "caption": "Raw HTML versus rendered DOM discoverability comparison",
      "condition": "JavaScript and no-JavaScript",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-rendered.png",
      "caption": "Rendered browser view for discoverability comparison",
      "condition": "JavaScript enabled",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-crawler.png",
      "caption": "Crawler view remains content-complete without JavaScript",
      "condition": "JavaScript disabled",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-headers.json",
      "caption": "Security response-header inspection",
      "condition": "desktop",
      "findingIds": [
        "F016",
        "F019"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-cookies.json",
      "caption": "Cookie security inspection",
      "condition": "desktop",
      "findingIds": [
        "F016"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-trackers.json",
      "caption": "Third-party and tracker origin inspection",
      "condition": "desktop",
      "findingIds": [
        "F017"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-secrets.json",
      "caption": "Client-side secret scan; one Didomi public integration identifier, not treated as a secret",
      "condition": "desktop",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-images.json",
      "caption": "Image dimensions, resolution and alternative text inspection",
      "condition": "desktop",
      "findingIds": []
    },
    {
      "type": "lighthouse",
      "path": "evidence/home-lighthouse.json",
      "caption": "Lighthouse report for landing page",
      "condition": "mobile throttling",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-lighthouse-summary.json",
      "caption": "Compact Lighthouse category and audit summary",
      "condition": "mobile throttling",
      "findingIds": [
        "F008",
        "F010",
        "F011",
        "F012",
        "F014",
        "F015",
        "F022"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/results-lighthouse.json",
      "caption": "Attempted result-page Lighthouse run; Chrome encountered an interstitial and produced a runtime error record",
      "condition": "mobile throttling",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/home-heap-baseline.json",
      "caption": "Baseline V8 heap summary",
      "condition": "before repeated query interaction",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/home-heap-post.json",
      "caption": "V8 heap summary after 10 query-edit interactions",
      "condition": "after repeated interaction",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-memory-probe.json",
      "caption": "DOM and JavaScript heap footprint probe",
      "condition": "desktop",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/robots.txt",
      "caption": "Published robots policy, including explicit blocks for AI crawlers",
      "condition": "crawler policy",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "coverage-manifest.json",
      "caption": "Atomic coverage manifest for all expected principle/check pairs",
      "condition": "catalog 0.0.172",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence-plan.json",
      "caption": "Per-check evidence plan materialised before judgement",
      "condition": "all representative paths",
      "findingIds": []
    }
  ],
  "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": "Dark media emulation, screenshot comparison, and CSS feature probe",
      "evidence": "Dark emulation leaves all principal surfaces white and no preference-aware theme CSS is present",
      "pathIds": [
        "landing"
      ],
      "findingIds": [
        "F001"
      ],
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "pass",
      "confidence": "high",
      "method": "Reduced-motion emulation plus document.getAnimations()",
      "evidence": "prefers-reduced-motion: reduce matched and zero active animations were present on the inspected landing state",
      "pathIds": [
        "landing"
      ],
      "artifacts": [
        "evidence/home-reduced-motion-probe.json"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Forced-colors/high-contrast screenshot plus Lighthouse contrast audit",
      "evidence": "Controls, text, focus, and search affordances remained visible under forced colors; Lighthouse contrast audit passed",
      "pathIds": [
        "landing"
      ],
      "artifacts": [
        "evidence/home-forced-colors.png",
        "evidence/home-lighthouse-summary.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "Recorded search navigation and CSS inspection",
      "evidence": "Search submission performs an abrupt document swap and no view-transition CSS was found",
      "pathIds": [
        "landing",
        "web-results"
      ],
      "findingIds": [
        "F002"
      ],
      "artifacts": [
        "evidence/search-flow.mp4",
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement",
      "evidence": "No parallax, scrollytelling, carousel, or scroll-linked motion exists on the representative surfaces, so there is no scroll animation to implement or evaluate.",
      "reason": "No parallax, scrollytelling, carousel, or scroll-linked motion exists on the representative surfaces, so there is no scroll animation to implement or evaluate."
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement",
      "evidence": "The inspected search, retry, tab, and sign-in surfaces expose no swipe, pull, snap, or gesture-driven interaction requiring physical gesture treatment.",
      "reason": "The inspected search, retry, tab, and sign-in surfaces expose no swipe, pull, snap, or gesture-driven interaction requiring physical gesture treatment."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement",
      "evidence": "The representative search utility states do not use persistent scroll chrome or a long-form reading journey where scroll-state feedback would add orientation.",
      "reason": "The representative search utility states do not use persistent scroll chrome or a long-form reading journey where scroll-state feedback would add orientation."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "issues",
      "confidence": "high",
      "method": "Overlay semantics/position probe and CSS inspection",
      "evidence": "The apps overlay is a plain div with no popover or CSS anchor positioning",
      "pathIds": [
        "landing"
      ],
      "findingIds": [
        "F003"
      ],
      "artifacts": [
        "evidence/overlay-probe.json"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "high",
      "method": "Visual inspection of result tabs and recovery states",
      "evidence": "The active Images tab is clearly highlighted and both failure states place retry/suggestion actions next to the status message",
      "pathIds": [
        "web-results",
        "image-results"
      ],
      "artifacts": [
        "evidence/results-desktop.png",
        "evidence/images-desktop.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "pass",
      "confidence": "high",
      "method": "First-load screenshots across representative templates",
      "evidence": "No load-time popup, interstitial, or content-obscuring banner appeared on landing, results, image results, or sign-in",
      "pathIds": [
        "landing",
        "web-results",
        "image-results",
        "sign-in"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/results-desktop.png",
        "evidence/images-desktop.png",
        "evidence/signin-desktop.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "DOM and overlay primitive inspection",
      "evidence": "The transient apps overlay uses a role-less div and no popover/dialog/details primitives were present",
      "pathIds": [
        "landing"
      ],
      "findingIds": [
        "F004"
      ],
      "artifacts": [
        "evidence/overlay-probe.json",
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "pass",
      "confidence": "high",
      "method": "Desktop screenshots and viewport content judgement",
      "evidence": "The landing prioritises the search field and results states contain little non-content chrome",
      "pathIds": [
        "landing",
        "web-results",
        "image-results"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/results-desktop.png",
        "evidence/images-desktop.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "issues",
      "confidence": "high",
      "method": "360x800 screenshots and layout metrics on all three templates",
      "evidence": "Landing lacks viewport meta; web results overflow 920px and image results 441px",
      "pathIds": [
        "landing",
        "web-results",
        "image-results"
      ],
      "findingIds": [
        "F005"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/results-mobile-layout.json",
        "evidence/images-mobile-layout.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "high",
      "method": "CSS feature probes and narrow viewport comparison",
      "evidence": "No container queries were found and shared result/navigation shells stay desktop-wide on mobile",
      "pathIds": [
        "web-results",
        "image-results"
      ],
      "findingIds": [
        "F006"
      ],
      "artifacts": [
        "evidence/results-probe.json",
        "evidence/images-probe.json",
        "evidence/images-mobile.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse target-size audit and focused-element computed outline probe",
      "evidence": "Touch target audit passed and keyboard focus on the first control has a visible 1px auto outline",
      "pathIds": [
        "landing"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "First-viewport screenshots and form labels",
      "evidence": "Yahoo branding, “Search the web” input, and Search action make the primary purpose immediately clear",
      "pathIds": [
        "landing"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "issues",
      "confidence": "high",
      "method": "Recorded end-to-end query submission plus direct web/image result inspection",
      "evidence": "The submitted broad query did not return web results and the image archetype also returned no results",
      "pathIds": [
        "landing",
        "web-results",
        "image-results"
      ],
      "findingIds": [
        "F007"
      ],
      "artifacts": [
        "evidence/search-flow.mp4",
        "evidence/results-desktop.png",
        "evidence/images-desktop.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "pass",
      "confidence": "high",
      "method": "Observed web and image failure states",
      "evidence": "Both failures state what happened and offer retry/new-query guidance; image results add concrete search suggestions",
      "pathIds": [
        "web-results",
        "image-results"
      ],
      "artifacts": [
        "evidence/results-desktop.png",
        "evidence/images-desktop.png"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse mobile throttling corroborated with a raw DevTools trace",
      "evidence": "Lighthouse LCP is 9.8s although the unthrottled trace LCP is 1.28s; constrained mobile load misses the good range",
      "pathIds": [
        "landing"
      ],
      "findingIds": [
        "F008"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/home-trace-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "high",
      "method": "Layout-shift observers and Lighthouse CLS",
      "evidence": "Landing CLS was approximately 0.000002 and Lighthouse CLS was 0; result templates also reported CLS 0",
      "pathIds": [
        "landing",
        "web-results",
        "image-results"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/results-mobile-layout.json",
        "evidence/images-mobile-layout.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "high",
      "method": "Trace long-task/TBT summary and Lighthouse TBT",
      "evidence": "Raw trace recorded no long tasks and TBT 0ms; Lighthouse TBT was 59ms, within the good range",
      "pathIds": [
        "landing"
      ],
      "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": "HAR summary and largest-resource inspection",
      "evidence": "Initial delivery is 1.36MB, including four eager voice WAV files totalling about 505KB",
      "pathIds": [
        "landing"
      ],
      "findingIds": [
        "F009"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home.har"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse code-coverage diagnostics",
      "evidence": "Estimated savings are 409KiB unused JavaScript and 39KiB unused CSS",
      "pathIds": [
        "landing"
      ],
      "findingIds": [
        "F010"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse accessibility audits and rendered form probe",
      "evidence": "Two mobile icon links lack discernible names and the web-results query input has no label",
      "pathIds": [
        "landing",
        "web-results"
      ],
      "findingIds": [
        "F011"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/results-probe.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse contrast audit plus forced-colors screenshot",
      "evidence": "Lighthouse color contrast passed and essential UI remained visible in forced-colors mode",
      "pathIds": [
        "landing"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/home-forced-colors.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse landmarks/heading audit and DOM heading inventory",
      "evidence": "No main landmark exists and heading order starts at h3 then h4; focus itself remains visible",
      "pathIds": [
        "landing"
      ],
      "findingIds": [
        "F012"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "issues",
      "confidence": "high",
      "method": "Visual comparison at desktop and 360px",
      "evidence": "Text becomes tiny on the scaled landing and clipped on both result templates at mobile width",
      "pathIds": [
        "landing",
        "web-results",
        "image-results"
      ],
      "findingIds": [
        "F013"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/results-mobile.png",
        "evidence/images-mobile.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Viewport-meta, narrow reflow, target-size, and media audit",
      "evidence": "Touch targets pass and no captioned media is needed, but landing omits viewport meta and result templates fail reflow",
      "pathIds": [
        "landing",
        "web-results",
        "image-results"
      ],
      "findingIds": [
        "F005"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/results-mobile-layout.json",
        "evidence/images-mobile-layout.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse browser-error audit",
      "evidence": "A client request to acapi.yahoo.com/v1/sync returns 404 and is logged as a browser error",
      "pathIds": [
        "landing"
      ],
      "findingIds": [
        "F014"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "pass",
      "confidence": "high",
      "method": "DOM metadata, image primitive, and Lighthouse asset audits",
      "evidence": "HTML doctype and UTF-8 are valid; all six landing images have alt and dimensions and aspect/resolution audits passed",
      "pathIds": [
        "landing"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/home-images.json",
        "evidence/home-lighthouse-summary.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse BFCache/paste/permission audits plus script probe",
      "evidence": "BFCache passes, paste is allowed, no geolocation/notification prompt occurs on load, and no deprecated API failure was reported",
      "pathIds": [
        "landing"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "issues",
      "confidence": "high",
      "method": "Per-template metadata probes and Lighthouse SEO audit",
      "evidence": "Result templates have descriptive titles but no meta description; Lighthouse also saw no description in its mobile landing variant",
      "pathIds": [
        "landing",
        "web-results",
        "image-results"
      ],
      "findingIds": [
        "F015"
      ],
      "artifacts": [
        "evidence/results-probe.json",
        "evidence/images-probe.json",
        "evidence/home-lighthouse-summary.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse crawlability/robots checks plus mobile layout metrics",
      "evidence": "Links and robots syntax pass, but all inspected templates fail mobile friendliness through scaling or horizontal overflow",
      "pathIds": [
        "landing",
        "web-results",
        "image-results"
      ],
      "findingIds": [
        "F005"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/home-mobile-layout.json",
        "evidence/results-mobile-layout.json",
        "evidence/images-mobile-layout.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "pass",
      "confidence": "high",
      "method": "HTTP, robots, raw HTML, and metadata inspection",
      "evidence": "Landing returns 200 to the discoverability fetch, is indexable, and robots.txt deliberately excludes query-result routes; no accidental noindex was observed",
      "pathIds": [
        "landing",
        "web-results"
      ],
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/robots.txt",
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement",
      "evidence": "The audited surfaces are a generic search utility and transient query/error states, not an article, product, organization, event, place, or other rich entity requiring entity structured data.",
      "reason": "The audited surfaces are a generic search utility and transient query/error states, not an article, product, organization, event, place, or other rich entity requiring entity structured data."
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Security header and cookie primitives",
      "evidence": "HTTPS/HSTS are present, but CSP permits unsafe-inline/unsafe-eval and two cookies lack Secure",
      "pathIds": [
        "landing"
      ],
      "findingIds": [
        "F016"
      ],
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "HAR third-party attribution and tracker enumeration",
      "evidence": "22/27 requests and 1.316MB/1.363MB transferred bytes are third-party; Google Tag Manager is active",
      "pathIds": [
        "landing"
      ],
      "findingIds": [
        "F017"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trackers.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "issues",
      "confidence": "high",
      "method": "Permission-on-load audit and linked sign-in inspection",
      "evidence": "No permission prompt fires on load, but the relevant sign-in surface exposes no passkey/WebAuthn option",
      "pathIds": [
        "landing",
        "sign-in"
      ],
      "findingIds": [
        "F018"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/signin-probe.json",
        "evidence/signin-desktop.png"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Response-header policy inspection",
      "evidence": "Permissions-Policy is missing; CSP contains unsafe directives and broad object/connect/media sources",
      "pathIds": [
        "landing"
      ],
      "findingIds": [
        "F019"
      ],
      "artifacts": [
        "evidence/home-headers.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "high",
      "method": "Raw HTML/rendered DOM diff and no-JS crawler screenshot",
      "evidence": "Discoverability reports 100% rendered-word coverage from raw HTML, not a JS shell; crawler view retains the core search content",
      "pathIds": [
        "landing"
      ],
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/home-discoverability-crawler.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "high",
      "method": "Representative template DOM and visual inspection",
      "evidence": "Simple search and recovery controls render without clipped overlays at desktop; no fragile async shell or initial visibility flicker was observed",
      "pathIds": [
        "landing",
        "web-results",
        "image-results"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/results-desktop.png",
        "evidence/images-desktop.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement",
      "evidence": "Search results inherently require a live index/network. No installable intent is declared, so an offline/PWA experience is not expected for this public search utility.",
      "reason": "Search results inherently require a live index/network. No installable intent is declared, so an offline/PWA experience is not expected for this public search utility."
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "confidence": "high",
      "method": "Observed backend failure states on web and image routes",
      "evidence": "Backend/result failures produce explicit messages, retry/new-query actions, and suggestions rather than blank shells or infinite spinners",
      "pathIds": [
        "web-results",
        "image-results"
      ],
      "artifacts": [
        "evidence/results-desktop.png",
        "evidence/images-desktop.png"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "issues",
      "confidence": "high",
      "method": "DOM lang/dir and CSS logical-property probe",
      "evidence": "lang=en-US is correct, but no logical properties were detected and physical left/right positioning dominates",
      "pathIds": [
        "landing"
      ],
      "findingIds": [
        "F020"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/home-dom.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement",
      "evidence": "Representative surfaces display no dates, numbers, currencies, durations, or calendar values whose locale formatting can be judged.",
      "reason": "Representative surfaces display no dates, numbers, currencies, durations, or calendar values whose locale formatting can be judged."
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement",
      "evidence": "Representative search, error, and sign-in states contain no event times, recurring intervals, or stored temporal concepts.",
      "reason": "Representative search, error, and sign-in states contain no event times, recurring intervals, or stored temporal concepts."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "high",
      "method": "Landing, results, and sign-in visual walkthrough",
      "evidence": "No confirmshaming, disguised ads, consent wall, hidden price, or forced continuity was observed; “Stay signed in” is visible and reversible",
      "pathIds": [
        "landing",
        "web-results",
        "sign-in"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/results-desktop.png",
        "evidence/signin-desktop.png"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement",
      "evidence": "The primary search accepts free text and has no invalid-input state; the linked username step was not submitted with personal data, so no representative validation-error state was available to exercise.",
      "reason": "The primary search accepts free text and has no invalid-input state; the linked username step was not submitted with personal data, so no representative validation-error state was available to exercise."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "issues",
      "confidence": "high",
      "method": "Linked sign-in form attribute probe",
      "evidence": "The username/email/phone field has a visible label but an empty autocomplete attribute",
      "pathIds": [
        "sign-in"
      ],
      "findingIds": [
        "F021"
      ],
      "artifacts": [
        "evidence/signin-probe.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "issues",
      "confidence": "high",
      "method": "Linked account entry walkthrough",
      "evidence": "Sign-in is clear and reversible but does not offer a phishing-resistant passkey route on the inspected entry screen",
      "pathIds": [
        "sign-in"
      ],
      "findingIds": [
        "F018"
      ],
      "artifacts": [
        "evidence/signin-desktop.png",
        "evidence/signin-probe.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "pass",
      "confidence": "high",
      "method": "Image primitive and Lighthouse image audits",
      "evidence": "All six landing images have dimensions and alt; none are oversized, and Lighthouse aspect/resolution audits pass",
      "pathIds": [
        "landing"
      ],
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home-lighthouse-summary.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "HAR weight and Lighthouse unused-code diagnostics",
      "evidence": "Voice media is fetched before intent and hundreds of KiB of shipped JS are unused at load",
      "pathIds": [
        "landing"
      ],
      "findingIds": [
        "F022"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-lighthouse-summary.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "HAR resource-type and party attribution",
      "evidence": "Third parties account for 96.6% of transferred bytes and nonessential media/scripts dominate a sparse search landing page",
      "pathIds": [
        "landing"
      ],
      "findingIds": [
        "F017",
        "F022"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trackers.json"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement",
      "evidence": "The site exposes no declared agent-facing task surface and robots.txt explicitly disallows major AI agents; this is an intentional crawler posture, not a missing WebMCP obligation.",
      "reason": "The site exposes no declared agent-facing task surface and robots.txt explicitly disallows major AI agents; this is an intentional crawler posture, not a missing WebMCP obligation."
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement",
      "evidence": "No declared summarisation or local-inference feature exists on the inspected search utility, so built-in on-device AI is an opportunity rather than a requirement.",
      "reason": "No declared summarisation or local-inference feature exists on the inspected search utility, so built-in on-device AI is an opportunity rather than a requirement."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "high",
      "method": "Baseline and post heap summaries around 10 query edit/focus cycles",
      "evidence": "After 10 representative query interactions, nodes rose 0.38% (234,395 to 235,293) and self size 0.59% (14,649,660 to 14,735,491 bytes), with no unbounded pattern in this bounded run",
      "pathIds": [
        "landing"
      ],
      "artifacts": [
        "evidence/home-heap-baseline.json",
        "evidence/home-heap-post.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "high",
      "method": "Heap totals and Performance memory/DOM probe",
      "evidence": "The landing uses about 14.6MB V8 snapshot self size, 12.5MB live JS heap in the probe, and 302 live DOM elements, proportionate to the page",
      "pathIds": [
        "landing"
      ],
      "artifacts": [
        "evidence/home-heap-baseline.json",
        "evidence/home-memory-probe.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "Before/after constructor and node-population comparison",
      "evidence": "No Detached* constructor appears among top retained constructors and repeated interaction produced only modest bounded node growth; confidence is medium because listener enumeration was unavailable",
      "pathIds": [
        "landing"
      ],
      "artifacts": [
        "evidence/home-heap-baseline.json",
        "evidence/home-heap-post.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F001"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F002"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F003"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F004"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F005",
        "F006"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F007"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F008",
        "F009",
        "F010"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F011",
        "F012",
        "F013",
        "F005"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F014"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F015",
        "F005"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F016",
        "F017",
        "F018",
        "F019"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F020"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F021",
        "F018"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F022",
        "F017"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "All checks were judged not applicable to the declared/observed site purpose; see check-specific rationales."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "landing",
      "description": "Public search landing: primary query form, trends, preferences, mobile/reduced-motion/forced-colors, load performance, network, security, no-JS, and memory.",
      "url": "https://search.yahoo.com",
      "conditions": [
        "desktop",
        "viewport: 360x800",
        "prefers-color-scheme: dark",
        "prefers-reduced-motion: reduce",
        "forced-colors: active",
        "JavaScript disabled",
        "mobile throttling"
      ],
      "result": "issues"
    },
    {
      "id": "web-results",
      "description": "Primary web-search journey and failure recovery; represents the general web results template.",
      "url": "https://search.yahoo.com/search?p=web+platform",
      "conditions": [
        "desktop",
        "viewport: 360x800",
        "query submission"
      ],
      "result": "issues"
    },
    {
      "id": "image-results",
      "description": "Image search mode and no-results recovery; represents the media-result navigation shell.",
      "url": "https://images.search.yahoo.com/search/images?p=web+platform",
      "conditions": [
        "desktop",
        "viewport: 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "sign-in",
      "description": "Linked sign-in entry inspected for account-flow clarity, autofill, and modern authentication support. Credential submission was intentionally not performed.",
      "url": "https://login.yahoo.com/",
      "conditions": [
        "desktop",
        "unauthenticated"
      ],
      "result": "issues"
    }
  ],
  "findings": [
    {
      "id": "F001",
      "severity": "medium",
      "confidence": "high",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "summary": "The search experience ignores the user’s dark color-scheme preference.",
      "evidence": "The dark-mode screenshot is pixel-identical in surface treatment to the light screenshot, and the CSS probe found no color-scheme, prefers-color-scheme, or light-dark() support.",
      "suggestedFix": "Declare color-scheme: light dark and define preference-driven surface, text, control, and icon colors with prefers-color-scheme or light-dark().",
      "guidanceId": "dark-mode",
      "guidanceCategory": "modern-web-guidance",
      "effort": "medium",
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/home-probe.json"
      ],
      "pathId": "landing",
      "url": "https://search.yahoo.com"
    },
    {
      "id": "F002",
      "severity": "low",
      "confidence": "high",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "summary": "Search navigation swaps abruptly instead of preserving spatial continuity.",
      "evidence": "The recorded query submission changes from landing to results without a View Transition; the CSS probe found no view-transition usage.",
      "suggestedFix": "Use same-document or cross-document View Transitions for search submission and result-mode changes, with a reduced-motion fallback.",
      "guidanceId": "same-document-transitions",
      "guidanceCategory": "modern-web-guidance",
      "effort": "medium",
      "artifacts": [
        "evidence/search-flow.mp4",
        "evidence/home-probe.json"
      ],
      "pathId": "landing",
      "url": "https://search.yahoo.com"
    },
    {
      "id": "F003",
      "severity": "low",
      "confidence": "high",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "anchored-positioning",
      "summary": "The apps menu is not implemented as an anchored, self-repositioning overlay.",
      "evidence": "The overlay probe identifies an anchor-like <a role=button> and a plain #yucs-apps-overlay <div> with no popover or anchor positioning; the CSS probe found no anchor-name/position-anchor rules.",
      "suggestedFix": "Use popover plus CSS anchor positioning and position-try fallbacks so the menu stays attached and avoids viewport edges.",
      "guidanceId": "position-aware-tooltips",
      "guidanceCategory": "modern-web-guidance",
      "effort": "small",
      "artifacts": [
        "evidence/overlay-probe.json",
        "evidence/home-dom.json"
      ],
      "pathId": "landing",
      "url": "https://search.yahoo.com"
    },
    {
      "id": "F004",
      "severity": "low",
      "confidence": "high",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "summary": "Transient menu UI uses an ad-hoc div instead of the platform popover primitive.",
      "evidence": "Across the inspected DOM there are zero popover, dialog, or details elements; #yucs-apps-overlay is a role-less div.",
      "suggestedFix": "Implement the transient apps menu with popover and declarative light-dismiss, retaining accessible expanded state on its trigger.",
      "guidanceId": "declarative-dialog-popover-control",
      "guidanceCategory": "modern-web-guidance",
      "effort": "small",
      "artifacts": [
        "evidence/overlay-probe.json",
        "evidence/home-probe.json"
      ],
      "pathId": "landing",
      "url": "https://search.yahoo.com"
    },
    {
      "id": "F005",
      "severity": "high",
      "confidence": "high",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "responsive-no-horizontal-scroll",
      "summary": "The primary search and result templates do not reflow for a 360px viewport.",
      "evidence": "The landing has no viewport meta and renders a 980px CSS canvas scaled down; web results overflow by 920px and image results by 441px. Screenshots show tiny landing content and clipped result copy/navigation.",
      "suggestedFix": "Add a correct viewport meta to every template, replace fixed-width shells with intrinsic fluid layout, and test all search modes at narrow widths without horizontal overflow.",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "modern-web-guidance",
      "effort": "large",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/results-mobile.png",
        "evidence/images-mobile.png",
        "evidence/home-mobile-layout.json",
        "evidence/results-mobile-layout.json",
        "evidence/images-mobile-layout.json"
      ],
      "pathId": "landing",
      "url": "https://search.yahoo.com"
    },
    {
      "id": "F006",
      "severity": "medium",
      "confidence": "high",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "summary": "Shared result components do not adapt to their available container.",
      "evidence": "The CSS probes found no container-query support, while both result archetypes retain wide desktop rows and overflow their 360px visual viewport.",
      "suggestedFix": "Give reusable result/nav components containment and use size-aware container queries for compact layouts, with an intrinsic fallback.",
      "guidanceId": "size-aware-styling",
      "guidanceCategory": "modern-web-guidance",
      "effort": "medium",
      "artifacts": [
        "evidence/results-mobile.png",
        "evidence/images-mobile.png",
        "evidence/results-probe.json",
        "evidence/images-probe.json"
      ],
      "pathId": "landing",
      "url": "https://search.yahoo.com"
    },
    {
      "id": "F007",
      "severity": "critical",
      "confidence": "high",
      "principleId": "support-core-task-success",
      "principleCheckId": "primary-flow-completion",
      "summary": "The core search task could not return web or image results.",
      "evidence": "A recorded web query ends at “We had temporary problems searching for web pages”; the image route says no results for a broad query. Both primary result archetypes failed during this run.",
      "suggestedFix": "Restore and monitor the search backend path, preserve the query across retry, and provide a reliable fallback/result source before considering secondary UX work.",
      "guidanceId": "persistent-toast-notifications",
      "guidanceCategory": "modern-web-guidance",
      "effort": "large",
      "artifacts": [
        "evidence/search-flow.mp4",
        "evidence/results-desktop.png",
        "evidence/images-desktop.png"
      ],
      "pathId": "web-results",
      "url": "https://search.yahoo.com/search?p=web+platform"
    },
    {
      "id": "F008",
      "severity": "high",
      "confidence": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "summary": "Throttled mobile loading misses the LCP good range.",
      "evidence": "Lighthouse measured LCP at 9.8s, Time to Interactive at 9.8s, and performance 0.70. The unthrottled trace was much faster (LCP 1.28s), so the risk is strongest under constrained mobile conditions.",
      "suggestedFix": "Profile the Lighthouse LCP dependency chain, prioritize the LCP element, and defer consent/analytics and nonessential media until after primary content.",
      "guidanceId": "performance",
      "guidanceCategory": "modern-web-guidance",
      "effort": "medium",
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "pathId": "landing",
      "url": "https://search.yahoo.com"
    },
    {
      "id": "F009",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "summary": "The sparse landing page transfers 1.36MB, including 505KB of voice audio before the feature is used.",
      "evidence": "The HAR summary records 27 requests and 1,363,282 transferred bytes: 505,543 media bytes and 693,869 script bytes. Four voice WAV files are among the largest requests.",
      "suggestedFix": "Fetch voice assets only after voice-search intent, compress/modernize audio where possible, and shorten the critical dependency chain.",
      "guidanceId": "conditional-async-dependencies",
      "guidanceCategory": "modern-web-guidance",
      "effort": "medium",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home.har"
      ],
      "pathId": "landing",
      "url": "https://search.yahoo.com"
    },
    {
      "id": "F010",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "summary": "Large portions of consent, analytics, and mobile CSS are unused at load.",
      "evidence": "Lighthouse estimates 409KiB unused JavaScript and 39KiB unused CSS; major waste comes from Didomi and Google Tag Manager bundles.",
      "suggestedFix": "Split and conditionally load consent UI and analytics, remove duplicate/unused styles, and load only the code needed for the initial search surface.",
      "guidanceId": "identify-heavy-scripts",
      "guidanceCategory": "modern-web-guidance",
      "effort": "medium",
      "artifacts": [
        "evidence/home-lighthouse-summary.json"
      ],
      "pathId": "landing",
      "url": "https://search.yahoo.com"
    },
    {
      "id": "F011",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "summary": "Some primary controls lack accessible names.",
      "evidence": "Lighthouse accessibility is 0.82 and identifies the apps and mail links as unnamed in the mobile variant. The web-results search text field also has no label in the DOM probe.",
      "suggestedFix": "Give every icon link and search input a stable accessible name; avoid empty aria-label values across responsive variants.",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "effort": "small",
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/results-probe.json"
      ],
      "pathId": "landing",
      "url": "https://search.yahoo.com"
    },
    {
      "id": "F012",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "summary": "The landing page lacks a main landmark and starts its visible heading hierarchy at h3.",
      "evidence": "Lighthouse reports no main landmark and a non-sequential heading order; the DOM probe lists h3 followed by h4 items and no h1/h2.",
      "suggestedFix": "Wrap primary content in <main> and use a logical h1/h2 hierarchy while preserving the visible design.",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "effort": "small",
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/home-probe.json"
      ],
      "pathId": "landing",
      "url": "https://search.yahoo.com"
    },
    {
      "id": "F013",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "legible-text",
      "summary": "Mobile scaling and clipping make text difficult to read.",
      "evidence": "At 360px, the landing is scaled to fit a 980px layout and result copy extends outside the viewport; the screenshots show tiny text or truncated recovery instructions.",
      "suggestedFix": "Use responsive typography and intrinsic layout so text remains comfortably sized and reflows without clipping at mobile and zoomed conditions.",
      "guidanceId": "improve-text-layout-and-legibility",
      "guidanceCategory": "modern-web-guidance",
      "effort": "medium",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/results-mobile.png",
        "evidence/images-mobile.png"
      ],
      "pathId": "landing",
      "url": "https://search.yahoo.com"
    },
    {
      "id": "F014",
      "severity": "low",
      "confidence": "high",
      "principleId": "follow-best-practices",
      "principleCheckId": "no-console-errors",
      "summary": "The page logs a failed network resource to the browser console.",
      "evidence": "Lighthouse records a 404 from https://acapi.yahoo.com/v1/sync?... during load.",
      "suggestedFix": "Remove the stale request or handle the integration without emitting a failed network error; add monitoring for repeated client-side resource failures.",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "effort": "small",
      "artifacts": [
        "evidence/home-lighthouse-summary.json"
      ],
      "pathId": "landing",
      "url": "https://search.yahoo.com"
    },
    {
      "id": "F015",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-discoverable",
      "principleCheckId": "title-and-description",
      "summary": "Result templates omit a meta description.",
      "evidence": "Both web and image result probes report description: null. Lighthouse’s mobile landing variant also reports no meta description, despite the desktop variant including one.",
      "suggestedFix": "Emit a stable, query-aware meta description server-side on every public template and keep metadata consistent across responsive/UA variants.",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "effort": "small",
      "artifacts": [
        "evidence/results-probe.json",
        "evidence/images-probe.json",
        "evidence/home-lighthouse-summary.json"
      ],
      "pathId": "web-results",
      "url": "https://search.yahoo.com/search?p=web+platform"
    },
    {
      "id": "F016",
      "severity": "high",
      "confidence": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "summary": "Cookie and CSP settings weaken an otherwise HTTPS-protected page.",
      "evidence": "HTTPS, HSTS, nosniff and frame protection are present, but CSP allows unsafe-inline and unsafe-eval. Cookies sBS and _dmit lack Secure; several cookies use SameSite=None.",
      "suggestedFix": "Remove unsafe-eval/unsafe-inline through nonces/hashes and set Secure plus the narrowest viable SameSite policy on every cookie.",
      "guidanceId": "security",
      "guidanceCategory": "modern-web-guidance",
      "effort": "medium",
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json"
      ],
      "pathId": "landing",
      "url": "https://search.yahoo.com"
    },
    {
      "id": "F017",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "summary": "Third-party delivery and tracking dominate the landing load.",
      "evidence": "The HAR attributes 22 of 27 requests and 1,316,474 of 1,363,282 transferred bytes to third-party origins; the tracker probe finds Google Tag Manager.",
      "suggestedFix": "Minimise telemetry, self-host or remove nonessential dependencies, batch necessary analytics, and load them only after an appropriate legal/user signal.",
      "guidanceId": "privacy",
      "guidanceCategory": "modern-web-guidance",
      "effort": "large",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trackers.json"
      ],
      "pathId": "landing",
      "url": "https://search.yahoo.com"
    },
    {
      "id": "F018",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "in-context-permissions-and-modern-auth",
      "summary": "The linked sign-in flow does not expose phishing-resistant passkey authentication.",
      "evidence": "The sign-in screenshot offers username and Google sign-in; the probe finds no passkey text or WebAuthn/navigator.credentials integration. Permission prompts are not requested on search load.",
      "suggestedFix": "Offer passkey/WebAuthn registration and authentication as a first-class sign-in option, while retaining recovery and federated fallbacks.",
      "guidanceId": "passkeys",
      "guidanceCategory": "modern-web-guidance",
      "effort": "large",
      "artifacts": [
        "evidence/signin-desktop.png",
        "evidence/signin-probe.json"
      ],
      "pathId": "sign-in",
      "url": "https://login.yahoo.com/"
    },
    {
      "id": "F019",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "summary": "Defensive browser policy coverage is incomplete.",
      "evidence": "The header probe finds no Permissions-Policy, a permissive no-referrer-when-downgrade policy, unsafe CSP script directives, object-src *, and connect-src *.",
      "suggestedFix": "Add a least-privilege Permissions-Policy and Referrer-Policy, narrow CSP sources, set object-src none, and constrain connect-src/media-src to required origins.",
      "guidanceId": "security",
      "guidanceCategory": "modern-web-guidance",
      "effort": "medium",
      "artifacts": [
        "evidence/home-headers.json"
      ],
      "pathId": "landing",
      "url": "https://search.yahoo.com"
    },
    {
      "id": "F020",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-internationalised",
      "principleCheckId": "lang-dir-and-logical-properties",
      "summary": "The CSS is built around physical left/right positioning rather than writing-mode-safe logical properties.",
      "evidence": "html lang=en-US is correct, but the probe finds no logical-property usage and 31 physical left/right declarations on the landing; no explicit dir is provided.",
      "suggestedFix": "Set direction deliberately where needed and replace physical margins, padding, inset, and alignment with inline/block logical properties.",
      "guidanceId": "translator",
      "guidanceCategory": "modern-web-guidance",
      "effort": "medium",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/home-dom.json"
      ],
      "pathId": "landing",
      "url": "https://search.yahoo.com"
    },
    {
      "id": "F021",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-trustworthy",
      "principleCheckId": "trustworthy-input-assistance",
      "summary": "The username field does not advertise the autocomplete token browsers need.",
      "evidence": "The linked sign-in probe reports name=username with an empty autocomplete value, despite a visible “Username, email or phone number” label.",
      "suggestedFix": "Set autocomplete=username (and use current-password or webauthn on the next step) so password managers and autofill can assist safely.",
      "guidanceId": "autofill-sign-in-form",
      "guidanceCategory": "modern-web-guidance",
      "effort": "trivial",
      "artifacts": [
        "evidence/signin-probe.json",
        "evidence/signin-desktop.png"
      ],
      "pathId": "sign-in",
      "url": "https://login.yahoo.com/"
    },
    {
      "id": "F022",
      "severity": "medium",
      "confidence": "high",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "summary": "Nonessential scripts and audio are fetched before user intent.",
      "evidence": "The initial 1.36MB load includes 505KB of voice WAV media and Lighthouse estimates 409KiB unused JavaScript on a page whose core UI is one search field.",
      "suggestedFix": "Defer voice media until activation, conditionally load consent/analytics code, and set a page-weight budget tied to the sparse search task.",
      "guidanceId": "deprioritize-background-fetches",
      "guidanceCategory": "modern-web-guidance",
      "effort": "medium",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-lighthouse-summary.json"
      ],
      "pathId": "landing",
      "url": "https://search.yahoo.com"
    }
  ],
  "taskList": [
    {
      "id": "T001",
      "title": "Restore reliable web and image search completion",
      "priority": 1,
      "findingIds": [
        "F007"
      ],
      "guidanceId": "persistent-toast-notifications",
      "status": "open"
    },
    {
      "id": "T002",
      "title": "Rebuild all templates for true mobile reflow",
      "priority": 2,
      "findingIds": [
        "F005",
        "F006",
        "F013"
      ],
      "guidanceId": "fluid-scaling",
      "status": "open"
    },
    {
      "id": "T003",
      "title": "Reduce LCP and defer nonessential delivery",
      "priority": 3,
      "findingIds": [
        "F008",
        "F009",
        "F010",
        "F022"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T004",
      "title": "Fix accessible names, landmarks, and heading structure",
      "priority": 4,
      "findingIds": [
        "F011",
        "F012"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T005",
      "title": "Harden CSP, cookies, and browser policies",
      "priority": 5,
      "findingIds": [
        "F016",
        "F019"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T006",
      "title": "Minimise third-party tracking and bytes",
      "priority": 6,
      "findingIds": [
        "F017"
      ],
      "guidanceId": "privacy",
      "status": "open"
    },
    {
      "id": "T007",
      "title": "Add preference-driven dark mode",
      "priority": 7,
      "findingIds": [
        "F001"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T008",
      "title": "Add passkeys and correct sign-in autocomplete",
      "priority": 8,
      "findingIds": [
        "F018",
        "F021"
      ],
      "guidanceId": "passkeys",
      "status": "open"
    },
    {
      "id": "T009",
      "title": "Emit consistent result-page metadata",
      "priority": 9,
      "findingIds": [
        "F015"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T010",
      "title": "Use platform popover and anchored positioning",
      "priority": 10,
      "findingIds": [
        "F003",
        "F004"
      ],
      "guidanceId": "declarative-dialog-popover-control",
      "status": "open"
    },
    {
      "id": "T011",
      "title": "Adopt logical CSS properties",
      "priority": 11,
      "findingIds": [
        "F020"
      ],
      "guidanceId": "translator",
      "status": "open"
    },
    {
      "id": "T012",
      "title": "Resolve the load-time integration 404",
      "priority": 12,
      "findingIds": [
        "F014"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T013",
      "title": "Add View Transitions to search navigation",
      "priority": 13,
      "findingIds": [
        "F002"
      ],
      "guidanceId": "same-document-transitions",
      "status": "open"
    }
  ],
  "budget": {
    "wallClockSeconds": 1100,
    "pathCount": 4,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-22T09-01-15-877Z"
}
