{
  "url": "https://xnxx.health",
  "auditedAt": "2026-07-23T07:04:23.804Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage-complete remote audit. No source was supplied; no fixes were applied.",
  "page": {
    "appType": "mpa",
    "framework": "server-rendered HTML with legacy JavaScript",
    "notes": "Public adult-video directory. Artifacts contain explicit imagery. Six representative paths cover home, dense listing, search, detail playback, stateful history and failure recovery. Not covered: account/auth, upload, checkout, locale-specific hosts, or exhaustive media playback."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "evaluate-probe",
    "layout-metrics",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "heap-summary",
    "lighthouse",
    "robots-and-sitemap"
  ],
  "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/404-mobile.png",
      "caption": "404 mobile",
      "findingIds": [
        "F-007"
      ]
    },
    {
      "type": "other",
      "path": "evidence/404-state.json",
      "caption": "404 state",
      "findingIds": [
        "F-007",
        "F-023"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/best-discoverability-crawler.png",
      "caption": "best discoverability crawler",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/best-discoverability-rendered.png",
      "caption": "best discoverability rendered",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/best-discoverability.json",
      "caption": "best discoverability",
      "findingIds": [
        "F-012",
        "F-022"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/best-layout.json",
      "caption": "best layout",
      "findingIds": [
        "F-004",
        "F-014"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/best-mobile.png",
      "caption": "best mobile",
      "findingIds": [
        "F-004",
        "F-005",
        "F-013",
        "F-025"
      ]
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "cookies",
      "findingIds": [
        "F-019"
      ]
    },
    {
      "type": "other",
      "path": "evidence/crawl-signals.json",
      "caption": "crawl signals",
      "findingIds": [
        "F-018"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/detail-mobile.png",
      "caption": "detail mobile",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/detail-state.json",
      "caption": "detail state",
      "findingIds": [
        "F-014"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-crawler.png",
      "caption": "discoverability crawler",
      "findingIds": [
        "F-022"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-rendered.png",
      "caption": "discoverability rendered",
      "findingIds": [
        "F-022"
      ]
    },
    {
      "type": "discoverability",
      "path": "evidence/discoverability.json",
      "caption": "discoverability",
      "findingIds": [
        "F-022"
      ]
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "headers",
      "findingIds": [
        "F-019",
        "F-021"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.heapsnapshot",
      "caption": "heap baseline",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/heap-post-interaction.heapsnapshot",
      "caption": "heap post interaction",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/heap-post.heapsnapshot",
      "caption": "heap post",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/history-dom.json",
      "caption": "history dom",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/history-mobile.png",
      "caption": "history mobile",
      "findingIds": [
        "F-007",
        "F-013",
        "F-023"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-contrast.png",
      "caption": "home contrast",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "home dark",
      "findingIds": [
        "F-001"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "home desktop",
      "findingIds": [
        "F-001",
        "F-002"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "home dom",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/home-layout-mobile.json",
      "caption": "home layout mobile",
      "findingIds": [
        "F-003"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "home mobile",
      "findingIds": [
        "F-024"
      ]
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "home summary",
      "findingIds": [
        "F-009",
        "F-010",
        "F-020",
        "F-027",
        "F-028",
        "F-029"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "home trace summary",
      "findingIds": [
        "F-008"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "home trace",
      "findingIds": [
        "F-008"
      ]
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "home",
      "findingIds": [
        "F-009"
      ]
    },
    {
      "type": "other",
      "path": "evidence/image-parents.json",
      "caption": "image parents",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/images.json",
      "caption": "images",
      "findingIds": [
        "F-011",
        "F-016",
        "F-027"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-summary.json",
      "caption": "lighthouse summary",
      "findingIds": [
        "F-006",
        "F-008",
        "F-009",
        "F-010",
        "F-011",
        "F-012",
        "F-014",
        "F-015",
        "F-016",
        "F-017",
        "F-020",
        "F-028"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse.json",
      "caption": "lighthouse",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/motion-css.json",
      "caption": "motion css",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/quality-probe.json",
      "caption": "quality probe",
      "findingIds": [
        "F-002",
        "F-003",
        "F-005",
        "F-006",
        "F-011",
        "F-024",
        "F-026"
      ]
    },
    {
      "type": "other",
      "path": "evidence/recon.json",
      "caption": "recon",
      "findingIds": [
        "F-018",
        "F-024",
        "F-025",
        "F-026"
      ]
    },
    {
      "type": "other",
      "path": "evidence/routes.json",
      "caption": "routes",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/search-discoverability-crawler.png",
      "caption": "search discoverability crawler",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/search-discoverability-rendered.png",
      "caption": "search discoverability rendered",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/search-discoverability.json",
      "caption": "search discoverability",
      "findingIds": [
        "F-022"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/search-dom.json",
      "caption": "search dom",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/search-metadata.json",
      "caption": "search metadata",
      "findingIds": [
        "F-012",
        "F-018"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/search-mobile.png",
      "caption": "search mobile",
      "findingIds": [
        "F-002",
        "F-005"
      ]
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "secrets",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "trackers",
      "findingIds": [
        "F-020",
        "F-028",
        "F-029"
      ]
    }
  ],
  "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": "Screenshots plus computed CSS under default and dark preference",
      "evidence": "Default and dark captures are identical and no preference-aware color CSS is present",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-dark.png"
      ],
      "findingIds": [
        "F-001"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "pass",
      "confidence": "high",
      "method": "Animation/CSS probe under prefers-reduced-motion: reduce",
      "evidence": "The reduced-motion media query matched and document.getAnimations() returned no active animations; there is no non-essential motion to suppress",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/motion-css.json"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Forced-colors/prefers-contrast screenshot",
      "evidence": "Text, links, controls and thumbnails remain visible with clear system-colour outlines under forced colors",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-contrast.png"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "CSS/DOM probe across route templates",
      "evidence": "No view-transition declarations were found and navigation uses full-document route swaps",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/quality-probe.json",
        "evidence/search-mobile.png"
      ],
      "findingIds": [
        "F-002"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "confidence": "high",
      "method": "CSS and interaction inspection",
      "evidence": "No parallax, scrollytelling, reveal animation, carousel motion or other scroll-linked motion exists to implement",
      "reason": "No parallax, scrollytelling, reveal animation, carousel motion or other scroll-linked motion exists to implement"
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Interaction and CSS inspection",
      "evidence": "The audited templates expose links, form submission and native scrolling but no custom swipe, pull, drag or gesture-driven interaction",
      "reason": "The audited templates expose links, form submission and native scrolling but no custom swipe, pull, drag or gesture-driven interaction"
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Long-page layout metrics and CSS probe",
      "evidence": "Long listings reach 32,294 CSS px but chrome is static and no scroll-state/progress affordance is present",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/quality-probe.json"
      ],
      "findingIds": [
        "F-003"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "not-applicable",
      "confidence": "high",
      "method": "DOM overlay inventory",
      "evidence": "No tooltip, contextual popover or anchored menu was present on the exercised states",
      "reason": "No tooltip, contextual popover or anchored menu was present on the exercised states"
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "medium",
      "method": "Representative route screenshots and heading/nav inspection",
      "evidence": "Search and detail routes place a prominent page heading before primary content and Best Of visibly marks its active section",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/search-mobile.png",
        "evidence/detail-mobile.png",
        "evidence/best-mobile.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "pass",
      "confidence": "high",
      "method": "Initial-load screenshots on four templates",
      "evidence": "No full-viewport popup, consent wall or obscuring interstitial appeared on load",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/best-mobile.png",
        "evidence/search-mobile.png",
        "evidence/detail-mobile.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "pass",
      "confidence": "medium",
      "method": "DOM primitive inventory",
      "evidence": "No active modal/disclosure overlay was present; inspected controls use anchors, buttons and native form elements rather than an ad-hoc modal",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "pass",
      "confidence": "medium",
      "method": "Viewport screenshots",
      "evidence": "Home, search and detail surfaces devote most of the viewport to category, result or media content rather than application framing",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/search-mobile.png",
        "evidence/detail-mobile.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "issues",
      "confidence": "high",
      "method": "Mobile screenshots and layout metrics across templates",
      "evidence": "Home reflows at 360px, but Best Of measures 989px scroll width and 629px overflow",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/best-layout.json",
        "evidence/best-mobile.png"
      ],
      "findingIds": [
        "F-004"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "medium",
      "method": "CSS signal probe and cross-template screenshots",
      "evidence": "No container query support was found and repeated cards adapt inconsistently by template",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/quality-probe.json",
        "evidence/best-mobile.png",
        "evidence/search-mobile.png"
      ],
      "findingIds": [
        "F-005"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Focus and target-size probe plus Lighthouse",
      "evidence": "Focus is visible, but many targets are materially below 44x44 and Lighthouse target-size fails",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/quality-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F-006"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "First-viewport screenshots and headings",
      "evidence": "Home, search and detail views clearly identify browsing, results and playback as their primary purpose",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/search-mobile.png",
        "evidence/detail-mobile.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "pass",
      "confidence": "high",
      "method": "Manual browse flow from category to search results to detail",
      "evidence": "A homepage category leads to a populated search listing and a result opens a playable detail page with visible player controls",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/search-mobile.png",
        "evidence/detail-mobile.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "issues",
      "confidence": "high",
      "method": "History and invalid-route state exercise",
      "evidence": "History remains loading without recovery and an invalid route silently becomes the homepage",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/history-mobile.png",
        "evidence/404-state.json"
      ],
      "findingIds": [
        "F-007"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse and CDP trace summary",
      "evidence": "Lighthouse LCP is 4.79s (poor), despite a separate trace at 1.86s; lab variability does not establish consistently good LCP",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "findingIds": [
        "F-008"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "high",
      "method": "Layout shift observer and Lighthouse CLS",
      "evidence": "Both the mobile layout observer and Lighthouse report CLS 0 with no observed shifts",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "high",
      "method": "Trace long-task/TBT analysis",
      "evidence": "The trace reports 0 long tasks and 0ms TBT; Lighthouse TBT is 44.5ms",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "HAR summary, DOM and Lighthouse insights",
      "evidence": "Blocking candidates, redirects, weak image caching and failed cache/dependency/render-blocking insights show inefficient delivery",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F-009"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse code diagnostics and HAR byte totals",
      "evidence": "Unused CSS/JS and legacy JavaScript insights fail; scripts transfer 462,676 bytes",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F-010"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Images audit, accessibility probe and Lighthouse",
      "evidence": "Most images and thumbnail links lack names and the search field has no label",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json",
        "evidence/quality-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F-011"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "pass",
      "confidence": "medium",
      "method": "Lighthouse/forced-colors visual inspection",
      "evidence": "Lighthouse reported no color-contrast failure and forced colors preserves readable text and controls",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-contrast.png",
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse landmarks plus heading/focus probes",
      "evidence": "No main landmark is present and heading structure is inconsistent, though keyboard focus is visibly outlined",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/quality-probe.json"
      ],
      "findingIds": [
        "F-012"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "issues",
      "confidence": "high",
      "method": "Mobile screenshots and computed target/text inspection",
      "evidence": "Keyword/footer copy and metadata are small, dense and sometimes clipped",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/history-mobile.png",
        "evidence/best-mobile.png"
      ],
      "findingIds": [
        "F-013"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Narrow layout, target-size audit and detail media DOM",
      "evidence": "Best Of does not reflow, targets fail sizing, and the representative video has no caption track",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/best-layout.json",
        "evidence/detail-state.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F-014"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse runtime log audit",
      "evidence": "CORS, missing dependency, malformed JSON and failed footer errors are logged",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F-015"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "DOM, image primitive and Lighthouse",
      "evidence": "Doctype/UTF-8 are valid, but all inspected images lack explicit dimensions and Lighthouse reports unsized images",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F-016"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse inspector and legacy diagnostics",
      "evidence": "Inspector issues and legacy JavaScript are reported alongside broken resource delivery",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F-017"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "pass",
      "confidence": "high",
      "method": "DOM metadata probes on home and search",
      "evidence": "Both templates expose unique descriptive titles and meta descriptions",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/recon.json",
        "evidence/search-metadata.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse SEO, robots and DOM links",
      "evidence": "Lighthouse SEO scores 1.0, viewport meta exists, internal links use href and robots allows general search indexing",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/crawl-signals.json",
        "evidence/recon.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "issues",
      "confidence": "high",
      "method": "Canonical/hreflang probe plus robots/sitemap fetch",
      "evidence": "Canonical is absent and hreflang variants all resolve to the same English homepage",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/recon.json",
        "evidence/crawl-signals.json"
      ],
      "findingIds": [
        "F-018"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "pass",
      "confidence": "medium",
      "method": "JSON-LD and visible-content comparison",
      "evidence": "The homepage includes WebSite JSON-LD whose name and description correspond to the visible site; no contradictory entity data was observed",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/recon.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Headers and cookies primitives",
      "evidence": "HTTPS/HSTS are present, but CSP/nosniff are absent and cookie flags are weak",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "F-019"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "HAR, trackers, cookies and Lighthouse",
      "evidence": "Third parties account for 50/53 requests and 1.18MB, with multiple analytics/ad networks and third-party cookies",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F-020"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "pass",
      "confidence": "medium",
      "method": "Load observation and platform probe",
      "evidence": "No permission prompt fired on load; the public browsing flow does not require authentication, so passkeys are not relevant to the exercised task",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/quality-probe.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Security header inspection",
      "evidence": "Clickjacking, CSP, referrer, permissions and nosniff defenses are missing",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json"
      ],
      "findingIds": [
        "F-021"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "issues",
      "confidence": "high",
      "method": "No-JS raw/rendered comparison on three templates",
      "evidence": "Homepage raw HTML covers only 19% of rendered words, unlike Best Of 96% and search 100%",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/best-discoverability.json",
        "evidence/search-discoverability.json"
      ],
      "findingIds": [
        "F-022"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "medium",
      "method": "Representative menu/navigation and page-state exercise",
      "evidence": "Home, search and detail content render without blank shells, and no overlay clipping or lost navigation state was observed",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/search-mobile.png",
        "evidence/detail-mobile.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Site-type and platform probe",
      "evidence": "This is an intrinsically network-dependent streaming content MPA; offline playback/installability is not required for the audited core task",
      "reason": "This is an intrinsically network-dependent streaming content MPA; offline playback/installability is not required for the audited core task"
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "issues",
      "confidence": "high",
      "method": "Invalid-route and asynchronous History state exercise",
      "evidence": "Invalid URLs silently redirect and History has an unbounded loading state without retry",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/404-state.json",
        "evidence/history-mobile.png"
      ],
      "findingIds": [
        "F-023"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "issues",
      "confidence": "high",
      "method": "DOM language/hreflang and CSS logical-property probe",
      "evidence": "html lang is always en, logical properties are absent, and multiple claimed locales point to the same English page",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/recon.json",
        "evidence/quality-probe.json"
      ],
      "findingIds": [
        "F-024"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "issues",
      "confidence": "medium",
      "method": "Localized-variant and rendered-label inspection",
      "evidence": "Month/year and count formatting remain English-style despite advertised locale variants",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/best-mobile.png",
        "evidence/recon.json"
      ],
      "findingIds": [
        "F-025"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Content and data-model inspection",
      "evidence": "The audited browsing flow exposes media durations but no scheduled events, local wall times, recurring events or stored time-zone-sensitive data",
      "reason": "The audited browsing flow exposes media durations but no scheduled events, local wall times, recurring events or stored time-zone-sensitive data"
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "medium",
      "method": "Initial, browsing and playback screenshots",
      "evidence": "No confirmshaming, forced continuity, disguised checkout or obstructive cancellation was observed in the public flow",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/search-mobile.png",
        "evidence/detail-mobile.png"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Form inventory and flow exercise",
      "evidence": "The only form is optional search with no invalid/required state; there is no user-correctable validation error to exercise",
      "reason": "The only form is optional search with no invalid/required state; there is no user-correctable validation error to exercise"
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "issues",
      "confidence": "high",
      "method": "Form/DOM semantics probe",
      "evidence": "The search field is unlabeled and has no autocomplete semantics",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/quality-probe.json",
        "evidence/recon.json"
      ],
      "findingIds": [
        "F-026"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Representative-flow and route inventory",
      "evidence": "No checkout, subscription, authentication or account-management flow was part of the public representative task set",
      "reason": "No checkout, subscription, authentication or account-management flow was part of the public representative task set"
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Images primitive and HAR",
      "evidence": "Legacy, oversized, non-responsive and non-lazy images create avoidable transfer cost",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F-027"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse code diagnostics, HAR and tracker inventory",
      "evidence": "Unused bundles and eager tracking/advertising do avoidable work before interaction",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F-028"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "HAR third-party byte budget",
      "evidence": "Third parties contribute 97% of initial transferred bytes and dominate slow requests",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ],
      "findingIds": [
        "F-029"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Robots content signals and capability probe",
      "evidence": "The site explicitly disallows major AI crawlers and ai-train use, indicating no intent to expose agent-facing capabilities",
      "reason": "The site explicitly disallows major AI crawlers and ai-train use, indicating no intent to expose agent-facing capabilities"
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Capability and use-case inspection",
      "evidence": "No user task in the audited streaming/browsing flow requires on-device language-model or summarisation support",
      "reason": "No user task in the audited streaming/browsing flow requires on-device language-model or summarisation support"
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "medium",
      "method": "Baseline and post-10x menu-toggle heap summaries",
      "evidence": "After ten open/escape cycles, self size rose only 144,147 bytes (0.27%) and node count 1,482 (0.43%), with no unbounded pattern established",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.heapsnapshot",
        "evidence/heap-post-interaction.heapsnapshot"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "medium",
      "method": "Heap summary and runtime memory metric",
      "evidence": "The content-rich page retains about 52.8MB self size and 341k heap nodes; this is proportionate to 161 images and hundreds of links in the rendered document",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.heapsnapshot",
        "evidence/quality-probe.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "Before/after heap constructor comparison",
      "evidence": "The summary exposes no growing Detached* constructor population, and closures rise only 37 across the 10-cycle interaction",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.heapsnapshot",
        "evidence/heap-post-interaction.heapsnapshot"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-001"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-002"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-003"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-004",
        "F-005",
        "F-006"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-007"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-008",
        "F-009",
        "F-010"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-011",
        "F-012",
        "F-013",
        "F-014"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-015",
        "F-016",
        "F-017"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-018"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-019",
        "F-020",
        "F-021"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F-022",
        "F-023"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F-024",
        "F-025"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-026"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F-027",
        "F-028",
        "F-029"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "All checks were judged not applicable to the site’s declared or observed purpose."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage and category directory; global chrome, preferences, accessibility, performance, privacy and mobile layout.",
      "url": "https://xnxx.health/",
      "conditions": [
        "desktop",
        "viewport: 360x800",
        "prefers-color-scheme: dark",
        "forced-colors: active",
        "prefers-reduced-motion: reduce",
        "keyboard focus"
      ],
      "result": "issues"
    },
    {
      "id": "best",
      "description": "Best Of listing template and pagination; selected to represent dense multi-column listings.",
      "url": "https://xnxx.health/best",
      "conditions": [
        "viewport: 360x800",
        "JavaScript disabled comparison"
      ],
      "result": "issues"
    },
    {
      "id": "search",
      "description": "Search results template and primary discovery journey.",
      "url": "https://xnxx.health/search/hardcore?id=67403953",
      "conditions": [
        "viewport: 360x800",
        "JavaScript disabled comparison"
      ],
      "result": "issues"
    },
    {
      "id": "detail",
      "description": "Representative media detail/playback page reached from a search result.",
      "url": "https://xnxx.health/search-video/eAE9kdtuEzEQht_F1yb1eDynfQBUBEKIFgGiaLVptk0kmlS7C0RCvDv_BsHNjD3_HL6xf6XPqUvXKafX8Ofj-Yzjq9SptcIhnNOb1H35f1PXSlEte3hULTho4eIsuRqrWYms0Js7JC5NLQg5yDWmbO7qzJwNpS6IuLbWhAPlrYqZZVahEI3sxpVDOUchtaqKiCPQ1ipoWig3aSoNQ52UKjtDglWMULCiN2e2SvBrlbqpGjBMrHpkA7MQA7WxsKx7SeVqFQ2LutBl0yAqAeYWlURK9sqNuAHVqzcnW-HXdQLweAsNA7NRIakAiyrM8jWnD3jhu6sfh914egGiZ6ct313th2l3f5rGfn96Gp-G3djP9-NxnPufh2XfT-PwrX8-Tcd5Gaa55xlJ_fZhi196l7qS09uLvUXreZmGw-N-WaX3l-jNy49_PdR_Y6De3qSOzJtFwdL4bnRK5HVjsqEoGzIkfbpO3TJ9H3__AbgzgTo=/17d3cf859ee26f6ba3c915aebba4ea48",
      "conditions": [
        "viewport: 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "history",
      "description": "Stateful History surface, selected to inspect loading/empty/recovery behavior.",
      "url": "https://xnxx.health/history",
      "conditions": [
        "viewport: 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "error",
      "description": "Deliberately invalid route to inspect HTTP/not-found recovery.",
      "url": "https://xnxx.health/this-path-does-not-exist-audit",
      "conditions": [
        "viewport: 360x800"
      ],
      "result": "issues"
    }
  ],
  "findings": [
    {
      "id": "F-001",
      "pathId": "home",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "severity": "low",
      "confidence": "high",
      "summary": "The interface has no user-preference-driven colour scheme.",
      "evidence": "The default and prefers-color-scheme: dark screenshots are pixel-identical, while the computed CSS probe reports no color-scheme or prefers-color-scheme rule.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-dark.png"
      ],
      "suggestedFix": "Declare color-scheme and use prefers-color-scheme or light-dark() so the already-dark palette has an intentional preference-aware counterpart.",
      "effort": "small"
    },
    {
      "id": "F-002",
      "pathId": "search",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "cross-document-transitions",
      "severity": "low",
      "confidence": "high",
      "summary": "Route changes are abrupt full-document swaps.",
      "evidence": "The CSS probe found no view-transition declarations across home, listing, search and detail routes.",
      "artifacts": [
        "evidence/quality-probe.json",
        "evidence/home-desktop.png",
        "evidence/search-mobile.png"
      ],
      "suggestedFix": "Use same-document or cross-document View Transitions for navigation, with a reduced-motion fallback.",
      "effort": "medium"
    },
    {
      "id": "F-003",
      "pathId": "home",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "scroll-progress-indicator",
      "severity": "low",
      "confidence": "high",
      "summary": "Page chrome does not respond to scroll position.",
      "evidence": "The CSS probe found no scroll-state, scroll-timeline or position-aware header treatment on pages as long as 32,294 CSS px.",
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/quality-probe.json"
      ],
      "suggestedFix": "Make the compact header react to scroll state and provide position/progress feedback on very long listings.",
      "effort": "small"
    },
    {
      "id": "F-004",
      "pathId": "best",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "responsive-no-horizontal-scroll",
      "guidanceId": "css-layout",
      "severity": "high",
      "confidence": "high",
      "summary": "The Best Of listing forces a desktop-width layout on mobile.",
      "evidence": "At a 360x800 viewport, layout measured scrollWidth 989px and 629px horizontal overflow; the mobile screenshot clips navigation and pagination.",
      "artifacts": [
        "evidence/best-layout.json",
        "evidence/best-mobile.png"
      ],
      "suggestedFix": "Remove the desktop viewport/layout override, use intrinsic grids, and verify every template at narrow widths.",
      "effort": "medium"
    },
    {
      "id": "F-005",
      "pathId": "best",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "severity": "low",
      "confidence": "high",
      "summary": "Repeated cards do not use container-aware adaptation.",
      "evidence": "The CSS probe found no @container/container-type rules, and card/list layouts vary inconsistently between home, Best Of and search templates.",
      "artifacts": [
        "evidence/quality-probe.json",
        "evidence/best-mobile.png",
        "evidence/search-mobile.png"
      ],
      "suggestedFix": "Give reusable card regions containment and adapt card typography/actions with container queries.",
      "effort": "medium"
    },
    {
      "id": "F-006",
      "pathId": "home",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "severity": "medium",
      "confidence": "high",
      "summary": "Many interactive targets are too small for touch.",
      "evidence": "The focus/target probe found header controls at 38x34px, promotional links at 24px high, and many category links only 14-15px high; Lighthouse target-size failed.",
      "artifacts": [
        "evidence/quality-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Increase target boxes to at least 44x44 CSS px while preserving the visible focus outline and non-hover labels.",
      "effort": "small"
    },
    {
      "id": "F-007",
      "pathId": "history",
      "principleId": "support-core-task-success",
      "principleCheckId": "clear-system-state-and-recovery",
      "guidanceId": "persistent-toast-notifications",
      "severity": "high",
      "confidence": "high",
      "summary": "History and invalid-route states do not provide useful recovery.",
      "evidence": "The History screenshot remains on “Loading…” without timeout or action, while a deliberately invalid URL silently redirects to the homepage with no not-found explanation.",
      "artifacts": [
        "evidence/history-mobile.png",
        "evidence/404-state.json",
        "evidence/404-mobile.png"
      ],
      "suggestedFix": "Add bounded loading, empty/error messaging and retry/clear actions; return a real 404 page with recovery links.",
      "effort": "medium"
    },
    {
      "id": "F-008",
      "pathId": "home",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "optimize-image-priority",
      "severity": "high",
      "confidence": "high",
      "summary": "Cold-load LCP is outside the good range.",
      "evidence": "Lighthouse measured LCP 4.79s, FCP 2.83s and Speed Index 4.50s; the independent trace measured LCP 1.86s, showing variable network-sensitive performance.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json",
        "evidence/home-trace.json"
      ],
      "suggestedFix": "Prioritise the LCP thumbnail/logo, shorten render-blocking chains, and defer analytics/advertising until after primary content.",
      "effort": "medium"
    },
    {
      "id": "F-009",
      "pathId": "home",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-script-priority",
      "severity": "medium",
      "confidence": "high",
      "summary": "Critical delivery is slowed by blocking and poorly cached resources.",
      "evidence": "The HAR recorded 53 requests/1.21MB, multiple parser-inserted styles/scripts, 6 redirects, and many images without cache headers; Lighthouse cache, LCP discovery, dependency-tree and render-blocking insights failed.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home.har",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Defer non-critical scripts, preload only the LCP resource, set durable immutable cache headers for versioned assets, and remove redirect chains.",
      "effort": "medium"
    },
    {
      "id": "F-010",
      "pathId": "home",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "severity": "medium",
      "confidence": "high",
      "summary": "The page ships avoidable unused and legacy JavaScript/CSS.",
      "evidence": "Lighthouse failed unused-css, unused-javascript and legacy-javascript insights; scripts account for 462,676 transferred bytes.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Code-split by template, remove redundant libraries and serve a modern baseline bundle.",
      "effort": "medium"
    },
    {
      "id": "F-011",
      "pathId": "home",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Core browsing links, thumbnails and search lack accessible names.",
      "evidence": "The probe found 160 of 161 images without meaningful alt and an unlabeled search input; Lighthouse link-name failed on thumbnail links.",
      "artifacts": [
        "evidence/images.json",
        "evidence/quality-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Give each thumbnail link one descriptive accessible name, meaningful image alt where needed, and an explicit search label.",
      "effort": "medium"
    },
    {
      "id": "F-012",
      "pathId": "home",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "severity": "medium",
      "confidence": "high",
      "summary": "The document lacks a main landmark and has weak heading structure.",
      "evidence": "Lighthouse reported no main landmark; the probe found only one landmark, and the Best Of page rendered no h1 while the search page used three h1 elements.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/best-discoverability.json",
        "evidence/search-metadata.json"
      ],
      "suggestedFix": "Wrap primary content in main and use one page h1 followed by a logical heading hierarchy.",
      "effort": "small"
    },
    {
      "id": "F-013",
      "pathId": "history",
      "principleId": "be-inclusive",
      "principleCheckId": "legible-text",
      "guidanceId": "improve-text-layout-and-legibility",
      "severity": "low",
      "confidence": "high",
      "summary": "Some text is cramped and difficult to scan.",
      "evidence": "The History screenshot shows a dense, centered keyword block at small size, and listing metadata commonly renders at 12-15px with clipped titles.",
      "artifacts": [
        "evidence/history-mobile.png",
        "evidence/best-mobile.png"
      ],
      "suggestedFix": "Increase body/metadata sizing and line-height, constrain line length, and use balanced wrapping for headings.",
      "effort": "small"
    },
    {
      "id": "F-014",
      "pathId": "detail",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "accessibility",
      "severity": "medium",
      "confidence": "high",
      "summary": "Zoom/reflow and media alternatives are incomplete.",
      "evidence": "The Best Of template overflows by 629px at 360px, Lighthouse target-size failed, and the representative detail video exposes no track elements.",
      "artifacts": [
        "evidence/best-layout.json",
        "evidence/detail-state.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Fix reflow and target sizing, and provide captions/transcripts for video content.",
      "effort": "large"
    },
    {
      "id": "F-015",
      "pathId": "home",
      "principleId": "follow-best-practices",
      "principleCheckId": "no-console-errors",
      "guidanceId": "html",
      "severity": "high",
      "confidence": "high",
      "summary": "Production pages emit repeated runtime and network errors.",
      "evidence": "Lighthouse captured CORS failures, require-is-not-defined, malformed JSON, failed footer loading and related console/network errors.",
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Correct CDN CORS/resource URLs, guarantee dependency order, validate JSON responses and remove noisy production console errors.",
      "effort": "medium"
    },
    {
      "id": "F-016",
      "pathId": "home",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "Image assets are structurally unsized and inefficiently encoded.",
      "evidence": "The image audit found all 100 inspected images lacked width/height, 12 were oversized, 100 used legacy formats and 99 lacked alt; Lighthouse unsized-images failed.",
      "artifacts": [
        "evidence/images.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Emit width/height or aspect-ratio, responsive srcset/sizes and modern formats from the image pipeline.",
      "effort": "medium"
    },
    {
      "id": "F-017",
      "pathId": "home",
      "principleId": "follow-best-practices",
      "principleCheckId": "browser-platform-hygiene",
      "guidanceId": "security",
      "severity": "medium",
      "confidence": "high",
      "summary": "Inspector and delivery hygiene issues remain.",
      "evidence": "Lighthouse inspector-issues failed alongside broken CORS-loaded scripts and legacy-javascript diagnostics.",
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Resolve DevTools inspector issues, stale/legacy dependencies and broken asset delivery before release.",
      "effort": "medium"
    },
    {
      "id": "F-018",
      "pathId": "home",
      "principleId": "be-discoverable",
      "principleCheckId": "canonical-and-indexing-signals",
      "guidanceId": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "Canonical/indexing signals are inconsistent.",
      "evidence": "The homepage and search metadata probes exposed no canonical URL, while hreflang entries for six locales all point to the same English homepage; robots and sitemap otherwise return 200.",
      "artifacts": [
        "evidence/recon.json",
        "evidence/search-metadata.json",
        "evidence/crawl-signals.json"
      ],
      "suggestedFix": "Add self-referencing canonicals and only emit hreflang variants that return correctly localized equivalents.",
      "effort": "small"
    },
    {
      "id": "F-019",
      "pathId": "home",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "severity": "high",
      "confidence": "high",
      "summary": "Transport is HTTPS but application defenses and cookie flags are weak.",
      "evidence": "Headers show no CSP or nosniff; the cookie audit found four cookies without Secure and all eight using SameSite=None.",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "suggestedFix": "Deploy a restrictive nonce/hash CSP, nosniff, and Secure plus Lax/Strict cookie defaults unless cross-site use is essential.",
      "effort": "medium"
    },
    {
      "id": "F-020",
      "pathId": "home",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "severity": "high",
      "confidence": "high",
      "summary": "The page sends a large tracking and advertising footprint before interaction.",
      "evidence": "The HAR attributes 50 of 53 requests and 1.18MB of 1.21MB to third-party origins; trackers include Google Analytics plus Yandex and ad networks, with 27 third-party cookies in Lighthouse.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Minimise vendors, gate non-essential tracking on informed consent, batch analytics, and load ads/analytics after core content.",
      "effort": "large"
    },
    {
      "id": "F-021",
      "pathId": "home",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "severity": "high",
      "confidence": "high",
      "summary": "Browser-enforced defensive policies are mostly absent.",
      "evidence": "Headers lack CSP/frame-ancestors or X-Frame-Options, Referrer-Policy, Permissions-Policy and nosniff; only HSTS is present.",
      "artifacts": [
        "evidence/headers.json"
      ],
      "suggestedFix": "Add frame-ancestors, strict referrer and permissions policies, nosniff and an enforceable CSP; evaluate Trusted Types for script-heavy surfaces.",
      "effort": "medium"
    },
    {
      "id": "F-022",
      "pathId": "home",
      "principleId": "be-resilient",
      "principleCheckId": "progressive-enhancement",
      "guidanceId": "stabilize-reactive-state",
      "severity": "medium",
      "confidence": "high",
      "summary": "The homepage exposes only a small share of rendered content without JavaScript.",
      "evidence": "Discoverability measured 19% homepage word coverage without JS, compared with 96% for Best Of and 100% for search.",
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/discoverability-rendered.png",
        "evidence/discoverability-crawler.png",
        "evidence/best-discoverability.json",
        "evidence/search-discoverability.json"
      ],
      "suggestedFix": "Server-render the complete primary category/navigation content and enhance it with JavaScript rather than injecting core links client-side.",
      "effort": "medium"
    },
    {
      "id": "F-023",
      "pathId": "error",
      "principleId": "be-resilient",
      "principleCheckId": "network-and-http-failure-states",
      "guidanceId": "conditional-async-dependencies",
      "severity": "medium",
      "confidence": "high",
      "summary": "Failure states are replaced by silent redirects or indefinite loading.",
      "evidence": "The invalid path returned the homepage URL/content instead of a 404 state, while History stayed on an indefinite loading indicator with no retry.",
      "artifacts": [
        "evidence/404-state.json",
        "evidence/history-mobile.png"
      ],
      "suggestedFix": "Return correct HTTP error pages and add timeout, retry, offline and empty-state handling to asynchronous views.",
      "effort": "medium"
    },
    {
      "id": "F-024",
      "pathId": "home",
      "principleId": "be-internationalised",
      "principleCheckId": "lang-dir-and-logical-properties",
      "guidanceId": "translator",
      "severity": "medium",
      "confidence": "high",
      "summary": "Declared language variants are not reflected in document language or layout readiness.",
      "evidence": "The page declares html lang=en and no logical-property CSS, yet displays Hindi text and advertises be, ru, ar, en-in and hi hreflang URLs all pointing to the English homepage.",
      "artifacts": [
        "evidence/recon.json",
        "evidence/quality-probe.json",
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Serve genuinely localized pages with correct lang/dir and use logical properties so RTL and translated copy reflow safely.",
      "effort": "large"
    },
    {
      "id": "F-025",
      "pathId": "best",
      "principleId": "be-internationalised",
      "principleCheckId": "locale-aware-data",
      "guidanceId": "support-global-calendar-systems",
      "severity": "low",
      "confidence": "high",
      "summary": "Counts and month/year labels appear hard-coded to one locale.",
      "evidence": "The Best Of view renders “June 2026” and comma-grouped counts while the site advertises multiple locales; no locale-aware variation was observed.",
      "artifacts": [
        "evidence/best-mobile.png",
        "evidence/recon.json"
      ],
      "suggestedFix": "Format month/year, counts and durations through Intl for the active locale.",
      "effort": "small"
    },
    {
      "id": "F-026",
      "pathId": "home",
      "principleId": "be-trustworthy",
      "principleCheckId": "trustworthy-input-assistance",
      "guidanceId": "forms",
      "severity": "low",
      "confidence": "high",
      "summary": "The search input is unlabeled and provides no autocomplete semantics.",
      "evidence": "The DOM probe reports the text input named k has no label and an empty autocomplete attribute.",
      "artifacts": [
        "evidence/quality-probe.json",
        "evidence/recon.json"
      ],
      "suggestedFix": "Add a visible label and autocomplete/search semantics without preventing paste or browser assistance.",
      "effort": "small"
    },
    {
      "id": "F-027",
      "pathId": "home",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "deliver-optimized-decorative-images",
      "severity": "high",
      "confidence": "high",
      "summary": "Thumbnail delivery wastes bandwidth and omits responsive formats.",
      "evidence": "The image audit found 100 legacy-format images, 12 oversized assets, 13 without srcset and 89 below-fold images not lazy-loaded.",
      "artifacts": [
        "evidence/images.json",
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Generate AVIF/WebP variants, responsive srcset/sizes, fixed dimensions and native lazy loading below the fold.",
      "effort": "medium"
    },
    {
      "id": "F-028",
      "pathId": "home",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "deprioritize-background-fetches",
      "severity": "medium",
      "confidence": "high",
      "summary": "Unused code and pre-interaction tracking consume avoidable resources.",
      "evidence": "Unused CSS/JS and legacy bundle insights failed while analytics and advertising account for several scripts and background requests before user action.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ],
      "suggestedFix": "Remove unused bundles and defer/background-prioritise optional analytics and advertising work.",
      "effort": "medium"
    },
    {
      "id": "F-029",
      "pathId": "home",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "efficient-background-processing",
      "severity": "high",
      "confidence": "high",
      "summary": "Third parties dominate the initial page budget.",
      "evidence": "Third parties transferred 1,178,396 of 1,211,998 bytes; GTM alone was 166KB and the slowest request at 1.84s.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ],
      "suggestedFix": "Set a third-party budget, remove duplicate analytics, defer advertising, and lazy-load media only when it approaches the viewport.",
      "effort": "large"
    }
  ],
  "taskList": [
    {
      "id": "T-001",
      "title": "Minimise and consent-gate third-party tracking and advertising",
      "priority": 1,
      "findingIds": [
        "F-020",
        "F-028",
        "F-029"
      ],
      "guidanceId": "privacy",
      "status": "open"
    },
    {
      "id": "T-002",
      "title": "Restore accessible names, landmarks, captions and target sizing",
      "priority": 2,
      "findingIds": [
        "F-006",
        "F-011",
        "F-012",
        "F-014"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T-003",
      "title": "Add CSP and complete the defensive header/cookie baseline",
      "priority": 3,
      "findingIds": [
        "F-019",
        "F-021"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T-004",
      "title": "Fix mobile reflow on Best Of and adopt component-aware cards",
      "priority": 4,
      "findingIds": [
        "F-004",
        "F-005"
      ],
      "guidanceId": "css-layout",
      "status": "open"
    },
    {
      "id": "T-005",
      "title": "Optimise responsive images and critical resource delivery",
      "priority": 5,
      "findingIds": [
        "F-008",
        "F-009",
        "F-016",
        "F-027"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "T-006",
      "title": "Fix production JavaScript/CORS errors and remove unused code",
      "priority": 6,
      "findingIds": [
        "F-010",
        "F-015",
        "F-017"
      ],
      "guidanceId": "identify-heavy-scripts",
      "status": "open"
    },
    {
      "id": "T-007",
      "title": "Implement explicit loading, 404, timeout and retry recovery",
      "priority": 7,
      "findingIds": [
        "F-007",
        "F-023"
      ],
      "guidanceId": "conditional-async-dependencies",
      "status": "open"
    },
    {
      "id": "T-008",
      "title": "Correct canonical, hreflang and locale-aware rendering",
      "priority": 8,
      "findingIds": [
        "F-018",
        "F-024",
        "F-025"
      ],
      "guidanceId": "translator",
      "status": "open"
    },
    {
      "id": "T-009",
      "title": "Server-render all core homepage navigation/content",
      "priority": 9,
      "findingIds": [
        "F-022"
      ],
      "guidanceId": "stabilize-reactive-state",
      "status": "open"
    },
    {
      "id": "T-010",
      "title": "Add preference-aware theming and navigation transitions",
      "priority": 10,
      "findingIds": [
        "F-001",
        "F-002",
        "F-003"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 6,
    "auditPasses": 1
  },
  "metrics": {
    "lighthouse": {
      "performance": 0.75,
      "accessibility": 0.78,
      "bestPractices": 0.69,
      "seo": 1,
      "lcpMs": 4792.675,
      "cls": 0,
      "tbtMs": 44.5
    },
    "trace": {
      "lcpMs": 1857.33,
      "tbtMs": 0
    },
    "network": {
      "requestCount": 53,
      "transferredBytes": 1211998,
      "thirdPartyRequestCount": 50,
      "thirdPartyTransferredBytes": 1178396
    },
    "memory": {
      "baselineBytes": 52793961,
      "postInteractionBytes": 52938108
    }
  },
  "agent": "pi",
  "runId": "2026-07-23T07-04-23-804Z"
}
