{
  "url": "https://br.xhamster.com",
  "auditedAt": "2026-07-27T02:24:56.533Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage-complete representative audit of home, category, video detail, signup, and error templates.",
  "page": {
    "appType": "mpa",
    "framework": "Server-rendered multi-page application with deferred client hydration",
    "notes": "Public localized adult-video catalog. The first load presents legal age-verification messaging and a consent dialog."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "evaluate-probe",
    "layout-metrics",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "images",
    "secrets",
    "lighthouse",
    "axe-core",
    "heap-summary",
    "curl-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",
    "declarative-button-actions"
  ],
  "artifacts": [
    {
      "type": "other",
      "path": "evidence/axe-home.json",
      "caption": "axe home",
      "findingIds": [
        "F03",
        "F18",
        "F19",
        "F20"
      ]
    },
    {
      "type": "other",
      "path": "evidence/axe-signup.json",
      "caption": "axe signup",
      "findingIds": [
        "F19"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/category-desktop.png",
      "caption": "category desktop",
      "findingIds": [
        "F07"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/category-mobile-layout.json",
      "caption": "category mobile layout",
      "findingIds": [
        "F10"
      ]
    },
    {
      "type": "other",
      "path": "evidence/crawl-http.txt",
      "caption": "crawl http",
      "findingIds": [
        "F25"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-cookies.json",
      "caption": "home cookies",
      "findingIds": [
        "F27"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "home dark",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "home desktop",
      "findingIds": [
        "F05",
        "F07",
        "F09"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-crawler.png",
      "caption": "home discoverability crawler"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-rendered.png",
      "caption": "home discoverability rendered"
    },
    {
      "type": "discoverability",
      "path": "evidence/home-discoverability.json",
      "caption": "home discoverability",
      "findingIds": [
        "F24"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "home dom"
    },
    {
      "type": "other",
      "path": "evidence/home-headers.json",
      "caption": "home headers",
      "findingIds": [
        "F27",
        "F30"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/home-heap-baseline.json",
      "caption": "home heap baseline"
    },
    {
      "type": "heap",
      "path": "evidence/home-heap-post.json",
      "caption": "home heap post"
    },
    {
      "type": "other",
      "path": "evidence/home-images.json",
      "caption": "home images",
      "findingIds": [
        "F22",
        "F34"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/home-mobile-layout.json",
      "caption": "home mobile layout",
      "findingIds": [
        "F10",
        "F15",
        "F21",
        "F24"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "home mobile",
      "findingIds": [
        "F10",
        "F11"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-platform.json",
      "caption": "home platform",
      "findingIds": [
        "F12",
        "F20",
        "F21",
        "F22",
        "F25"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-recon.json",
      "caption": "home recon",
      "findingIds": [
        "F04",
        "F06",
        "F25"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-secrets.json",
      "caption": "home secrets"
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "home summary",
      "findingIds": [
        "F16",
        "F28",
        "F35"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "home trace summary",
      "findingIds": [
        "F14",
        "F15"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "home trace"
    },
    {
      "type": "other",
      "path": "evidence/home-trackers.json",
      "caption": "home trackers",
      "findingIds": [
        "F28",
        "F35"
      ]
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "home",
      "findingIds": [
        "F16",
        "F28"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-home-summary.json",
      "caption": "lighthouse home summary",
      "findingIds": [
        "F12",
        "F14",
        "F17",
        "F21",
        "F23",
        "F24"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-home.json",
      "caption": "lighthouse home",
      "findingIds": [
        "F14",
        "F17",
        "F18",
        "F23",
        "F29"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/not-found.png",
      "caption": "not found"
    },
    {
      "type": "other",
      "path": "evidence/preferences-features.json",
      "caption": "preferences features",
      "findingIds": [
        "F01",
        "F02",
        "F03",
        "F04",
        "F05",
        "F06",
        "F11"
      ]
    },
    {
      "type": "other",
      "path": "evidence/pwa-details.json",
      "caption": "pwa details"
    },
    {
      "type": "other",
      "path": "evidence/pwa-probe.json",
      "caption": "pwa probe"
    },
    {
      "type": "other",
      "path": "evidence/resource-dom-confirmation.json",
      "caption": "resource dom confirmation",
      "findingIds": [
        "F16"
      ]
    },
    {
      "type": "other",
      "path": "evidence/robots.txt",
      "caption": "robots",
      "findingIds": [
        "F25"
      ]
    },
    {
      "type": "other",
      "path": "evidence/route-probe.json",
      "caption": "route probe"
    },
    {
      "type": "other",
      "path": "evidence/scroll-state.json",
      "caption": "scroll state"
    },
    {
      "type": "screenshot",
      "path": "evidence/signup-desktop.png",
      "caption": "signup desktop"
    },
    {
      "type": "dom",
      "path": "evidence/signup-dom.json",
      "caption": "signup dom",
      "findingIds": [
        "F08"
      ]
    },
    {
      "type": "other",
      "path": "evidence/signup-email-step.json",
      "caption": "signup email step",
      "findingIds": [
        "F13",
        "F31",
        "F32"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/signup-email-step.png",
      "caption": "signup email step",
      "findingIds": [
        "F13",
        "F31",
        "F33"
      ]
    },
    {
      "type": "other",
      "path": "evidence/signup-invalid-probe.json",
      "caption": "signup invalid probe"
    },
    {
      "type": "screenshot",
      "path": "evidence/signup-invalid.png",
      "caption": "signup invalid"
    },
    {
      "type": "other",
      "path": "evidence/signup-probe.json",
      "caption": "signup probe",
      "findingIds": [
        "F08",
        "F29",
        "F33"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/video-age-flow.png",
      "caption": "video age flow"
    },
    {
      "type": "screenshot",
      "path": "evidence/video-desktop.png",
      "caption": "video desktop",
      "findingIds": [
        "F07"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/video-discoverability-crawler.png",
      "caption": "video discoverability crawler"
    },
    {
      "type": "screenshot",
      "path": "evidence/video-discoverability-rendered.png",
      "caption": "video discoverability rendered"
    },
    {
      "type": "discoverability",
      "path": "evidence/video-discoverability.json",
      "caption": "video discoverability"
    },
    {
      "type": "other",
      "path": "evidence/video-metadata.json",
      "caption": "video metadata",
      "findingIds": [
        "F26"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/video-mobile-layout.json",
      "caption": "video mobile layout",
      "findingIds": [
        "F10"
      ]
    }
  ],
  "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": "Computed-style and media-emulation probe",
      "evidence": "color-scheme computed as normal under a matched dark preference; theme is not preference-driven.",
      "findingIds": [
        "F01"
      ],
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/preferences-features.json",
        "evidence/home-dark.png"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "issues",
      "confidence": "high",
      "method": "Animation probe under prefers-reduced-motion: reduce",
      "evidence": "Eight two-second shimmer animations remained running.",
      "findingIds": [
        "F02"
      ],
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/preferences-features.json"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "prefers-contrast emulation plus axe contrast audit",
      "evidence": "prefers-contrast matched while axe found 48 contrast failures.",
      "findingIds": [
        "F03"
      ],
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/preferences-features.json",
        "evidence/axe-home.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "medium",
      "method": "CSS/API feature inspection across route-heavy MPA",
      "evidence": "No view-transition CSS was present for listing, detail, and signup navigation.",
      "findingIds": [
        "F04"
      ],
      "pathIds": [
        "home",
        "category",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/preferences-features.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-page recon",
      "evidence": "No scroll-linked animation or scrollytelling surface was observed on the representative templates; there is no scroll animation implementation to classify.",
      "reason": "No scroll-linked animation or scrollytelling surface was observed on the representative templates; there is no scroll animation implementation to classify."
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "pass",
      "confidence": "medium",
      "method": "DOM and visual inspection of primary interactions",
      "evidence": "Primary surfaces use ordinary anchors, buttons, native page scrolling, and a standard media region; no custom gesture interaction that fights platform behavior was observed.",
      "pathIds": [
        "home",
        "category",
        "video"
      ],
      "artifacts": [
        "evidence/home-recon.json",
        "evidence/video-desktop.png"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "pass",
      "confidence": "high",
      "method": "Computed-position probe of header and navigation",
      "evidence": "Header and navigation are position: sticky with explicit top offsets, so chrome responds to scroll position without a custom fixed overlay.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/scroll-state.json"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "issues",
      "confidence": "medium",
      "method": "CSS feature inspection and header-menu recon",
      "evidence": "Header dropdowns are present but no CSS anchor positioning declarations were found.",
      "findingIds": [
        "F05"
      ],
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/preferences-features.json",
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "issues",
      "confidence": "medium",
      "method": "Navigation feature and route inspection",
      "evidence": "No directional transition, marker, or highlight mechanism was detected for the route-heavy navigation.",
      "findingIds": [
        "F06"
      ],
      "pathIds": [
        "home",
        "category",
        "video"
      ],
      "artifacts": [
        "evidence/preferences-features.json"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "issues",
      "confidence": "high",
      "method": "First-load screenshots on four templates",
      "evidence": "A centered cookie dialog obscures core content on home, category, video, and error templates.",
      "findingIds": [
        "F07"
      ],
      "pathIds": [
        "home",
        "category",
        "video",
        "not-found"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/category-desktop.png",
        "evidence/video-desktop.png",
        "evidence/not-found.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "Rendered DOM inspection",
      "evidence": "Signup uses DIV role=dialog rather than the native dialog primitive.",
      "findingIds": [
        "F08"
      ],
      "pathIds": [
        "signup"
      ],
      "artifacts": [
        "evidence/signup-dom.json",
        "evidence/signup-probe.json"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "First-viewport visual judgement",
      "evidence": "Two banners, two header rows, a sidebar, and the consent overlay leave little unobstructed catalog space.",
      "findingIds": [
        "F09"
      ],
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "issues",
      "confidence": "high",
      "method": "Layout metrics at 360x800 on three templates",
      "evidence": "All three templates measured 1024 px scroll width against 360 px visual viewport width, with 664 px overflow.",
      "findingIds": [
        "F10"
      ],
      "pathIds": [
        "home",
        "category",
        "video"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/category-mobile-layout.json",
        "evidence/video-mobile-layout.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "high",
      "method": "CSS feature inspection and narrow screenshot",
      "evidence": "No container queries were detected and desktop sidebar/grid geometry persists at 360 px.",
      "findingIds": [
        "F11"
      ],
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/preferences-features.json",
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Programmatic focus, target measurement, and Lighthouse",
      "evidence": "Focused link computed no outline; many 16 px controls were measured and Lighthouse failed target-size.",
      "findingIds": [
        "F12"
      ],
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-platform.json",
        "evidence/lighthouse-home-summary.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "First-viewport screenshots and heading/route recon",
      "evidence": "The home H1 identifies popular videos, category labels are explicit, and the detail page puts its title and player region first.",
      "pathIds": [
        "home",
        "category",
        "video"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/category-desktop.png",
        "evidence/video-desktop.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "issues",
      "confidence": "medium",
      "method": "Repeated signup CTA interaction with DOM and screenshot comparison",
      "evidence": "The email signup CTA did not advance or add account inputs in two attempts.",
      "findingIds": [
        "F13"
      ],
      "pathIds": [
        "signup"
      ],
      "artifacts": [
        "evidence/signup-email-step.json",
        "evidence/signup-email-step.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "pass",
      "confidence": "high",
      "method": "Representative HTTP-error path screenshot",
      "evidence": "The real 404 state clearly says the page was not found and provides a return-to-home action while retaining useful navigation.",
      "pathIds": [
        "not-found"
      ],
      "artifacts": [
        "evidence/not-found.png"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse plus CDP trace",
      "evidence": "Lighthouse LCP was 4.5 s and FCP 2.8 s; trace corroborated long load work.",
      "findingIds": [
        "F14"
      ],
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home-summary.json",
        "evidence/home-trace-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "high",
      "method": "Layout-shift observer and Lighthouse",
      "evidence": "CLS was 0 in Lighthouse and the mobile layout observer recorded no shifts.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home-summary.json",
        "evidence/home-mobile-layout.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "issues",
      "confidence": "high",
      "method": "CDP trace and long-task observer",
      "evidence": "Two long tasks were recorded, longest 168.71 ms, with 135.17 ms TBT.",
      "findingIds": [
        "F15"
      ],
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/home-mobile-layout.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "HAR summary confirmed against live script/style attributes",
      "evidence": "150 requests transferred 1.78 MB; 66 were scripts and three parser-inserted stylesheets were critical, while script candidates were confirmed deferred.",
      "findingIds": [
        "F16"
      ],
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/resource-dom-confirmation.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse code-coverage diagnostics",
      "evidence": "Lighthouse estimated 56 KiB unused CSS and 26 KiB unused JavaScript.",
      "findingIds": [
        "F17"
      ],
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home-summary.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "axe-core on home and signup",
      "evidence": "axe found an unnamed button, prohibited ARIA, nested interactivity, and aria-hidden focusable content.",
      "findingIds": [
        "F18"
      ],
      "pathIds": [
        "home",
        "signup"
      ],
      "artifacts": [
        "evidence/axe-home.json",
        "evidence/axe-signup.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "axe-core contrast rules",
      "evidence": "axe reported 48 home contrast failures and six signup failures.",
      "findingIds": [
        "F19"
      ],
      "pathIds": [
        "home",
        "signup"
      ],
      "artifacts": [
        "evidence/axe-home.json",
        "evidence/axe-signup.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "axe structural rules and focus style probe",
      "evidence": "Landmark uniqueness/containment failed and the first focusable link had no computed outline.",
      "findingIds": [
        "F20"
      ],
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/axe-home.json",
        "evidence/home-platform.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "medium",
      "method": "Desktop screenshots across content and account templates",
      "evidence": "Primary headings and body text are readable at the audited desktop size without clipping; contrast exceptions are recorded separately.",
      "pathIds": [
        "home",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/video-desktop.png",
        "evidence/signup-desktop.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse viewport/target audits plus narrow layout",
      "evidence": "user-scalable=no, failed target sizing, and 664 px narrow overflow prevent accessible zoom/reflow.",
      "findingIds": [
        "F21"
      ],
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home-summary.json",
        "evidence/home-mobile-layout.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse console-error audit",
      "evidence": "Lighthouse errors-in-console audit scored 1 with no recorded items.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "DOM document probe and image audit",
      "evidence": "Doctype/UTF-8 pass, but 29 images lack dimensions and 12 are oversized.",
      "findingIds": [
        "F22"
      ],
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-platform.json",
        "evidence/home-images.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse best-practices diagnostics",
      "evidence": "Three deprecated API warnings were emitted by the challenge script.",
      "findingIds": [
        "F23"
      ],
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "pass",
      "confidence": "high",
      "method": "Rendered DOM and raw-HTML discoverability comparison",
      "evidence": "Home and video detail have descriptive unique titles and descriptions, all present in raw HTML.",
      "pathIds": [
        "home",
        "video"
      ],
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/video-discoverability.json",
        "evidence/video-metadata.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "Raw/rendered comparison, link DOM, and mobile layout",
      "evidence": "Content is 89% raw-HTML visible and uses href links, but the page forces 1024 px into 360 px and disables user scaling.",
      "findingIds": [
        "F24"
      ],
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/home-mobile-layout.json",
        "evidence/lighthouse-home-summary.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "issues",
      "confidence": "high",
      "method": "Canonical/hreflang DOM probe plus robots and sitemap fetch",
      "evidence": "Canonical is present, but no hreflang appears for localized hosts and /sitemap.xml returns 404 without a robots declaration.",
      "findingIds": [
        "F25"
      ],
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-platform.json",
        "evidence/crawl-http.txt",
        "evidence/robots.txt"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "issues",
      "confidence": "high",
      "method": "Detail-page metadata probe",
      "evidence": "Video detail has Open Graph metadata but no VideoObject or other JSON-LD.",
      "findingIds": [
        "F26"
      ],
      "pathIds": [
        "video"
      ],
      "artifacts": [
        "evidence/video-metadata.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Headers and cookie primitives",
      "evidence": "HTTPS/HSTS pass, but CSP is frame-ancestors only, nosniff/referrer policy are missing, and two cookies lack Secure.",
      "findingIds": [
        "F27"
      ],
      "pathIds": [
        "home"
      ],
      "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 and tracker-origin analysis",
      "evidence": "121 third-party requests transferred 1.65 MB across 16 origins before consent interaction.",
      "findingIds": [
        "F28"
      ],
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trackers.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "issues",
      "confidence": "medium",
      "method": "Lighthouse permission audits and signup-method inspection",
      "evidence": "No permissions prompt on load, but visible auth choices are Google, X, and email with no passkey option.",
      "findingIds": [
        "F29"
      ],
      "pathIds": [
        "signup"
      ],
      "artifacts": [
        "evidence/signup-probe.json",
        "evidence/lighthouse-home.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Security-header primitive",
      "evidence": "HSTS/frame protection pass, but CSP, nosniff, Referrer-Policy, and Permissions-Policy coverage are incomplete.",
      "findingIds": [
        "F30"
      ],
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-headers.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "high",
      "method": "Raw server HTML versus rendered DOM and crawler screenshots",
      "evidence": "Raw HTML retains 89% of home and 78% of video content, including title, H1, and description; neither page is a JS shell.",
      "pathIds": [
        "home",
        "video"
      ],
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/video-discoverability.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "issues",
      "confidence": "medium",
      "method": "Repeated signup interaction and state inspection",
      "evidence": "The email account step did not render and provided no timeout, retry, or error fallback.",
      "findingIds": [
        "F31"
      ],
      "pathIds": [
        "signup"
      ],
      "artifacts": [
        "evidence/signup-email-step.json",
        "evidence/signup-email-step.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "pass",
      "confidence": "medium",
      "method": "Manifest/service-worker registration and source-signal probe",
      "evidence": "Manifest has name, start_url, minimal-ui display and three icons; active service worker source contains cache, fetch-handler, and offline signals.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/pwa-probe.json",
        "evidence/pwa-details.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "confidence": "high",
      "method": "Representative 404 response and screenshot",
      "evidence": "A 404 route renders a clear explanation, support reference, home recovery link, and useful content rather than a blank shell.",
      "pathIds": [
        "not-found"
      ],
      "artifacts": [
        "evidence/not-found.png",
        "evidence/crawl-http.txt"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "pass",
      "confidence": "medium",
      "method": "DOM language and localized-site navigation inspection",
      "evidence": "The audited document declares pt-BR and the language menu exposes localized hosts including RTL languages; no translation clipping was visible on the Portuguese templates.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-platform.json",
        "evidence/home-recon.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "pass",
      "confidence": "medium",
      "method": "Rendered locale-content inspection",
      "evidence": "Portuguese labels and Brazilian decimal punctuation are used consistently on counts and localized content across the sampled pages.",
      "pathIds": [
        "home",
        "video"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/video-desktop.png"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-page recon",
      "evidence": "No dates, scheduled events, recurring intervals, or time-zone-sensitive values were exposed on the representative catalog, detail, signup, or error templates.",
      "reason": "No dates, scheduled events, recurring intervals, or time-zone-sensitive values were exposed on the representative catalog, detail, signup, or error templates."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "medium",
      "method": "Consent and account-dialog visual/DOM review",
      "evidence": "Consent presents Accept and Reject at equal prominence, and signup explicitly states how public personal data will be used; no confirmshaming or forced continuity was observed.",
      "pathIds": [
        "home",
        "signup"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/signup-probe.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-page recon",
      "evidence": "No editable registration form rendered and the only available input was optional search, so there was no required-field validation state to exercise; the broken signup transition is recorded under flow and resilience checks.",
      "reason": "No editable registration form rendered and the only available input was optional search, so there was no required-field validation state to exercise; the broken signup transition is recorded under flow and resilience checks."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "issues",
      "confidence": "medium",
      "method": "Signup-step DOM inspection after CTA activation",
      "evidence": "No account fields rendered and the only input remained search with autocomplete=off.",
      "findingIds": [
        "F32"
      ],
      "pathIds": [
        "signup"
      ],
      "artifacts": [
        "evidence/signup-email-step.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "issues",
      "confidence": "medium",
      "method": "Account-flow walkthrough",
      "evidence": "The email signup route remained on the initial dialog after activation and offered no recovery.",
      "findingIds": [
        "F33"
      ],
      "pathIds": [
        "signup"
      ],
      "artifacts": [
        "evidence/signup-probe.json",
        "evidence/signup-email-step.png"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Image primitive",
      "evidence": "12 images were oversized, 29 lacked dimensions, eight below-fold images were eager, and 16 were classified as legacy format.",
      "findingIds": [
        "F34"
      ],
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-images.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "pass",
      "confidence": "medium",
      "method": "HAR and trace review during idle initial load",
      "evidence": "Only six XHR/fetch requests were observed and no autoplay media element loaded before age verification; wasteful media playback was not observed.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trace-summary.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "HAR and tracker-origin budget review",
      "evidence": "Third parties contributed 1.65 MB and 121 requests before media interaction.",
      "findingIds": [
        "F35"
      ],
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trackers.json"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-page recon",
      "evidence": "No developer intent or agent-facing workflow was declared or visible. This emerging capability is not applicable to the sampled consumer media experience.",
      "reason": "No developer intent or agent-facing workflow was declared or visible. This emerging capability is not applicable to the sampled consumer media experience."
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-page recon",
      "evidence": "No developer intent or user-facing inference task was visible; absence of built-in AI is not penalized for this consumer media surface.",
      "reason": "No developer intent or user-facing inference task was visible; absence of built-in AI is not penalized for this consumer media surface."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "medium",
      "method": "Baseline and post-interaction heap summaries after ten full-page scroll cycles",
      "evidence": "Post snapshot decreased by 522,828 self-size bytes and 5,200 nodes relative to baseline, showing no retained-growth signal in the exercised cycle.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-heap-baseline.json",
        "evidence/home-heap-post.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "medium",
      "method": "Heap-summary totals proportional to a media catalog",
      "evidence": "Baseline was 38.4 MB self size across 719,691 nodes and post-interaction was slightly lower; the footprint remained bounded during the sampled session.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-heap-baseline.json",
        "evidence/home-heap-post.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "Before/after heap-summary comparison",
      "evidence": "Summaries showed no Detached constructor population and total nodes decreased after repeated interaction; no accumulation signal was observed.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-heap-baseline.json",
        "evidence/home-heap-post.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F01",
        "F02",
        "F03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F05",
        "F06"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F07",
        "F08",
        "F09"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F10",
        "F11",
        "F12"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F14",
        "F15",
        "F16",
        "F17"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F18",
        "F19",
        "F20",
        "F21"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F22",
        "F23"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F24",
        "F25",
        "F26"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F27",
        "F28",
        "F29",
        "F30"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F31"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F32",
        "F33"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F34",
        "F35"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "No developer intent or agent-facing workflow was declared or visible. This emerging capability is not applicable to the sampled consumer media experience. No developer intent or user-facing inference task was visible; absence of built-in AI is not penalized for this consumer media surface."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage and popular-video listing: entry template, navigation, consent, preferences, mobile reflow, performance, network, accessibility, security, and memory.",
      "url": "https://br.xhamster.com/",
      "conditions": [
        "desktop 1440x900",
        "mobile 360x800",
        "prefers-color-scheme: dark",
        "prefers-reduced-motion: reduce",
        "prefers-contrast: more",
        "keyboard focus",
        "ten repeated scroll cycles",
        "raw HTML without JavaScript"
      ],
      "result": "issues"
    },
    {
      "id": "category",
      "description": "Amateur category listing: representative filtered/listing archetype and mobile layout.",
      "url": "https://br.xhamster.com/categories/amateur",
      "conditions": [
        "desktop 1440x900",
        "mobile 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "video",
      "description": "Video detail: representative core content/player surface, metadata, crawlability, consent, and age-verification entry.",
      "url": "https://br.xhamster.com/videos/stepmom-motivation-xhNhfkD",
      "conditions": [
        "desktop 1440x900",
        "mobile 360x800",
        "raw HTML without JavaScript"
      ],
      "result": "issues"
    },
    {
      "id": "signup",
      "description": "Signup/account journey: representative modal account flow, disclosure, accessibility, and CTA progression.",
      "url": "https://br.xhamster.com/signup?source=menuSignup",
      "conditions": [
        "desktop 1440x900",
        "axe-core",
        "CTA interaction after consent rejection"
      ],
      "result": "issues"
    },
    {
      "id": "not-found",
      "description": "Synthetic unknown URL: representative HTTP 404 and recovery state.",
      "url": "https://br.xhamster.com/definitely-not-a-real-page-web-uplift",
      "conditions": [
        "desktop 1440x900"
      ],
      "result": "pass"
    }
  ],
  "findings": [
    {
      "id": "F01",
      "severity": "medium",
      "confidence": "high",
      "summary": "Theme is hard-coded instead of declaring platform color-scheme support.",
      "evidence": "Under emulated dark preference the surface is usable, but computed color-scheme remains normal and the same dark palette is imposed rather than being preference-driven.",
      "artifacts": [
        "evidence/preferences-features.json",
        "evidence/home-dark.png"
      ],
      "suggestedFix": "Declare color-scheme and provide preference-driven light and dark tokens with prefers-color-scheme or light-dark().",
      "effort": "small",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "guidanceCategory": "user-experience"
    },
    {
      "id": "F02",
      "severity": "medium",
      "confidence": "high",
      "summary": "Loading shimmer continues under reduced-motion.",
      "evidence": "The reduced-motion probe found eight running shimmer-56cf2 animations, each with a 2000 ms duration, while prefers-reduced-motion: reduce matched.",
      "artifacts": [
        "evidence/preferences-features.json"
      ],
      "suggestedFix": "Disable non-essential shimmer and auto-motion in a prefers-reduced-motion: reduce media query.",
      "effort": "small",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-reduced-motion",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility"
    },
    {
      "id": "F03",
      "severity": "high",
      "confidence": "high",
      "summary": "Controls and text do not remain reliably legible at increased contrast needs.",
      "evidence": "The preference probe confirmed prefers-contrast: more, while axe still reported 48 color-contrast failures on the home template.",
      "artifacts": [
        "evidence/preferences-features.json",
        "evidence/axe-home.json"
      ],
      "suggestedFix": "Introduce high-contrast tokens, test forced-colors, and ensure essential text and controls meet WCAG contrast.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-contrast",
      "guidanceId": "adapt-scrollbar-to-contrast-preferences",
      "guidanceCategory": "accessibility"
    },
    {
      "id": "F04",
      "severity": "low",
      "confidence": "medium",
      "summary": "Navigation changes are abrupt.",
      "evidence": "Feature inspection found no view-transition CSS on this multi-page site, despite route-heavy navigation across listings, details, and signup.",
      "artifacts": [
        "evidence/preferences-features.json",
        "evidence/home-recon.json"
      ],
      "suggestedFix": "Add progressive cross-document view transitions for major template changes and preserve reduced-motion fallbacks.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "cross-document-transitions",
      "guidanceCategory": "user-experience"
    },
    {
      "id": "F05",
      "severity": "medium",
      "confidence": "medium",
      "summary": "Dropdown navigation does not use anchored positioning.",
      "evidence": "CSS feature inspection found no anchor-name or position-anchor use while the header exposes multiple dropdown menus.",
      "artifacts": [
        "evidence/preferences-features.json",
        "evidence/home-desktop.png"
      ],
      "suggestedFix": "Use CSS anchor positioning with position-try fallbacks for header dropdowns and edge-aware transient UI.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "anchored-positioning",
      "guidanceId": "position-aware-tooltips",
      "guidanceCategory": "user-experience"
    },
    {
      "id": "F06",
      "severity": "low",
      "confidence": "medium",
      "summary": "Navigation does not visibly guide attention after movement.",
      "evidence": "No view-transition or scroll-marker/highlight support was detected, and the route-heavy interface relies on abrupt full-page changes.",
      "artifacts": [
        "evidence/preferences-features.json",
        "evidence/home-recon.json"
      ],
      "suggestedFix": "Use directional transitions and explicit focus/highlight cues after route and in-page navigation.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "directs-attention",
      "guidanceId": "directional-navigation-transitions",
      "guidanceCategory": "user-experience"
    },
    {
      "id": "F07",
      "severity": "high",
      "confidence": "high",
      "summary": "A first-load cookie dialog obscures the primary content.",
      "evidence": "Desktop screenshots on the home, category, video, and 404 templates show a large centered consent overlay covering the main task.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/category-desktop.png",
        "evidence/video-desktop.png"
      ],
      "suggestedFix": "Move essential consent controls to a less obstructive, immediately dismissible surface while keeping Accept and Reject equally prominent.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "no-intrusive-interruptions",
      "guidanceId": "light-dismiss-a-dialog",
      "guidanceCategory": "user-experience"
    },
    {
      "id": "F08",
      "severity": "medium",
      "confidence": "high",
      "summary": "Modal experiences use custom div dialogs.",
      "evidence": "Signup DOM inspection found a DIV with role=dialog rather than a native dialog; the cookie overlay likewise appears as custom UI.",
      "artifacts": [
        "evidence/signup-dom.json",
        "evidence/signup-probe.json"
      ],
      "suggestedFix": "Use dialog for modal flows, with native focus management and close behavior, and popover for transient non-modal UI.",
      "effort": "medium",
      "pathId": "signup",
      "url": "https://br.xhamster.com/signup?source=menuSignup",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "guidanceCategory": "user-experience"
    },
    {
      "id": "F09",
      "severity": "medium",
      "confidence": "high",
      "summary": "Promotional chrome crowds the first viewport.",
      "evidence": "The desktop home first view contains two full-width promotional/verification banners, two navigation rows, a persistent sidebar, and a modal over the content grid.",
      "artifacts": [
        "evidence/home-desktop.png"
      ],
      "suggestedFix": "Collapse secondary promotions, reserve the first viewport for the core catalog, and make verification messaging compact after acknowledgement.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "reduced-chrome",
      "guidanceId": "overflow-clipping-control",
      "guidanceCategory": "user-experience"
    },
    {
      "id": "F10",
      "severity": "critical",
      "confidence": "high",
      "summary": "Desktop layout is forced into a 360 px viewport.",
      "evidence": "Layout captures on home, category, and video report scrollWidth 1024 against visualViewportWidth 360, producing 664 px horizontal overflow.",
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/category-mobile-layout.json",
        "evidence/video-mobile-layout.json",
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Remove fixed 1024 px layout constraints, honor the device viewport, and use intrinsic fluid grids that reflow at narrow widths.",
      "effort": "large",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "responsive-no-horizontal-scroll",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "css"
    },
    {
      "id": "F11",
      "severity": "medium",
      "confidence": "high",
      "summary": "Reusable components do not adapt at container level.",
      "evidence": "CSS inspection found no container queries, while the sidebar and card grid retain desktop geometry in the narrow capture.",
      "artifacts": [
        "evidence/preferences-features.json",
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Add container-type to reusable regions and use size-aware container queries for cards, sidebars, and controls.",
      "effort": "large",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "guidanceCategory": "css"
    },
    {
      "id": "F12",
      "severity": "high",
      "confidence": "high",
      "summary": "Keyboard focus and touch-target sizing are inadequate.",
      "evidence": "Programmatic focus on the first visible link computed outline none; Lighthouse also failed target-size and the probe found many 16x16 and 20 px-high links.",
      "artifacts": [
        "evidence/home-platform.json",
        "evidence/lighthouse-home-summary.json"
      ],
      "suggestedFix": "Provide a visible :focus-visible treatment and expand targets or spacing to at least platform accessibility guidance.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility"
    },
    {
      "id": "F13",
      "severity": "high",
      "confidence": "medium",
      "summary": "The signup CTA does not advance to the email step.",
      "evidence": "Two CDP interaction attempts clicked Cadastre-se com e-mail after load and after rejecting cookies; the dialog, input set, and screenshot remained unchanged with only the search input present.",
      "artifacts": [
        "evidence/signup-email-step.json",
        "evidence/signup-email-step.png"
      ],
      "suggestedFix": "Wire the CTA to a reliable declarative action, expose a loading/error state, and verify the complete registration path with a real browser flow.",
      "effort": "medium",
      "pathId": "signup",
      "url": "https://br.xhamster.com/signup?source=menuSignup",
      "principleId": "support-core-task-success",
      "principleCheckId": "primary-flow-completion",
      "guidanceId": "custom-button-actions",
      "guidanceCategory": "forms"
    },
    {
      "id": "F14",
      "severity": "high",
      "confidence": "high",
      "summary": "Mobile LCP misses the good Core Web Vitals range.",
      "evidence": "Lighthouse measured LCP 4.5 s and FCP 2.8 s on the home page; the performance score was 0.79.",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/lighthouse-home-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "suggestedFix": "Prioritize the LCP element, reduce critical dependencies, and defer non-essential promotion and consent code.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "guidanceCategory": "performance"
    },
    {
      "id": "F15",
      "severity": "medium",
      "confidence": "high",
      "summary": "Load scripting creates long main-thread tasks.",
      "evidence": "The trace recorded two long tasks, the longest 168.71 ms, with 135.17 ms total blocking time; the mobile layout observer saw a 183 ms task.",
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/home-mobile-layout.json"
      ],
      "suggestedFix": "Break up long initialization tasks, defer non-critical work, and schedule by priority.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-main-thread",
      "guidanceId": "break-up-long-tasks",
      "guidanceCategory": "performance"
    },
    {
      "id": "F16",
      "severity": "medium",
      "confidence": "high",
      "summary": "Initial delivery is request-heavy.",
      "evidence": "The HAR records 150 requests and 1.78 MB transferred, including 66 scripts and three high-priority parser-inserted stylesheets; DOM confirmation shows scripts are deferred but styles remain critical.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/resource-dom-confirmation.json",
        "evidence/home.har"
      ],
      "suggestedFix": "Reduce critical stylesheet count, consolidate dependency chains, and load secondary feature bundles only on demand.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-script-priority",
      "guidanceCategory": "performance"
    },
    {
      "id": "F17",
      "severity": "low",
      "confidence": "high",
      "summary": "The mobile page ships avoidable unused code.",
      "evidence": "Lighthouse estimated 56 KiB unused CSS and 26 KiB unused JavaScript on the initial page.",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/lighthouse-home-summary.json"
      ],
      "suggestedFix": "Split template-specific CSS and load optional feature JavaScript only when the corresponding surface is used.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "guidanceCategory": "performance"
    },
    {
      "id": "F18",
      "severity": "high",
      "confidence": "high",
      "summary": "Interactive semantics are invalid or unnamed.",
      "evidence": "axe found a critical unnamed button, a nested interactive control, prohibited ARIA, and focusable content inside aria-hidden on the home page.",
      "artifacts": [
        "evidence/axe-home.json",
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Give every control an accessible name, remove nested interactivity, and align ARIA with native element roles.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility"
    },
    {
      "id": "F19",
      "severity": "high",
      "confidence": "high",
      "summary": "Text contrast fails widely.",
      "evidence": "axe reported 48 color-contrast nodes on home and six on signup; Lighthouse failed its color-contrast audit.",
      "artifacts": [
        "evidence/axe-home.json",
        "evidence/axe-signup.json"
      ],
      "suggestedFix": "Adjust foreground and surface tokens to meet WCAG AA in every card, navigation, consent, and footer state.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility"
    },
    {
      "id": "F20",
      "severity": "high",
      "confidence": "high",
      "summary": "Landmarks and focus behavior are not robust.",
      "evidence": "axe found non-unique landmarks, complementary landmarks nested below top level, uncontained regions, and aria-hidden focusable content; focus inspection showed no visible outline.",
      "artifacts": [
        "evidence/axe-home.json",
        "evidence/home-platform.json"
      ],
      "suggestedFix": "Correct landmark hierarchy and uniqueness, remove hidden focus targets, and maintain a clear visible focus order.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "move-dom-element-without-losing-state",
      "guidanceCategory": "accessibility"
    },
    {
      "id": "F21",
      "severity": "high",
      "confidence": "high",
      "summary": "Zoom, reflow, and targets fail the mobile accessibility baseline.",
      "evidence": "Lighthouse reports user-scalable=no, failed target sizing, and the 360 px evidence shows 664 px overflow.",
      "artifacts": [
        "evidence/lighthouse-home-summary.json",
        "evidence/home-mobile-layout.json",
        "evidence/home-platform.json"
      ],
      "suggestedFix": "Allow user scaling, reflow at 320 to 400 CSS px, and enlarge or separate small controls.",
      "effort": "large",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "accessibility"
    },
    {
      "id": "F22",
      "severity": "medium",
      "confidence": "high",
      "summary": "Image sizing and asset structure are inconsistent.",
      "evidence": "The image audit found 29 of 36 images without dimensions, 12 oversized images, and 16 legacy-format results, despite a valid doctype and UTF-8 charset.",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home-platform.json"
      ],
      "suggestedFix": "Set intrinsic width/height or aspect-ratio, serve right-sized responsive sources, and prefer modern formats consistently.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "guidanceCategory": "html"
    },
    {
      "id": "F23",
      "severity": "low",
      "confidence": "high",
      "summary": "Deprecated browser APIs are still exercised.",
      "evidence": "Lighthouse found three deprecation warnings in the Cloudflare challenge script, including Shared Storage, persistent StorageType, and Protected Audience API use.",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/lighthouse-home-summary.json"
      ],
      "suggestedFix": "Update or configure the third-party challenge dependency to stop invoking deprecated APIs.",
      "effort": "small",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "follow-best-practices",
      "principleCheckId": "browser-platform-hygiene",
      "guidanceId": "security",
      "guidanceCategory": "security"
    },
    {
      "id": "F24",
      "severity": "high",
      "confidence": "high",
      "summary": "The public pages are not mobile-friendly despite crawlable HTML.",
      "evidence": "Links and metadata are server-rendered, but the 360 px layout forces a 1024 px page and Lighthouse flags disabled user scaling.",
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/home-mobile-layout.json",
        "evidence/lighthouse-home-summary.json"
      ],
      "suggestedFix": "Keep real href links, but replace the desktop-width layout and permit scaling so indexed pages are genuinely mobile-friendly.",
      "effort": "large",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "be-discoverable",
      "principleCheckId": "crawlable-and-mobile-friendly",
      "guidanceId": "html",
      "guidanceCategory": "html"
    },
    {
      "id": "F25",
      "severity": "medium",
      "confidence": "high",
      "summary": "Localized indexing signals are incomplete.",
      "evidence": "Canonical URLs are present, but no hreflang links were found despite dozens of language/locale subdomains, and /sitemap.xml returned HTTP 404 with no sitemap declaration in robots.txt.",
      "artifacts": [
        "evidence/home-platform.json",
        "evidence/home-recon.json",
        "evidence/crawl-http.txt",
        "evidence/robots.txt"
      ],
      "suggestedFix": "Publish reciprocal hreflang links and a sitemap index, then declare it in robots.txt.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "be-discoverable",
      "principleCheckId": "canonical-and-indexing-signals",
      "guidanceId": "html",
      "guidanceCategory": "html"
    },
    {
      "id": "F26",
      "severity": "medium",
      "confidence": "high",
      "summary": "The video detail lacks structured entity data.",
      "evidence": "The detail page has useful Open Graph tags but zero JSON-LD blocks for the visible video entity.",
      "artifacts": [
        "evidence/video-metadata.json"
      ],
      "suggestedFix": "Add accurate VideoObject JSON-LD that matches the title, thumbnail, duration, upload data, and canonical URL.",
      "effort": "small",
      "pathId": "video",
      "url": "https://br.xhamster.com/videos/stepmom-motivation-xhNhfkD",
      "principleId": "be-discoverable",
      "principleCheckId": "structured-and-shareable-metadata",
      "guidanceId": "html",
      "guidanceCategory": "html"
    },
    {
      "id": "F27",
      "severity": "high",
      "confidence": "high",
      "summary": "Transport is HTTPS, but CSP and cookie protections are incomplete.",
      "evidence": "Headers show CSP limited to frame-ancestors, missing nosniff and Referrer-Policy; cookie audit found settings and x_csrf_token without Secure.",
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json"
      ],
      "suggestedFix": "Deploy an allowlist CSP, add nosniff and a restrictive Referrer-Policy, and mark all HTTPS cookies Secure with appropriate SameSite and HttpOnly.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "security"
    },
    {
      "id": "F28",
      "severity": "high",
      "confidence": "high",
      "summary": "The initial page has a broad third-party data surface.",
      "evidence": "HAR records 121 third-party requests and 1.65 MB transferred across 16 third-party origins, including collector.xhamster.com and an ad origin, before consent interaction.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trackers.json",
        "evidence/home.har"
      ],
      "suggestedFix": "Gate optional analytics and advertising until consent, minimize identifiers, and batch or remove non-essential collection.",
      "effort": "large",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "guidanceCategory": "privacy"
    },
    {
      "id": "F29",
      "severity": "medium",
      "confidence": "medium",
      "summary": "Authentication offers federated and email choices but no phishing-resistant option.",
      "evidence": "No notification or geolocation prompt occurs on load, but the signup dialog exposes Google, X, and email only; no passkey/WebAuthn path is visible.",
      "artifacts": [
        "evidence/signup-probe.json",
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Offer passkey registration and sign-in alongside existing methods and request browser permissions only after a user action.",
      "effort": "medium",
      "pathId": "signup",
      "url": "https://br.xhamster.com/signup?source=menuSignup",
      "principleId": "be-private-and-secure",
      "principleCheckId": "in-context-permissions-and-modern-auth",
      "guidanceId": "passkeys",
      "guidanceCategory": "security"
    },
    {
      "id": "F30",
      "severity": "high",
      "confidence": "high",
      "summary": "Browser-enforced defenses are too narrow.",
      "evidence": "HSTS and clickjacking controls are present, but CSP only sets frame-ancestors, Referrer-Policy and nosniff are absent, and Permissions-Policy only configures client hints.",
      "artifacts": [
        "evidence/home-headers.json"
      ],
      "suggestedFix": "Expand CSP, add nosniff and Referrer-Policy, and explicitly deny unnecessary powerful features in Permissions-Policy.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "security"
    },
    {
      "id": "F31",
      "severity": "high",
      "confidence": "medium",
      "summary": "The signup runtime does not recover when its next step fails to appear.",
      "evidence": "After the email CTA was activated, the dialog remained unchanged with no loading, error, or fallback state.",
      "artifacts": [
        "evidence/signup-email-step.json",
        "evidence/signup-email-step.png"
      ],
      "suggestedFix": "Load the email step conditionally with timeout/error handling and provide a retry or direct fallback link.",
      "effort": "medium",
      "pathId": "signup",
      "url": "https://br.xhamster.com/signup?source=menuSignup",
      "principleId": "be-resilient",
      "principleCheckId": "resilient-runtime-behaviour",
      "guidanceId": "conditional-async-dependencies",
      "guidanceCategory": "user-experience"
    },
    {
      "id": "F32",
      "severity": "medium",
      "confidence": "medium",
      "summary": "Signup input assistance is unavailable because the email step never renders.",
      "evidence": "After activating the email signup CTA, the only input in the document remained the site search with autocomplete=off; no sign-up field or autocomplete token appeared.",
      "artifacts": [
        "evidence/signup-email-step.json"
      ],
      "suggestedFix": "Render labelled email/account fields reliably and use correct email, username, and new-password autocomplete tokens.",
      "effort": "medium",
      "pathId": "signup",
      "url": "https://br.xhamster.com/signup?source=menuSignup",
      "principleId": "be-trustworthy",
      "principleCheckId": "trustworthy-input-assistance",
      "guidanceId": "autofill-sign-up-form",
      "guidanceCategory": "forms"
    },
    {
      "id": "F33",
      "severity": "high",
      "confidence": "medium",
      "summary": "The account-creation flow is not completable in the audited state.",
      "evidence": "The signup dialog clearly explains public-data use, but its email path did not progress in repeated CDP interactions and showed no recovery message.",
      "artifacts": [
        "evidence/signup-probe.json",
        "evidence/signup-email-step.png"
      ],
      "suggestedFix": "Repair and monitor the account flow end to end, preserve the clear disclosure, and add an actionable failure state.",
      "effort": "medium",
      "pathId": "signup",
      "url": "https://br.xhamster.com/signup?source=menuSignup",
      "principleId": "be-trustworthy",
      "principleCheckId": "safe-commercial-and-account-flows",
      "guidanceId": "autofill-sign-up-form",
      "guidanceCategory": "forms"
    },
    {
      "id": "F34",
      "severity": "medium",
      "confidence": "high",
      "summary": "Image delivery wastes bytes and misses intrinsic sizing.",
      "evidence": "The image audit found 12 oversized images, 29 without dimensions, eight below-fold images not lazy-loaded, and 16 legacy-format results.",
      "artifacts": [
        "evidence/home-images.json"
      ],
      "suggestedFix": "Serve responsive AVIF/WebP sources sized to display needs, lazy-load below-fold media, and reserve dimensions.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "deliver-optimized-decorative-images",
      "guidanceCategory": "performance"
    },
    {
      "id": "F35",
      "severity": "high",
      "confidence": "high",
      "summary": "Third-party cost dominates the initial page.",
      "evidence": "Third-party requests account for 1.65 MB of the 1.78 MB initial transfer and 121 of 150 requests before the user starts media.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trackers.json"
      ],
      "suggestedFix": "Delay optional third parties and media until consent or interaction, and set a template-specific third-party budget.",
      "effort": "large",
      "pathId": "home",
      "url": "https://br.xhamster.com/",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "deprioritize-background-fetches",
      "guidanceCategory": "performance"
    }
  ],
  "taskList": [
    {
      "id": "T01",
      "title": "Rebuild responsive reflow and zoom behavior",
      "priority": 1,
      "findingIds": [
        "F10",
        "F11",
        "F21",
        "F24"
      ],
      "guidanceId": "fluid-scaling",
      "status": "open"
    },
    {
      "id": "T02",
      "title": "Repair and instrument the signup journey",
      "priority": 2,
      "findingIds": [
        "F13",
        "F31",
        "F32",
        "F33"
      ],
      "guidanceId": "custom-button-actions",
      "status": "open"
    },
    {
      "id": "T03",
      "title": "Fix accessible names, landmarks, focus, contrast, and targets",
      "priority": 3,
      "findingIds": [
        "F03",
        "F12",
        "F18",
        "F19",
        "F20",
        "F21"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T04",
      "title": "Harden CSP, headers, cookies, and third-party consent gating",
      "priority": 4,
      "findingIds": [
        "F27",
        "F28",
        "F30"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T05",
      "title": "Reduce initial consent and promotional obstruction",
      "priority": 5,
      "findingIds": [
        "F07",
        "F08",
        "F09"
      ],
      "guidanceId": "light-dismiss-a-dialog",
      "status": "open"
    },
    {
      "id": "T06",
      "title": "Improve LCP and split critical/unused assets",
      "priority": 6,
      "findingIds": [
        "F14",
        "F15",
        "F16",
        "F17"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T07",
      "title": "Optimize responsive images and third-party media cost",
      "priority": 7,
      "findingIds": [
        "F22",
        "F34",
        "F35"
      ],
      "guidanceId": "deliver-optimized-decorative-images",
      "status": "open"
    },
    {
      "id": "T08",
      "title": "Honor system motion, contrast, and theme preferences",
      "priority": 8,
      "findingIds": [
        "F01",
        "F02",
        "F03"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T09",
      "title": "Complete localized search and rich video metadata",
      "priority": 9,
      "findingIds": [
        "F25",
        "F26"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T10",
      "title": "Modernize navigation transitions and positioning",
      "priority": 10,
      "findingIds": [
        "F04",
        "F05",
        "F06"
      ],
      "guidanceId": "cross-document-transitions",
      "status": "open"
    },
    {
      "id": "T11",
      "title": "Add passkeys to account authentication",
      "priority": 11,
      "findingIds": [
        "F29"
      ],
      "guidanceId": "passkeys",
      "status": "open"
    },
    {
      "id": "T12",
      "title": "Remove deprecated third-party API use",
      "priority": 12,
      "findingIds": [
        "F23"
      ],
      "guidanceId": "security",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 5,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-27T02-24-56-533Z"
}
