{
  "url": "https://fr.xvideos.com",
  "auditedAt": "2026-07-18T21:43:22.413Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage-complete representative audit. Not covered: authenticated account management, payment completion, uploads, live chat/cams, and every taxonomy locale because they require credentials, commitments, or duplicate sampled templates.",
  "page": {
    "appType": "mpa",
    "framework": "server-rendered multi-page site with client enhancements",
    "notes": "Public adult-media site with an age-assurance gate, media listings, detail pages, search, and account forms."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "evaluate-probe",
    "layout-metrics",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "lighthouse",
    "heap-summary",
    "robots/sitemap fetch"
  ],
  "guidanceConsulted": [
    "accessibility",
    "interactive-content-reveal",
    "dark-mode",
    "animate-to-from-top-layer",
    "navigation-drawer",
    "css",
    "optimize-preload-priority",
    "optimize-image-priority",
    "efficient-background-processing",
    "autofill-sign-up-form",
    "autofill-address-form",
    "autofill-sign-in-form",
    "coordinate-global-events",
    "support-global-calendar-systems",
    "capture-location-agnostic-data",
    "deliver-optimized-decorative-images",
    "performance",
    "agentic-forms",
    "agentic-javascript-tools",
    "webmcp",
    "manage-recurring-intervals",
    "persistent-top-layer-ui",
    "stack-drill-down",
    "privacy",
    "security",
    "forms",
    "cross-document-transitions",
    "size-aware-styling",
    "validate-input-after-interaction",
    "visually-stable-font-fallbacks",
    "identify-heavy-scripts",
    "defer-rendering-heavy-content",
    "branded-select-styling"
  ],
  "artifacts": [
    {
      "type": "screenshot",
      "path": "evidence/404-mobile.png",
      "caption": "Audit evidence: 404-mobile.png"
    },
    {
      "type": "other",
      "path": "evidence/account-form.json",
      "caption": "Audit evidence: account-form.json",
      "findingIds": [
        "F19",
        "F22"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/account-mobile.png",
      "caption": "Audit evidence: account-mobile.png",
      "findingIds": [
        "F11"
      ]
    },
    {
      "type": "other",
      "path": "evidence/account-seo.json",
      "caption": "Audit evidence: account-seo.json"
    },
    {
      "type": "other",
      "path": "evidence/category-metadata.json",
      "caption": "Audit evidence: category-metadata.json",
      "findingIds": [
        "F12",
        "F17"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/category.png",
      "caption": "Audit evidence: category.png"
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "Audit evidence: cookies.json",
      "findingIds": [
        "F18"
      ]
    },
    {
      "type": "other",
      "path": "evidence/detail-metadata.json",
      "caption": "Audit evidence: detail-metadata.json",
      "findingIds": [
        "F17"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/detail.png",
      "caption": "Audit evidence: detail.png"
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-crawler.png",
      "caption": "Audit evidence: discoverability-crawler.png"
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-rendered.png",
      "caption": "Audit evidence: discoverability-rendered.png"
    },
    {
      "type": "discoverability",
      "path": "evidence/discoverability.json",
      "caption": "Audit evidence: discoverability.json"
    },
    {
      "type": "other",
      "path": "evidence/entry-interaction.json",
      "caption": "Audit evidence: entry-interaction.json"
    },
    {
      "type": "other",
      "path": "evidence/guidance.md",
      "caption": "Audit evidence: guidance.md"
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "Audit evidence: headers.json",
      "findingIds": [
        "F18",
        "F20"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.json",
      "caption": "Audit evidence: heap-baseline.json",
      "findingIds": [
        "F26"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-post.json",
      "caption": "Audit evidence: heap-post.json"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "Audit evidence: home-dark.png",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "Audit evidence: home-desktop.png",
      "findingIds": [
        "F03",
        "F05"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "Audit evidence: home-dom.json",
      "findingIds": [
        "F04"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/home-mobile-layout.json",
      "caption": "Audit evidence: home-mobile-layout.json",
      "findingIds": [
        "F07"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "Audit evidence: home-mobile.png",
      "findingIds": [
        "F04",
        "F05"
      ]
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "Audit evidence: home-summary.json",
      "findingIds": [
        "F08",
        "F09",
        "F23",
        "F24",
        "F25"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "Audit evidence: home-trace-summary.json",
      "findingIds": [
        "F06"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "Audit evidence: home-trace.json"
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "Audit evidence: home.har",
      "findingIds": [
        "F08",
        "F25"
      ]
    },
    {
      "type": "other",
      "path": "evidence/i18n-auth.json",
      "caption": "Audit evidence: i18n-auth.json",
      "findingIds": [
        "F19",
        "F21"
      ]
    },
    {
      "type": "other",
      "path": "evidence/images.json",
      "caption": "Audit evidence: images.json",
      "findingIds": [
        "F07",
        "F10",
        "F15",
        "F23",
        "F24"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-account.json",
      "caption": "Audit evidence: lighthouse-account.json",
      "findingIds": [
        "F06",
        "F08",
        "F09",
        "F10",
        "F11",
        "F12",
        "F13",
        "F14",
        "F16"
      ]
    },
    {
      "type": "other",
      "path": "evidence/platform-semantics.json",
      "caption": "Audit evidence: platform-semantics.json",
      "findingIds": [
        "F02",
        "F03",
        "F05",
        "F10",
        "F12"
      ]
    },
    {
      "type": "other",
      "path": "evidence/preferences-focus.json",
      "caption": "Audit evidence: preferences-focus.json",
      "findingIds": [
        "F01",
        "F04"
      ]
    },
    {
      "type": "other",
      "path": "evidence/recon-after-entry.json",
      "caption": "Audit evidence: recon-after-entry.json"
    },
    {
      "type": "other",
      "path": "evidence/recon.json",
      "caption": "Audit evidence: recon.json"
    },
    {
      "type": "other",
      "path": "evidence/robots-headers.txt",
      "caption": "Audit evidence: robots-headers.txt"
    },
    {
      "type": "other",
      "path": "evidence/robots.txt",
      "caption": "Audit evidence: robots.txt"
    },
    {
      "type": "screenshot",
      "path": "evidence/search-mobile.png",
      "caption": "Audit evidence: search-mobile.png"
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "Audit evidence: secrets.json"
    },
    {
      "type": "other",
      "path": "evidence/sitemap-headers.txt",
      "caption": "Audit evidence: sitemap-headers.txt"
    },
    {
      "type": "other",
      "path": "evidence/sitemap.xml",
      "caption": "Audit evidence: sitemap.xml",
      "findingIds": [
        "F17"
      ]
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "Audit evidence: trackers.json"
    }
  ],
  "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": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "The dark-emulated screenshot is visually identical to the light capture, and the computed root colorScheme is “normal”.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/preferences-focus.json"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "No active animations were present under reduced-motion emulation, so no non-essential motion persisted.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/preferences-focus.json"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "High-contrast emulation retained visible text and a 5px browser focus outline.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/preferences-focus.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "Platform probe found no view-transition CSS across the rendered stylesheet set.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-semantics.json"
      ],
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "No scroll-linked animation or animation-timeline behavior was present, so no main-thread scroll animation anti-pattern was observed.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-semantics.json",
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "The sampled mobile browsing surfaces use native scrolling and controls without evidence of pointer-handler gestures that fight the platform.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-semantics.json",
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "CSS probe found no modern scroll-state or scroll-timeline treatment; the navigation remains fixed in the captured listing state.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-semantics.json",
        "evidence/home-desktop.png"
      ],
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "No tooltip/popover requiring edge anchoring appeared in the sampled primary paths; visible navigation and the centered gate remained attached and usable.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/platform-semantics.json"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "Navigation labels, the selected audience option and primary entry/account actions are visually distinct in captured states.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/platform-semantics.json"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "The only load-time interruption is the contextually necessary age-assurance gate; it clearly explains access and offers a direct continue action.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-dom.json"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "DOM probe identifies #disclaimer_background as a DIV with no dialog role or aria-modal, despite blocking the page.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/preferences-focus.json",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "Browse pages devote most available space to the content grid and keep global chrome compact on desktop and mobile.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-dom.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "At 360px the layout reported 0px horizontal overflow with a viewport meta tag present.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/home-mobile.png",
        "evidence/preferences-focus.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "high",
      "method": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "The CSS probe found no @container rules, although cards and account panels are reused across wide and narrow layouts.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-semantics.json",
        "evidence/home-mobile.png",
        "evidence/home-desktop.png"
      ],
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "A programmatically focused link exposed a visible 5px auto outline, and mobile controls are presented with touch-sized surfaces.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/home-mobile.png",
        "evidence/preferences-focus.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "Homepage, category and account captures clearly communicate browse, search, sign-in and create-account actions.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/account-mobile.png",
        "evidence/404-mobile.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "The public browse-to-detail route loaded successfully and the account page exposes labelled sign-in and sign-up forms without a dead end.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/account-mobile.png",
        "evidence/404-mobile.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "The unknown-route capture provides a clear French not-found message while preserving navigation and age-entry context.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/account-mobile.png",
        "evidence/404-mobile.png"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "Homepage trace measured LCP 1.06s with no TBT, but Lighthouse on the account path measured LCP 4.8s, FCP 3.5s and TTI 8.5s.",
      "pathIds": [
        "account"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/lighthouse-account.json"
      ],
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "issues",
      "confidence": "high",
      "method": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "The layout observer measured CLS 0.172 across three shifts, above the 0.1 good threshold; 99 of 100 images lack explicit dimensions.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/images.json"
      ],
      "findingIds": [
        "F07"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "Homepage trace recorded zero long tasks and 0ms total blocking time.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/home-mobile-layout.json",
        "evidence/home-summary.json",
        "evidence/lighthouse-account.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "HAR recorded 120 requests and 2.82 MB, including parser-inserted CSS/scripts; Lighthouse estimated 2.55s render-blocking savings and flagged inefficient cache lifetimes.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home.har",
        "evidence/lighthouse-account.json"
      ],
      "findingIds": [
        "F08"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "Lighthouse estimated 246 KiB unused CSS and 406 KiB unused JavaScript; the largest script transferred 517 KB.",
      "pathIds": [
        "account"
      ],
      "artifacts": [
        "evidence/lighthouse-account.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "The DOM probe counted 103 unnamed buttons and 4 empty links; the image audit found 98 images without alt text.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-semantics.json",
        "evidence/images.json",
        "evidence/lighthouse-account.json"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "Lighthouse accessibility reported a failing color-contrast audit and an accessibility score of 0.80.",
      "pathIds": [
        "account"
      ],
      "artifacts": [
        "evidence/lighthouse-account.json",
        "evidence/account-mobile.png"
      ],
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "Homepage and category probes found no H1; Lighthouse reports no main landmark on the account document.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-semantics.json",
        "evidence/category-metadata.json",
        "evidence/lighthouse-account.json"
      ],
      "findingIds": [
        "F12"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "Desktop and mobile captures show readable type, wrapping and spacing without clipping in the primary content and account surfaces.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-account.json",
        "evidence/platform-semantics.json",
        "evidence/images.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "Lighthouse reports user-scalable=no or maximum-scale below 5 on the account page.",
      "pathIds": [
        "account"
      ],
      "artifacts": [
        "evidence/lighthouse-account.json"
      ],
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "issues",
      "confidence": "high",
      "method": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "Lighthouse failed the errors-in-console audit.",
      "pathIds": [
        "account"
      ],
      "artifacts": [
        "evidence/lighthouse-account.json"
      ],
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "The image audit found 99/100 missing dimensions, 100/100 without srcset and 99 legacy-format images.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json"
      ],
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "issues",
      "confidence": "high",
      "method": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "Lighthouse found one deprecated-API warning and four BFCache failure reasons.",
      "pathIds": [
        "account"
      ],
      "artifacts": [
        "evidence/lighthouse-account.json"
      ],
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "Homepage and category pages provide descriptive titles and meta descriptions; the account route is intentionally excluded by robots.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/recon.json",
        "evidence/category-metadata.json",
        "evidence/detail-metadata.json",
        "evidence/robots.txt",
        "evidence/sitemap.xml"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "Discoverability found 98% raw-HTML content coverage; real href links, viewport metadata and a permissive public robots policy are present.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/recon.json",
        "evidence/category-metadata.json",
        "evidence/detail-metadata.json",
        "evidence/robots.txt",
        "evidence/sitemap.xml"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "issues",
      "confidence": "high",
      "method": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "The category metadata probe found no canonical or hreflang links; the detail probe also returned no canonical despite a redirected localized URL.",
      "pathIds": [
        "category"
      ],
      "artifacts": [
        "evidence/category-metadata.json",
        "evidence/detail-metadata.json",
        "evidence/sitemap.xml"
      ],
      "findingIds": [
        "F17"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "The detail page provides VideoObject JSON-LD and Open Graph title/type/url/duration/image metadata matching visible content.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/recon.json",
        "evidence/category-metadata.json",
        "evidence/detail-metadata.json",
        "evidence/robots.txt",
        "evidence/sitemap.xml"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "Headers evidence shows no HSTS or nosniff, CSP permits unsafe-inline and unsafe-eval, and the session cookie uses SameSite=None.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "F18"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "Tracker capture found no known tracker domains and all named third-party origins are site CDN origins; no client-side secrets were found.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json",
        "evidence/trackers.json",
        "evidence/secrets.json",
        "evidence/account-form.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "issues",
      "confidence": "high",
      "method": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "The account page exposes password-only sign-in, no passkey action, and email/current-password fields have empty autocomplete values.",
      "pathIds": [
        "account"
      ],
      "artifacts": [
        "evidence/account-form.json",
        "evidence/i18n-auth.json"
      ],
      "findingIds": [
        "F19"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "Headers evidence shows no Permissions-Policy, no HSTS and a permissive CSP; Referrer-Policy remains no-referrer-when-downgrade.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json"
      ],
      "findingIds": [
        "F20"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "Raw HTML contains 98% of rendered content and is not a JavaScript shell.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/404-mobile.png",
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "Navigation, forms and the centered age gate remain visible within desktop and mobile viewports in sampled states.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/404-mobile.png",
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-route recon.",
      "evidence": "This media service is intrinsically online; offline playback/installability is not necessary for the audited public browsing journey.",
      "reason": "This media service is intrinsically online; offline playback/installability is not necessary for the audited public browsing journey."
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "An unknown route renders an explicit French not-found state with retained navigation rather than a blank shell.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/404-mobile.png",
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "issues",
      "confidence": "high",
      "method": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "The French document has lang=fr, but the style probe found zero logical-property uses and 21 physical left/right declarations.",
      "pathIds": [
        "account"
      ],
      "artifacts": [
        "evidence/i18n-auth.json"
      ],
      "findingIds": [
        "F21"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-route recon.",
      "evidence": "No user-visible dates, currencies, durations or locale-sensitive numeric data appeared on the representative pages.",
      "reason": "No user-visible dates, currencies, durations or locale-sensitive numeric data appeared on the representative pages."
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-route recon.",
      "evidence": "No event scheduling or time-zone-sensitive workflow appeared in the audited routes.",
      "reason": "No event scheduling or time-zone-sensitive workflow appeared in the audited routes."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "The sampled age, account and upsell surfaces identify their purpose and commitments without preselected forced-continuity evidence.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/account-mobile.png",
        "evidence/account-form.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "Required account fields use native required constraints and visible labels, providing browser-supported invalid-state recovery.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/account-mobile.png",
        "evidence/account-form.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "issues",
      "confidence": "high",
      "method": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "Rendered form evidence shows empty autocomplete on email/current-password and several sign-up fields; only new-password is identified.",
      "pathIds": [
        "account"
      ],
      "artifacts": [
        "evidence/account-form.json"
      ],
      "findingIds": [
        "F22"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "pass",
      "confidence": "high",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "The account surface separates free account creation from premium membership and labels sign-in, password recovery and consent paths.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/account-mobile.png",
        "evidence/account-form.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "Image audit found 99 legacy images, 100 without srcset and 99 without dimensions; images account for 1.72 MB transferred.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F23"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "90 below-fold images lack loading=lazy; 106 image requests contribute to 120 requests on initial load.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F24"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "116 of 120 requests and 2.77 MB are to CDN origins, before the user chooses a video.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home.har"
      ],
      "findingIds": [
        "F25"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-route recon.",
      "evidence": "No declared agent-facing intent exists; this emerging capability is optional for the public media site.",
      "reason": "No declared agent-facing intent exists; this emerging capability is optional for the public media site."
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-route recon.",
      "evidence": "No user task in the sampled journeys requires on-device inference; this emerging capability is optional.",
      "reason": "No user task in the sampled journeys requires on-device inference; this emerging capability is optional."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "After 20 repeated password-visibility toggles, heap self size rose only about 1.7%; this isolated-snapshot comparison showed no unbounded-growth signal.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/heap-post.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "issues",
      "confidence": "high",
      "method": "Direct multi-modal inspection against the check-specific plan.",
      "evidence": "Heap summary measured 316,804 nodes and 22.2 MB self size for a relatively simple account surface.",
      "pathIds": [
        "account"
      ],
      "artifacts": [
        "evidence/heap-baseline.json"
      ],
      "findingIds": [
        "F26"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct visual, DOM, network, performance or interaction evidence for this specific check.",
      "evidence": "Neither heap summary showed Detached* constructors among the largest retained constructors, and the repeated interaction did not produce disproportionate growth.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/heap-post.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F06",
        "F07",
        "F08",
        "F09"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F10",
        "F11",
        "F12",
        "F13"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F14",
        "F15",
        "F16"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F17"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F18",
        "F19",
        "F20"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F21"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F22"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F23",
        "F24",
        "F25"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "No declared agent-facing intent exists; this emerging capability is optional for the public media site. No user task in the sampled journeys requires on-device inference; this emerging capability is optional."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F26"
      ]
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Public homepage and age-assurance entry gate, representing the primary browse journey.",
      "url": "https://fr.xvideos.com/",
      "conditions": [
        "desktop 1365x768",
        "mobile 360x800",
        "prefers-color-scheme: dark",
        "prefers-reduced-motion: reduce",
        "prefers-contrast: more",
        "keyboard focus"
      ],
      "result": "issues"
    },
    {
      "id": "category",
      "description": "Amateur category listing, representing listing and taxonomy templates.",
      "url": "https://fr.xvideos.com/c/Amateur-65",
      "conditions": [
        "desktop 1365x768"
      ],
      "result": "issues"
    },
    {
      "id": "detail",
      "description": "Representative video detail page, covering media, metadata and content-detail structure.",
      "url": "https://fr.xvideos.com/video.opvlulk8877/50207155/0/shy_guy_enjoys_his_best_friend_s_girlfriend_s_big_tits_-_secret_sex",
      "conditions": [
        "desktop 1365x768"
      ],
      "result": "issues"
    },
    {
      "id": "search",
      "description": "Search results for a benign query, representing discovery and mobile results.",
      "url": "https://fr.xvideos.com/?k=test",
      "conditions": [
        "mobile 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "account",
      "description": "Account creation/sign-in surface, representing forms, authentication and commercial upsell.",
      "url": "https://fr.xvideos.com/account/create",
      "conditions": [
        "mobile 360x800",
        "Lighthouse",
        "repeated password-visibility interaction"
      ],
      "result": "issues"
    },
    {
      "id": "not-found",
      "description": "Unknown route, representing HTTP failure and recovery messaging.",
      "url": "https://fr.xvideos.com/this-route-should-not-exist-web-uplift",
      "conditions": [
        "mobile 360x800"
      ],
      "result": "pass"
    }
  ],
  "findings": [
    {
      "id": "F01",
      "severity": "medium",
      "confidence": "high",
      "summary": "The site does not adapt to the user’s dark-mode preference.",
      "evidence": "The dark-emulated screenshot is visually identical to the light capture, and the computed root colorScheme is “normal”.",
      "suggestedFix": "Declare color-scheme and provide preference-driven light/dark surface and text tokens.",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/preferences-focus.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://fr.xvideos.com/"
    },
    {
      "id": "F02",
      "severity": "low",
      "confidence": "high",
      "summary": "Route and state changes do not use View Transitions.",
      "evidence": "Platform probe found no view-transition CSS across the rendered stylesheet set.",
      "suggestedFix": "Add same-document or cross-document View Transitions for major route/state changes, while respecting reduced motion.",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "cross-document-transitions",
      "artifacts": [
        "evidence/platform-semantics.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://fr.xvideos.com/"
    },
    {
      "id": "F03",
      "severity": "low",
      "confidence": "high",
      "summary": "Navigation chrome is not scroll-state aware.",
      "evidence": "CSS probe found no modern scroll-state or scroll-timeline treatment; the navigation remains fixed in the captured listing state.",
      "suggestedFix": "Use CSS scroll-state/container-query patterns for sticky navigation feedback where useful.",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "navigation-drawer",
      "artifacts": [
        "evidence/platform-semantics.json",
        "evidence/home-desktop.png"
      ],
      "effort": "small",
      "pathId": "home",
      "url": "https://fr.xvideos.com/"
    },
    {
      "id": "F04",
      "severity": "high",
      "confidence": "high",
      "summary": "The mandatory age gate is an ad-hoc div rather than an accessible modal primitive.",
      "evidence": "DOM probe identifies #disclaimer_background as a DIV with no dialog role or aria-modal, despite blocking the page.",
      "suggestedFix": "Implement the gate with <dialog> (or equivalent fully accessible dialog semantics), focus containment, labelled description and explicit close/continue behavior.",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "animate-to-from-top-layer",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/preferences-focus.json",
        "evidence/home-mobile.png"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://fr.xvideos.com/"
    },
    {
      "id": "F05",
      "severity": "medium",
      "confidence": "high",
      "summary": "Components rely on viewport styling rather than container responsiveness.",
      "evidence": "The CSS probe found no @container rules, although cards and account panels are reused across wide and narrow layouts.",
      "suggestedFix": "Introduce container-type and component-local @container rules for reusable cards, navigation and account panels.",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "artifacts": [
        "evidence/platform-semantics.json",
        "evidence/home-mobile.png",
        "evidence/home-desktop.png"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://fr.xvideos.com/"
    },
    {
      "id": "F06",
      "severity": "high",
      "confidence": "high",
      "summary": "Performance is inconsistent across key templates.",
      "evidence": "Homepage trace measured LCP 1.06s with no TBT, but Lighthouse on the account path measured LCP 4.8s, FCP 3.5s and TTI 8.5s.",
      "suggestedFix": "Prioritise the account LCP resource, shorten render-blocking chains and defer non-critical work.",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/lighthouse-account.json"
      ],
      "effort": "medium",
      "pathId": "account",
      "url": "https://fr.xvideos.com/account/create"
    },
    {
      "id": "F07",
      "severity": "high",
      "confidence": "high",
      "summary": "The mobile homepage has excessive layout shift.",
      "evidence": "The layout observer measured CLS 0.172 across three shifts, above the 0.1 good threshold; 99 of 100 images lack explicit dimensions.",
      "suggestedFix": "Reserve image and banner space with width/height or aspect-ratio and stabilise late content and font metrics.",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "visual-stability",
      "guidanceId": "visually-stable-font-fallbacks",
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/images.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://fr.xvideos.com/"
    },
    {
      "id": "F08",
      "severity": "medium",
      "confidence": "high",
      "summary": "Critical resource delivery is inefficient.",
      "evidence": "HAR recorded 120 requests and 2.82 MB, including parser-inserted CSS/scripts; Lighthouse estimated 2.55s render-blocking savings and flagged inefficient cache lifetimes.",
      "suggestedFix": "Inline only critical CSS, defer non-critical scripts, set durable cache headers and use preload/fetchpriority only for verified critical resources.",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-preload-priority",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home.har",
        "evidence/lighthouse-account.json"
      ],
      "effort": "large",
      "pathId": "home",
      "url": "https://fr.xvideos.com/"
    },
    {
      "id": "F09",
      "severity": "medium",
      "confidence": "high",
      "summary": "Large unused CSS and JavaScript are shipped.",
      "evidence": "Lighthouse estimated 246 KiB unused CSS and 406 KiB unused JavaScript; the largest script transferred 517 KB.",
      "suggestedFix": "Split bundles by template and interaction, remove unused CSS/JS and conditionally load the media stack.",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "artifacts": [
        "evidence/lighthouse-account.json",
        "evidence/home-summary.json"
      ],
      "effort": "large",
      "pathId": "account",
      "url": "https://fr.xvideos.com/account/create"
    },
    {
      "id": "F10",
      "severity": "high",
      "confidence": "high",
      "summary": "Many controls and images lack accessible names.",
      "evidence": "The DOM probe counted 103 unnamed buttons and 4 empty links; the image audit found 98 images without alt text.",
      "suggestedFix": "Give every control an accessible name and provide meaningful alt text or empty alt for decorative thumbnails.",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "artifacts": [
        "evidence/platform-semantics.json",
        "evidence/images.json",
        "evidence/lighthouse-account.json"
      ],
      "effort": "large",
      "pathId": "home",
      "url": "https://fr.xvideos.com/"
    },
    {
      "id": "F11",
      "severity": "high",
      "confidence": "high",
      "summary": "Text and UI contrast fail on the account page.",
      "evidence": "Lighthouse accessibility reported a failing color-contrast audit and an accessibility score of 0.80.",
      "suggestedFix": "Adjust text, border and surface tokens to meet WCAG contrast ratios in all states.",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "artifacts": [
        "evidence/lighthouse-account.json",
        "evidence/account-mobile.png"
      ],
      "effort": "medium",
      "pathId": "account",
      "url": "https://fr.xvideos.com/account/create"
    },
    {
      "id": "F12",
      "severity": "high",
      "confidence": "high",
      "summary": "Page structure lacks a main landmark and primary headings.",
      "evidence": "Homepage and category probes found no H1; Lighthouse reports no main landmark on the account document.",
      "suggestedFix": "Add one descriptive H1 and a <main> landmark per template, preserving a logical heading hierarchy.",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "artifacts": [
        "evidence/platform-semantics.json",
        "evidence/category-metadata.json",
        "evidence/lighthouse-account.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://fr.xvideos.com/"
    },
    {
      "id": "F13",
      "severity": "high",
      "confidence": "high",
      "summary": "At least one key page restricts user zoom.",
      "evidence": "Lighthouse reports user-scalable=no or maximum-scale below 5 on the account page.",
      "suggestedFix": "Use width=device-width, initial-scale=1 without disabling pinch zoom; verify reflow at 200% and 400%.",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "accessibility",
      "artifacts": [
        "evidence/lighthouse-account.json"
      ],
      "effort": "small",
      "pathId": "account",
      "url": "https://fr.xvideos.com/account/create"
    },
    {
      "id": "F14",
      "severity": "medium",
      "confidence": "high",
      "summary": "The account page logs browser errors.",
      "evidence": "Lighthouse failed the errors-in-console audit.",
      "suggestedFix": "Resolve each console error and add production monitoring that catches uncaught exceptions without noisy expected failures.",
      "principleId": "follow-best-practices",
      "principleCheckId": "no-console-errors",
      "guidanceId": "html",
      "artifacts": [
        "evidence/lighthouse-account.json"
      ],
      "effort": "medium",
      "pathId": "account",
      "url": "https://fr.xvideos.com/account/create"
    },
    {
      "id": "F15",
      "severity": "medium",
      "confidence": "high",
      "summary": "Image assets are not soundly sized or delivered.",
      "evidence": "The image audit found 99/100 missing dimensions, 100/100 without srcset and 99 legacy-format images.",
      "suggestedFix": "Add intrinsic dimensions, responsive sources and modern formats with appropriate fallbacks.",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "artifacts": [
        "evidence/images.json"
      ],
      "effort": "large",
      "pathId": "home",
      "url": "https://fr.xvideos.com/"
    },
    {
      "id": "F16",
      "severity": "medium",
      "confidence": "high",
      "summary": "Deprecated APIs and BFCache blockers remain.",
      "evidence": "Lighthouse found one deprecated-API warning and four BFCache failure reasons.",
      "suggestedFix": "Replace deprecated APIs and remove unload/runtime blockers so navigations can use BFCache.",
      "principleId": "follow-best-practices",
      "principleCheckId": "browser-platform-hygiene",
      "guidanceId": "html",
      "artifacts": [
        "evidence/lighthouse-account.json"
      ],
      "effort": "medium",
      "pathId": "account",
      "url": "https://fr.xvideos.com/account/create"
    },
    {
      "id": "F17",
      "severity": "medium",
      "confidence": "high",
      "summary": "Localized listing and detail pages have incomplete canonical/localization signals.",
      "evidence": "The category metadata probe found no canonical or hreflang links; the detail probe also returned no canonical despite a redirected localized URL.",
      "suggestedFix": "Emit self-consistent canonical and hreflang links for localized public templates and keep sitemap URLs aligned.",
      "principleId": "be-discoverable",
      "principleCheckId": "canonical-and-indexing-signals",
      "guidanceId": "html",
      "artifacts": [
        "evidence/category-metadata.json",
        "evidence/detail-metadata.json",
        "evidence/sitemap.xml"
      ],
      "effort": "medium",
      "pathId": "category",
      "url": "https://fr.xvideos.com/c/Amateur-65"
    },
    {
      "id": "F18",
      "severity": "high",
      "confidence": "high",
      "summary": "Security headers and cookie posture need hardening.",
      "evidence": "Headers evidence shows no HSTS or nosniff, CSP permits unsafe-inline and unsafe-eval, and the session cookie uses SameSite=None.",
      "suggestedFix": "Enable HSTS and nosniff, migrate inline/eval code to nonce/hash-based CSP, and use the strictest viable SameSite cookie policy.",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "effort": "large",
      "pathId": "home",
      "url": "https://fr.xvideos.com/"
    },
    {
      "id": "F19",
      "severity": "high",
      "confidence": "high",
      "summary": "Authentication lacks phishing-resistant sign-in and complete autofill semantics.",
      "evidence": "The account page exposes password-only sign-in, no passkey action, and email/current-password fields have empty autocomplete values.",
      "suggestedFix": "Add WebAuthn/passkeys and correct username, email, current-password and new-password autocomplete tokens.",
      "principleId": "be-private-and-secure",
      "principleCheckId": "in-context-permissions-and-modern-auth",
      "guidanceId": "security",
      "artifacts": [
        "evidence/account-form.json",
        "evidence/i18n-auth.json"
      ],
      "effort": "large",
      "pathId": "account",
      "url": "https://fr.xvideos.com/account/create"
    },
    {
      "id": "F20",
      "severity": "high",
      "confidence": "high",
      "summary": "Defensive browser policy coverage is incomplete.",
      "evidence": "Headers evidence shows no Permissions-Policy, no HSTS and a permissive CSP; Referrer-Policy remains no-referrer-when-downgrade.",
      "suggestedFix": "Deploy a restrictive Permissions-Policy, strict-origin-when-cross-origin (or stricter), CSP frame-ancestors and stronger XSS defenses.",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "artifacts": [
        "evidence/headers.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://fr.xvideos.com/"
    },
    {
      "id": "F21",
      "severity": "medium",
      "confidence": "high",
      "summary": "Localized layout CSS is not writing-mode resilient.",
      "evidence": "The French document has lang=fr, but the style probe found zero logical-property uses and 21 physical left/right declarations.",
      "suggestedFix": "Use inline/block logical properties and verify RTL/writing-mode behavior; set dir explicitly when locale direction requires it.",
      "principleId": "be-internationalised",
      "principleCheckId": "lang-dir-and-logical-properties",
      "guidanceId": "css",
      "artifacts": [
        "evidence/i18n-auth.json"
      ],
      "effort": "medium",
      "pathId": "account",
      "url": "https://fr.xvideos.com/account/create"
    },
    {
      "id": "F22",
      "severity": "medium",
      "confidence": "high",
      "summary": "Sign-in and sign-up fields omit important autofill tokens.",
      "evidence": "Rendered form evidence shows empty autocomplete on email/current-password and several sign-up fields; only new-password is identified.",
      "suggestedFix": "Apply correct autocomplete tokens for email/username/current-password/new-password and profile fields.",
      "principleId": "be-trustworthy",
      "principleCheckId": "trustworthy-input-assistance",
      "guidanceId": "autofill-sign-in-form",
      "artifacts": [
        "evidence/account-form.json"
      ],
      "effort": "small",
      "pathId": "account",
      "url": "https://fr.xvideos.com/account/create"
    },
    {
      "id": "F23",
      "severity": "high",
      "confidence": "high",
      "summary": "The thumbnail grid ships unoptimised image assets.",
      "evidence": "Image audit found 99 legacy images, 100 without srcset and 99 without dimensions; images account for 1.72 MB transferred.",
      "suggestedFix": "Serve AVIF/WebP responsive variants sized to rendered slots, with dimensions and effective CDN caching.",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "deliver-optimized-decorative-images",
      "artifacts": [
        "evidence/images.json",
        "evidence/home-summary.json"
      ],
      "effort": "large",
      "pathId": "home",
      "url": "https://fr.xvideos.com/"
    },
    {
      "id": "F24",
      "severity": "high",
      "confidence": "high",
      "summary": "Below-fold media is fetched eagerly.",
      "evidence": "90 below-fold images lack loading=lazy; 106 image requests contribute to 120 requests on initial load.",
      "suggestedFix": "Lazy-load below-fold thumbnails, virtualise long grids and avoid background work until content approaches the viewport.",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "efficient-background-processing",
      "artifacts": [
        "evidence/images.json",
        "evidence/home-summary.json"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://fr.xvideos.com/"
    },
    {
      "id": "F25",
      "severity": "medium",
      "confidence": "high",
      "summary": "The initial media and CDN request budget is disproportionate.",
      "evidence": "116 of 120 requests and 2.77 MB are to CDN origins, before the user chooses a video.",
      "suggestedFix": "Set a template budget, defer low-value thumbnails/media and batch CDN work around viewport demand.",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "efficient-background-processing",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home.har"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://fr.xvideos.com/"
    },
    {
      "id": "F26",
      "severity": "medium",
      "confidence": "high",
      "summary": "The account page has a heavy baseline heap footprint.",
      "evidence": "Heap summary measured 316,804 nodes and 22.2 MB self size for a relatively simple account surface.",
      "suggestedFix": "Profile native-node retention, remove unnecessary hidden UI/template state and conditionally initialise unrelated site features.",
      "principleId": "be-memory-efficient",
      "principleCheckId": "bounded-footprint",
      "guidanceId": "performance",
      "artifacts": [
        "evidence/heap-baseline.json"
      ],
      "effort": "large",
      "pathId": "account",
      "url": "https://fr.xvideos.com/account/create"
    }
  ],
  "taskList": [
    {
      "id": "T1",
      "title": "Repair accessibility semantics, names, contrast, zoom and document structure",
      "priority": 1,
      "findingIds": [
        "F04",
        "F10",
        "F11",
        "F12",
        "F13"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T2",
      "title": "Harden headers, CSP, cookies and authentication with passkeys/autofill",
      "priority": 2,
      "findingIds": [
        "F18",
        "F19",
        "F20",
        "F22"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T3",
      "title": "Stabilise layout and optimise the account critical rendering path",
      "priority": 3,
      "findingIds": [
        "F06",
        "F07",
        "F08"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T4",
      "title": "Reduce eager thumbnail/media work and modernise responsive image delivery",
      "priority": 4,
      "findingIds": [
        "F15",
        "F23",
        "F24",
        "F25"
      ],
      "guidanceId": "deliver-optimized-decorative-images",
      "status": "open"
    },
    {
      "id": "T5",
      "title": "Split unused CSS/JS and reduce the account page heap footprint",
      "priority": 5,
      "findingIds": [
        "F09",
        "F26"
      ],
      "guidanceId": "identify-heavy-scripts",
      "status": "open"
    },
    {
      "id": "T6",
      "title": "Add preference, container, transition and localized indexing support",
      "priority": 6,
      "findingIds": [
        "F01",
        "F02",
        "F03",
        "F05",
        "F17",
        "F21"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T7",
      "title": "Resolve console, deprecated API and BFCache failures",
      "priority": 7,
      "findingIds": [
        "F14",
        "F16"
      ],
      "guidanceId": "html",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 6,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-18T21-43-22-413Z"
}
