{
  "url": "https://id.xhname.com",
  "auditedAt": "2026-07-18T05:08:27.474Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage-complete atomic audit of anonymous public browsing, listing, detail, signup, and recovery archetypes. Authenticated playback/account/payment states were not entered.",
  "page": {
    "appType": "mpa",
    "framework": "Server-rendered application with client-side enhancement",
    "notes": "Localized adult media browse site. Public HTML is substantial; legal age/login gating applies to playback."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "evaluate-probe",
    "layout-metrics",
    "discoverability",
    "trace",
    "har",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "lighthouse",
    "heap-summary",
    "robots/sitemap fetch",
    "Modern Web Guidance search/retrieve"
  ],
  "guidanceConsulted": [
    "accessibility",
    "accessible-error-announcement",
    "adapt-scrollbar-to-contrast-preferences",
    "agentic-forms",
    "agentic-javascript-tools",
    "autofill-payment-form",
    "autofill-sign-in-form",
    "autofill-sign-up-form",
    "batch-analytics-events",
    "branded-select-styling",
    "calculate-event-differentials",
    "capture-location-agnostic-data",
    "carousel-slide-effects",
    "component-specific-light-dark-theme",
    "coordinate-global-events",
    "cross-document-transitions",
    "css",
    "custom-button-actions",
    "dark-mode",
    "declarative-dialog-popover-control",
    "defer-rendering-heavy-content",
    "defer-work-until-scroll-ends",
    "deliver-optimized-decorative-images",
    "deprioritize-background-fetches",
    "directional-navigation-transitions",
    "efficient-background-processing",
    "flicker-free-client-side-ab-testing",
    "fluid-scaling",
    "forms",
    "html",
    "identify-heavy-scripts",
    "improve-text-layout-and-legibility",
    "interactive-content-reveal",
    "language-model",
    "light-dismiss-a-dialog",
    "move-dom-element-without-losing-state",
    "navigation-drawer",
    "optimize-image-priority",
    "optimize-preload-priority",
    "optimize-script-priority",
    "passkey-authentication",
    "passkey-reauthentication",
    "passkey-registration",
    "passkeys",
    "performance",
    "persistent-app-tours",
    "persistent-top-layer-ui",
    "privacy",
    "pull-to-reveal",
    "scroll-entry-exit-effects",
    "scroll-position-aware-elements",
    "scroll-snap-realtime-feedback",
    "scroll-snap-state-sync",
    "scroll-target-on-load",
    "scrollability-affordance-hints",
    "search-hidden-content",
    "security",
    "shrinking-header-on-scroll",
    "size-aware-styling",
    "stack-drill-down",
    "style-parent-with-has",
    "summarizer",
    "support-global-calendar-systems",
    "translator",
    "validate-input-after-interaction",
    "webmcp"
  ],
  "artifacts": [
    {
      "type": "screenshot",
      "path": "evidence/404-mobile.png",
      "caption": "404 mobile"
    },
    {
      "type": "other",
      "path": "evidence/404-recon.json",
      "caption": "404 recon"
    },
    {
      "type": "other",
      "path": "evidence/buttons.json",
      "caption": "buttons"
    },
    {
      "type": "dom",
      "path": "evidence/categories-dom.json",
      "caption": "categories dom"
    },
    {
      "type": "screenshot",
      "path": "evidence/categories-mobile.png",
      "caption": "categories mobile"
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "cookies"
    },
    {
      "type": "screenshot",
      "path": "evidence/dark.png",
      "caption": "dark"
    },
    {
      "type": "screenshot",
      "path": "evidence/desktop.png",
      "caption": "desktop"
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-crawler.png",
      "caption": "discoverability crawler"
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-rendered.png",
      "caption": "discoverability rendered"
    },
    {
      "type": "discoverability",
      "path": "evidence/discoverability.json",
      "caption": "discoverability"
    },
    {
      "type": "dom",
      "path": "evidence/dom.json",
      "caption": "dom"
    },
    {
      "type": "other",
      "path": "evidence/focus-after-reject.json",
      "caption": "focus after reject"
    },
    {
      "type": "other",
      "path": "evidence/focus.json",
      "caption": "focus"
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "headers"
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.json",
      "caption": "heap baseline"
    },
    {
      "type": "heap",
      "path": "evidence/heap-one-login-cycle.json",
      "caption": "heap one login cycle"
    },
    {
      "type": "heap",
      "path": "evidence/heap-post-login-cycle.json",
      "caption": "heap post login cycle"
    },
    {
      "type": "screenshot",
      "path": "evidence/high-contrast.png",
      "caption": "high contrast"
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "home summary"
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "home trace summary"
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "home trace"
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "home"
    },
    {
      "type": "other",
      "path": "evidence/images.json",
      "caption": "images"
    },
    {
      "type": "layout",
      "path": "evidence/layout-mobile.json",
      "caption": "layout mobile"
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-summary.json",
      "caption": "lighthouse summary"
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse.json",
      "caption": "lighthouse"
    },
    {
      "type": "other",
      "path": "evidence/manifest-sw.json",
      "caption": "manifest sw"
    },
    {
      "type": "screenshot",
      "path": "evidence/mobile.png",
      "caption": "mobile"
    },
    {
      "type": "other",
      "path": "evidence/platform.json",
      "caption": "platform"
    },
    {
      "type": "other",
      "path": "evidence/preferences.json",
      "caption": "preferences"
    },
    {
      "type": "other",
      "path": "evidence/recon.json",
      "caption": "recon"
    },
    {
      "type": "other",
      "path": "evidence/robots-sitemap.txt",
      "caption": "robots sitemap"
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "secrets"
    },
    {
      "type": "other",
      "path": "evidence/service-worker-source.js",
      "caption": "service worker source"
    },
    {
      "type": "other",
      "path": "evidence/service-worker.json",
      "caption": "service worker"
    },
    {
      "type": "other",
      "path": "evidence/signup-email-after-reject.json",
      "caption": "signup email after reject"
    },
    {
      "type": "other",
      "path": "evidence/signup-email-form.json",
      "caption": "signup email form"
    },
    {
      "type": "screenshot",
      "path": "evidence/signup-mobile.png",
      "caption": "signup mobile"
    },
    {
      "type": "other",
      "path": "evidence/signup-recon.json",
      "caption": "signup recon"
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "trackers"
    },
    {
      "type": "screenshot",
      "path": "evidence/video-mobile.png",
      "caption": "video mobile"
    },
    {
      "type": "other",
      "path": "evidence/video-recon.json",
      "caption": "video recon"
    }
  ],
  "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": "pass",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Computed CSS inspection under prefers-color-scheme: dark found explicit dark and light media-query token sets; the dark screenshot remained usable.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/preferences.json",
        "evidence/dark.png"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Under prefers-reduced-motion: reduce, getAnimations() still reported eight running shimmer animations, each with a 2000 ms duration.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/preferences.json"
      ],
      "findingIds": [
        "F001"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Lighthouse found 13 insufficient-contrast nodes, including 2.15:1 and 1.75:1 text in the age banner; no prefers-contrast rules were found. The forced-colors capture attempt received an external 503.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/high-contrast.png"
      ],
      "findingIds": [
        "F002"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "DOM/CSS inspection found no view-transition CSS or route-transition implementation; representative navigation is a full abrupt document change.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/preferences.json",
        "evidence/categories-mobile.png"
      ],
      "findingIds": [
        "F003"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement across representative paths",
      "evidence": "No scroll-linked parallax, scrollytelling, carousel, or reveal animation was present on the representative pages, so there is no scroll-driven effect to implement.",
      "reason": "No scroll-linked parallax, scrollytelling, carousel, or reveal animation was present on the representative pages, so there is no scroll-driven effect to implement.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "DOM/CSS inspection found no custom pointer-drag gesture implementation fighting platform scrolling; browsing uses native links and scrolling.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/dom.json"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Home and category screenshots show large static header, banner, and side navigation chrome; CSS inspection found no scroll-state query or progress treatment.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/desktop.png",
        "evidence/categories-mobile.png"
      ],
      "findingIds": [
        "F004"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement across representative paths",
      "evidence": "No tooltip or edge-sensitive transient menu was present in the exercised core paths; the cookie and signup overlays are modal surfaces, not anchored popovers.",
      "reason": "No tooltip or edge-sensitive transient menu was present in the exercised core paths; the cookie and signup overlays are modal surfaces, not anchored popovers.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Representative route changes provide no transition, focus handoff, or destination highlight; screenshots show abrupt replacement while static chrome dominates.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/desktop.png",
        "evidence/categories-mobile.png"
      ],
      "findingIds": [
        "F005"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "The initial desktop viewport is obscured by a large cookie modal before interaction, while age-verification and promotional banners also occupy the underlying first viewport.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/desktop.png"
      ],
      "findingIds": [
        "F006"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "DOM inspection found the cookie surface as a custom div.experimentalModalContainer with no dialog element or role=dialog; the page had zero dialog elements.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/platform.json",
        "evidence/focus-after-reject.json"
      ],
      "findingIds": [
        "F007"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Desktop/mobile screenshots show stacked header, age-verification banner, sale banner, persistent category rail, inline promotions, and consent UI competing with the media content.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/desktop.png",
        "evidence/mobile.png"
      ],
      "findingIds": [
        "F008"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "At a 360 px visual viewport, layout reported scrollWidth 1036 and 676 px horizontal overflow; the mobile screenshot visibly clips the content column.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/layout-mobile.json",
        "evidence/mobile.png"
      ],
      "findingIds": [
        "F009"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Computed layout at mobile retained a 1024 px body/main and inspection found no @container rules, so reused page chrome does not adapt to its available container.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/layout-mobile.json",
        "evidence/preferences.json",
        "evidence/categories-dom.json"
      ],
      "findingIds": [
        "F010"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Focused search input matched :focus-visible but computed outline was none and box-shadow none; Lighthouse also found two undersized/obscured targets.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/focus.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F011"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Home, category, detail, and signup surfaces have descriptive titles/headings and visible next actions such as category links, media cards, Start, and sign-up providers.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/recon.json",
        "evidence/categories-mobile.png",
        "evidence/video-recon.json",
        "evidence/signup-recon.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "The anonymous browse journey reaches a media detail and clearly states that viewing requires age verification and login, with a Start action; signup exposes provider/email choices and terms.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/video-recon.json",
        "evidence/signup-recon.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "A synthetic missing route rendered an Indonesian not-found explanation and a clear home link; gated media explicitly explains the required login/age state.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/404-recon.json",
        "evidence/video-recon.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Lighthouse measured LCP 3.0 s (outside the good <=2.5 s range) and FCP 2.9 s; CLS was 0 and TBT 0 ms in that run.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "findingIds": [
        "F013"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Both layout observation and Lighthouse measured CLS 0 during the observation windows, with no recorded layout-shift entries.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/layout-mobile.json",
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "The trace recorded two long tasks, longest 170.75 ms, and 145.04 ms total blocking time; mobile layout observation independently recorded 62 ms and 144 ms tasks.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/layout-mobile.json"
      ],
      "findingIds": [
        "F014"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Lighthouse estimated 1220 ms savings from five render-blocking stylesheets and 115 KiB from cache lifetime improvements; HAR recorded 140 requests.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-summary.json",
        "evidence/home.har"
      ],
      "findingIds": [
        "F015"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Lighthouse estimated 58 KiB unused CSS, 26 KiB unused JS, and 11 KiB legacy JavaScript; HAR recorded 61 scripts and about 1.01 MB script transfer.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F016"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Lighthouse found one unnamed button, two unnamed links, nine label/name mismatches, and invalid list semantics; image inspection found one missing alt.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/images.json"
      ],
      "findingIds": [
        "F017"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Lighthouse found 13 contrast failures, including age-banner text at 2.15:1 and 1.75:1 and metadata text at 3.29:1.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F018"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Lighthouse found malformed list structure and inappropriate roles; direct keyboard-focus probing found no visible outline or shadow on the focused search field.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/focus.json"
      ],
      "findingIds": [
        "F019"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "At 360 px the page keeps a 1036 px content width, clipping headings, navigation, cards, and signup content outside the viewport and harming readable reflow.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/mobile.png",
        "evidence/signup-mobile.png",
        "evidence/layout-mobile.json"
      ],
      "findingIds": [
        "F020"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Lighthouse reports user-scalable=no in the audited mobile viewport and two target-size failures; video DOM exposed no caption tracks in the gated player state.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/video-recon.json"
      ],
      "findingIds": [
        "F021"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Lighthouse best-practices scored 1.0 and reported no console-error or runtime-exception audit failure on the entry page.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Document has HTML doctype and UTF-8, but image inspection found 29 of 36 images missing dimensions and 13 oversized; Lighthouse independently found unsized images.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/platform.json",
        "evidence/images.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F022"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Lighthouse best-practices scored 1.0; no permission prompt appeared on load, and scripts observed in the head were deferred or async.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/platform.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "DOM inspection found a descriptive localized title and a non-empty meta description on the home page; detail and signup titles were also specific.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/recon.json",
        "evidence/platform.json",
        "evidence/video-recon.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Links and viewport meta are present and robots permits public pages, but the 360 px layout overflows by 676 px, so the mobile-friendly part fails directly.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/layout-mobile.json",
        "evidence/robots-sitemap.txt"
      ],
      "findingIds": [
        "F023"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Home returned 200 and has a canonical, but it points to id.xhamster.com rather than the audited id.xhname.com host; /sitemap.xml returned 404 and no hreflang links were present despite many locale variants.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/platform.json",
        "evidence/robots-sitemap.txt"
      ],
      "findingIds": [
        "F024"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "The home page is a rich media listing, but DOM inspection found zero JSON-LD blocks and zero Open Graph tags.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/platform.json"
      ],
      "findingIds": [
        "F025"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "HTTPS/HSTS are present, but CSP is only frame-ancestors self; nosniff and Referrer-Policy are missing, and two first-party cookies lack Secure.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "F026"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "HAR recorded 116 of 140 requests and 1.60 MB of 1.79 MB transfer on non-page origins; tracker probe enumerated 16 third-party origins including Google accounts and an ad syndication origin.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ],
      "findingIds": [
        "F027"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "No permission prompt fired on load, but the relevant signup flow exposes Google, X, or email and no passkey/WebAuthn option or navigator.credentials use was observed.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/signup-recon.json",
        "evidence/platform.json"
      ],
      "findingIds": [
        "F028"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "HSTS and clickjacking defenses are present, but Referrer-Policy and nosniff are absent, CSP lacks script restrictions, and Permissions-Policy only configures UA client hints.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/headers.json"
      ],
      "findingIds": [
        "F029"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Discoverability comparison found 83% of rendered content represented in raw HTML, with title, H1, and description present and no empty JS shell.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/discoverability-rendered.png",
        "evidence/discoverability-crawler.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Cookie choices, login/signup overlays, category browsing, and detail gating all rendered actionable states; the tested 404 provides recovery rather than a broken shell.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/desktop.png",
        "evidence/signup-recon.json",
        "evidence/404-recon.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "A valid manifest defines name, start_url, icons, and minimal-ui; an active scoped service worker exists and its source contains cache/fetch/offline handling.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/manifest-sw.json",
        "evidence/service-worker.json",
        "evidence/service-worker-source.js"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "The representative 404 route renders a localized explanation, technical-help direction, and a direct home recovery link rather than a blank shell.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/404-recon.json",
        "evidence/404-mobile.png"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "The Indonesian page declares html lang=id and exposes a broad locale switcher including RTL languages; Indonesian correctly uses default LTR direction.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/recon.json",
        "evidence/platform.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Rendered Indonesian copy mixes non-localized abbreviations and English labels such as 108.6M tampilan, More Videos, and Choose your porn category rather than locale-aware Indonesian formatting.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/recon.json"
      ],
      "findingIds": [
        "F030"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement across representative paths",
      "evidence": "The audited public pages show media durations and counts but no dates, appointments, recurring events, or cross-time-zone data.",
      "reason": "The audited public pages show media durations and counts but no dates, appointments, recurring events, or cross-time-zone data.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "The content list interleaves third-party and subscription promotions with ordinary media cards; screenshots show the sale banner and in-feed commercial content competing with organic results, with weak ad distinction.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/mobile.png",
        "evidence/recon.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F031"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement across representative paths",
      "evidence": "The reachable anonymous forms are search and provider-choice controls with no required user-entered validation flow; no invalid-input state exists to exercise.",
      "reason": "The reachable anonymous forms are search and provider-choice controls with no required user-entered validation flow; no invalid-input state exists to exercise.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "The search input is correctly identified and provider-based signup reduces typed credentials; no address/payment form is present in the anonymous scope requiring further autocomplete tokens.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/platform.json",
        "evidence/signup-recon.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Signup states age-verification requirements, terms, privacy use, and public-data implications before account creation; no purchase was initiated in the anonymous scope.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/signup-recon.json",
        "evidence/signup-mobile.png"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Image inspection found 13 oversized images, 15 legacy-format images, 29 missing dimensions, and three without responsive sources.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/images.json"
      ],
      "findingIds": [
        "F032"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "The home load makes 140 requests including 61 scripts; Lighthouse identifies substantial unused CSS/JS and the trace records long tasks after load.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "findingIds": [
        "F033"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "The page transfers 1.79 MB; 1.60 MB and 116 requests are attributed to non-page origins, with 1.01 MB of scripts and 16 third-party origins.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ],
      "findingIds": [
        "F034"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement across representative paths",
      "evidence": "This public media browsing site declares no agent-facing intent; emerging WebMCP capability exposure is not assumed to be required.",
      "reason": "This public media browsing site declares no agent-facing intent; emerging WebMCP capability exposure is not assumed to be required.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement across representative paths",
      "evidence": "No page task identified in the representative anonymous journey requires on-device inference; absence is not a failure for this contextual emerging check.",
      "reason": "No page task identified in the representative anonymous journey requires on-device inference; absence is not a failure for this contextual emerging check.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "Equivalent heap snapshots after one versus ten login open/close cycles were stable: 36,711,360 bytes/687,985 nodes versus 36,681,499 bytes/687,572 nodes.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/heap-one-login-cycle.json",
        "evidence/heap-post-login-cycle.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "After representative UI initialization the heap was about 36.7 MB with about 688k nodes, proportionate to the media-heavy listing and stable across repeated cycles.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/heap-one-login-cycle.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "high",
      "method": "Direct browser evidence and targeted audit probe",
      "evidence": "One-to-ten cycle heap comparison slightly decreased in node count and size, and no Detached* constructor appeared among top retained constructors.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "signup"
      ],
      "artifacts": [
        "evidence/heap-one-login-cycle.json",
        "evidence/heap-post-login-cycle.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F001",
        "F002"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F003"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F004",
        "F005"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F006",
        "F007",
        "F008"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F009",
        "F010",
        "F011"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F013",
        "F014",
        "F015",
        "F016"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F017",
        "F018",
        "F019",
        "F020",
        "F021"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F022"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F023",
        "F024",
        "F025"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F026",
        "F027",
        "F028",
        "F029"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F030"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F031"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F032",
        "F033",
        "F034"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "This public media browsing site declares no agent-facing intent; emerging WebMCP capability exposure is not assumed to be required. No page task identified in the representative anonymous journey requires on-device inference; absence is not a failure for this contextual emerging check."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Localized homepage and consent/browse entry archetype; desktop, mobile, preferences, performance, network, security, discoverability, and memory checks.",
      "url": "https://id.xhname.com/",
      "conditions": [
        "desktop",
        "360x800 mobile",
        "prefers-color-scheme: dark",
        "prefers-reduced-motion: reduce",
        "keyboard focus",
        "no-JS crawler comparison"
      ],
      "result": "issues"
    },
    {
      "id": "categories",
      "description": "Category/index archetype representing taxonomy navigation and dense listing layout.",
      "url": "https://id.xhname.com/categories",
      "conditions": [
        "412x823 mobile"
      ],
      "result": "issues"
    },
    {
      "id": "video",
      "description": "Representative media-detail and legal age/login-gated viewing journey.",
      "url": "https://id.xhname.com/videos/youve-been-a-very-bad-girl-bella-stepdad-tim-will-punishement-you-xhC93Nz",
      "conditions": [
        "412x823 mobile",
        "anonymous user"
      ],
      "result": "issues"
    },
    {
      "id": "signup",
      "description": "Primary account-creation surface representing authentication and disclosure.",
      "url": "https://id.xhname.com/signup?source=menuSignup",
      "conditions": [
        "412x823 mobile",
        "anonymous user"
      ],
      "result": "issues"
    },
    {
      "id": "error",
      "description": "Synthetic missing route representing HTTP/application recovery state.",
      "url": "https://id.xhname.com/this-route-does-not-exist-web-uplift",
      "conditions": [
        "412x823 mobile"
      ],
      "result": "pass"
    },
    {
      "id": "excluded",
      "description": "Not covered: authenticated playback, account management, payment/subscription completion, and every locale variant because no credentials/payment consent were available and sampled pages represent shared templates.",
      "result": "skipped"
    }
  ],
  "findings": [
    {
      "id": "F001",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-reduced-motion",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "medium",
      "confidence": "high",
      "summary": "Motion preference is ignored by loading shimmers",
      "evidence": "Under prefers-reduced-motion: reduce, getAnimations() still reported eight running shimmer animations, each with a 2000 ms duration.",
      "artifacts": [
        "evidence/preferences.json"
      ],
      "suggestedFix": "Disable or simplify non-essential shimmer/preview motion inside prefers-reduced-motion: reduce.",
      "effort": "small"
    },
    {
      "id": "F002",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-contrast",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Key text fails contrast requirements",
      "evidence": "Lighthouse found 13 insufficient-contrast nodes, including 2.15:1 and 1.75:1 text in the age banner; no prefers-contrast rules were found. The forced-colors capture attempt received an external 503.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/high-contrast.png"
      ],
      "suggestedFix": "Increase foreground/background contrast and add explicit forced-colors/prefers-contrast treatment.",
      "effort": "small"
    },
    {
      "id": "F003",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "cross-document-transitions",
      "guidanceCategory": "user-experience",
      "severity": "low",
      "confidence": "high",
      "summary": "Route changes are abrupt",
      "evidence": "DOM/CSS inspection found no view-transition CSS or route-transition implementation; representative navigation is a full abrupt document change.",
      "artifacts": [
        "evidence/preferences.json",
        "evidence/categories-mobile.png"
      ],
      "suggestedFix": "Use cross-document View Transitions with a reduced-motion fallback for stable shared chrome.",
      "effort": "medium"
    },
    {
      "id": "F004",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "shrinking-header-on-scroll",
      "guidanceCategory": "css",
      "severity": "low",
      "confidence": "high",
      "summary": "Navigation chrome does not respond to scroll",
      "evidence": "Home and category screenshots show large static header, banner, and side navigation chrome; CSS inspection found no scroll-state query or progress treatment.",
      "artifacts": [
        "evidence/desktop.png",
        "evidence/categories-mobile.png"
      ],
      "suggestedFix": "Use scroll-state-aware shrinking or progressive chrome where long lists are browsed.",
      "effort": "medium"
    },
    {
      "id": "F005",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "directs-attention",
      "guidanceId": "directional-navigation-transitions",
      "guidanceCategory": "user-experience",
      "severity": "low",
      "confidence": "high",
      "summary": "Navigation does not cue destination changes",
      "evidence": "Representative route changes provide no transition, focus handoff, or destination highlight; screenshots show abrupt replacement while static chrome dominates.",
      "artifacts": [
        "evidence/desktop.png",
        "evidence/categories-mobile.png"
      ],
      "suggestedFix": "Move focus to the destination heading and optionally use directional transitions.",
      "effort": "small"
    },
    {
      "id": "F006",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "no-intrusive-interruptions",
      "guidanceId": "light-dismiss-a-dialog",
      "guidanceCategory": "user-experience",
      "severity": "high",
      "confidence": "high",
      "summary": "Consent UI obscures the initial content",
      "evidence": "The initial desktop viewport is obscured by a large cookie modal before interaction, while age-verification and promotional banners also occupy the underlying first viewport.",
      "artifacts": [
        "evidence/desktop.png"
      ],
      "suggestedFix": "Keep required consent concise, semantically modal, immediately keyboard-operable, and content-respecting.",
      "effort": "medium"
    },
    {
      "id": "F007",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "guidanceCategory": "html",
      "severity": "high",
      "confidence": "high",
      "summary": "Cookie modal is a non-semantic custom div",
      "evidence": "DOM inspection found the cookie surface as a custom div.experimentalModalContainer with no dialog element or role=dialog; the page had zero dialog elements.",
      "artifacts": [
        "evidence/platform.json",
        "evidence/focus-after-reject.json"
      ],
      "suggestedFix": "Implement it with dialog/showModal, an accessible name, focus containment, Escape policy, and explicit choices.",
      "effort": "medium"
    },
    {
      "id": "F008",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "reduced-chrome",
      "guidanceId": "improve-text-layout-and-legibility",
      "guidanceCategory": "accessibility",
      "severity": "medium",
      "confidence": "high",
      "summary": "Promotional and navigation chrome crowds the content",
      "evidence": "Desktop/mobile screenshots show stacked header, age-verification banner, sale banner, persistent category rail, inline promotions, and consent UI competing with the media content.",
      "artifacts": [
        "evidence/desktop.png",
        "evidence/mobile.png"
      ],
      "suggestedFix": "Collapse secondary chrome on small screens and separate/promote the core browse task.",
      "effort": "medium"
    },
    {
      "id": "F009",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "responsive-no-horizontal-scroll",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "css",
      "severity": "critical",
      "confidence": "high",
      "summary": "Mobile layout remains desktop-width",
      "evidence": "At a 360 px visual viewport, layout reported scrollWidth 1036 and 676 px horizontal overflow; the mobile screenshot visibly clips the content column.",
      "artifacts": [
        "evidence/layout-mobile.json",
        "evidence/mobile.png"
      ],
      "suggestedFix": "Correct mobile layout selection and use fluid intrinsic widths so scrollWidth never exceeds the visual viewport.",
      "effort": "large"
    },
    {
      "id": "F010",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "guidanceCategory": "css",
      "severity": "high",
      "confidence": "high",
      "summary": "Components do not adapt to their container",
      "evidence": "Computed layout at mobile retained a 1024 px body/main and inspection found no @container rules, so reused page chrome does not adapt to its available container.",
      "artifacts": [
        "evidence/layout-mobile.json",
        "evidence/preferences.json",
        "evidence/categories-dom.json"
      ],
      "suggestedFix": "Introduce component containment and @container breakpoints for header, rail, cards, and signup shell.",
      "effort": "large"
    },
    {
      "id": "F011",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Keyboard focus and touch targeting are inadequate",
      "evidence": "Focused search input matched :focus-visible but computed outline was none and box-shadow none; Lighthouse also found two undersized/obscured targets.",
      "artifacts": [
        "evidence/focus.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Add strong :focus-visible styling and enforce at least 24x24 CSS px targets with spacing, preferably 44x44.",
      "effort": "small"
    },
    {
      "id": "F013",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "optimize-preload-priority",
      "guidanceCategory": "performance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Largest content paint misses the good range",
      "evidence": "Lighthouse measured LCP 3.0 s (outside the good <=2.5 s range) and FCP 2.9 s; CLS was 0 and TBT 0 ms in that run.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "suggestedFix": "Reduce document latency and prioritize the LCP asset and critical styles.",
      "effort": "medium"
    },
    {
      "id": "F014",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-main-thread",
      "guidanceId": "identify-heavy-scripts",
      "guidanceCategory": "performance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Long main-thread tasks occur after load",
      "evidence": "The trace recorded two long tasks, longest 170.75 ms, and 145.04 ms total blocking time; mobile layout observation independently recorded 62 ms and 144 ms tasks.",
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/layout-mobile.json"
      ],
      "suggestedFix": "Profile the 61-script workload and split/defer work into prioritized sub-50 ms tasks.",
      "effort": "medium"
    },
    {
      "id": "F015",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-preload-priority",
      "guidanceCategory": "performance",
      "severity": "high",
      "confidence": "high",
      "summary": "Render-blocking and cache delivery delay content",
      "evidence": "Lighthouse estimated 1220 ms savings from five render-blocking stylesheets and 115 KiB from cache lifetime improvements; HAR recorded 140 requests.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-summary.json",
        "evidence/home.har"
      ],
      "suggestedFix": "Inline only critical CSS, defer noncritical styles, and extend immutable cache lifetimes for versioned assets.",
      "effort": "medium"
    },
    {
      "id": "F016",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "guidanceCategory": "performance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Unused and legacy code is shipped",
      "evidence": "Lighthouse estimated 58 KiB unused CSS, 26 KiB unused JS, and 11 KiB legacy JavaScript; HAR recorded 61 scripts and about 1.01 MB script transfer.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Code-split by page archetype and remove unused/legacy branches from the modern bundle.",
      "effort": "medium"
    },
    {
      "id": "F017",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Controls and links lack robust accessible names/roles",
      "evidence": "Lighthouse found one unnamed button, two unnamed links, nine label/name mismatches, and invalid list semantics; image inspection found one missing alt.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/images.json"
      ],
      "suggestedFix": "Give every control a matching accessible name and repair list/role semantics.",
      "effort": "medium"
    },
    {
      "id": "F018",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Text contrast is insufficient",
      "evidence": "Lighthouse found 13 contrast failures, including age-banner text at 2.15:1 and 1.75:1 and metadata text at 3.29:1.",
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Adjust design tokens to meet WCAG AA in every theme and state.",
      "effort": "small"
    },
    {
      "id": "F019",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Focus and document structure are unreliable",
      "evidence": "Lighthouse found malformed list structure and inappropriate roles; direct keyboard-focus probing found no visible outline or shadow on the focused search field.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/focus.json"
      ],
      "suggestedFix": "Restore semantic lists/landmarks and provide visible, ordered keyboard focus.",
      "effort": "medium"
    },
    {
      "id": "F020",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "legible-text",
      "guidanceId": "improve-text-layout-and-legibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Text and controls do not reflow on narrow screens",
      "evidence": "At 360 px the page keeps a 1036 px content width, clipping headings, navigation, cards, and signup content outside the viewport and harming readable reflow.",
      "artifacts": [
        "evidence/mobile.png",
        "evidence/signup-mobile.png",
        "evidence/layout-mobile.json"
      ],
      "suggestedFix": "Use fluid typography and intrinsic wrapping inside a true single-column mobile layout.",
      "effort": "large"
    },
    {
      "id": "F021",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Zoom, target size, and media alternatives are incomplete",
      "evidence": "Lighthouse reports user-scalable=no in the audited mobile viewport and two target-size failures; video DOM exposed no caption tracks in the gated player state.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/video-recon.json"
      ],
      "suggestedFix": "Remove user-scalable=no, enlarge targets, and provide caption/equivalent tracks for playable media.",
      "effort": "medium"
    },
    {
      "id": "F022",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "optimize-image-priority",
      "guidanceCategory": "performance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Image markup wastes bytes and risks instability",
      "evidence": "Document has HTML doctype and UTF-8, but image inspection found 29 of 36 images missing dimensions and 13 oversized; Lighthouse independently found unsized images.",
      "artifacts": [
        "evidence/platform.json",
        "evidence/images.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Emit width/height or aspect-ratio and tighten srcset/sizes to rendered card sizes.",
      "effort": "medium"
    },
    {
      "id": "F023",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "be-discoverable",
      "principleCheckId": "crawlable-and-mobile-friendly",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "css",
      "severity": "high",
      "confidence": "high",
      "summary": "Public pages are not mobile-friendly",
      "evidence": "Links and viewport meta are present and robots permits public pages, but the 360 px layout overflows by 676 px, so the mobile-friendly part fails directly.",
      "artifacts": [
        "evidence/layout-mobile.json",
        "evidence/robots-sitemap.txt"
      ],
      "suggestedFix": "Fix responsive reflow before treating these URLs as mobile-friendly.",
      "effort": "large"
    },
    {
      "id": "F024",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "be-discoverable",
      "principleCheckId": "canonical-and-indexing-signals",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "Indexing signals are inconsistent",
      "evidence": "Home returned 200 and has a canonical, but it points to id.xhamster.com rather than the audited id.xhname.com host; /sitemap.xml returned 404 and no hreflang links were present despite many locale variants.",
      "artifacts": [
        "evidence/platform.json",
        "evidence/robots-sitemap.txt"
      ],
      "suggestedFix": "Choose a canonical host consistently, publish sitemap indexes, and emit reciprocal hreflang for locale pages.",
      "effort": "medium"
    },
    {
      "id": "F025",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "be-discoverable",
      "principleCheckId": "structured-and-shareable-metadata",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "Rich pages lack structured/share metadata",
      "evidence": "The home page is a rich media listing, but DOM inspection found zero JSON-LD blocks and zero Open Graph tags.",
      "artifacts": [
        "evidence/platform.json"
      ],
      "suggestedFix": "Add accurate VideoObject/ItemList and Open Graph metadata matching visible content.",
      "effort": "medium"
    },
    {
      "id": "F026",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "severity": "high",
      "confidence": "high",
      "summary": "Transport policy and cookies are incompletely hardened",
      "evidence": "HTTPS/HSTS are present, but CSP is only frame-ancestors self; nosniff and Referrer-Policy are missing, and two first-party cookies lack Secure.",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "suggestedFix": "Deploy a restrictive nonce/hash CSP, nosniff, strict referrer policy, and Secure/SameSite cookie attributes.",
      "effort": "medium"
    },
    {
      "id": "F027",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "guidanceCategory": "privacy",
      "severity": "medium",
      "confidence": "high",
      "summary": "The anonymous page has a broad cross-origin footprint",
      "evidence": "HAR recorded 116 of 140 requests and 1.60 MB of 1.79 MB transfer on non-page origins; tracker probe enumerated 16 third-party origins including Google accounts and an ad syndication origin.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ],
      "suggestedFix": "Audit each origin, defer optional integrations until consent/need, and batch telemetry.",
      "effort": "large"
    },
    {
      "id": "F028",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "in-context-permissions-and-modern-auth",
      "guidanceId": "passkeys",
      "guidanceCategory": "security",
      "severity": "medium",
      "confidence": "high",
      "summary": "Authentication does not expose phishing-resistant sign-in",
      "evidence": "No permission prompt fired on load, but the relevant signup flow exposes Google, X, or email and no passkey/WebAuthn option or navigator.credentials use was observed.",
      "artifacts": [
        "evidence/signup-recon.json",
        "evidence/platform.json"
      ],
      "suggestedFix": "Offer passkey registration/authentication alongside account recovery and request permissions only in context.",
      "effort": "large"
    },
    {
      "id": "F029",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "severity": "high",
      "confidence": "high",
      "summary": "Browser-enforced defensive policies are weak",
      "evidence": "HSTS and clickjacking defenses are present, but Referrer-Policy and nosniff are absent, CSP lacks script restrictions, and Permissions-Policy only configures UA client hints.",
      "artifacts": [
        "evidence/headers.json"
      ],
      "suggestedFix": "Harden CSP and Permissions-Policy, add Referrer-Policy/nosniff, and retain HSTS/frame defenses.",
      "effort": "medium"
    },
    {
      "id": "F030",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "be-internationalised",
      "principleCheckId": "locale-aware-data",
      "guidanceId": "translator",
      "guidanceCategory": "internationalization",
      "severity": "medium",
      "confidence": "high",
      "summary": "Localized pages retain English and non-locale number formatting",
      "evidence": "Rendered Indonesian copy mixes non-localized abbreviations and English labels such as 108.6M tampilan, More Videos, and Choose your porn category rather than locale-aware Indonesian formatting.",
      "artifacts": [
        "evidence/recon.json"
      ],
      "suggestedFix": "Format numbers through Intl.NumberFormat and complete message-catalog localization.",
      "effort": "medium"
    },
    {
      "id": "F031",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "be-trustworthy",
      "principleCheckId": "no-dark-patterns",
      "guidanceId": "custom-button-actions",
      "guidanceCategory": "user-experience",
      "severity": "medium",
      "confidence": "high",
      "summary": "Commercial cards are weakly distinguished from organic content",
      "evidence": "The content list interleaves third-party and subscription promotions with ordinary media cards; screenshots show the sale banner and in-feed commercial content competing with organic results, with weak ad distinction.",
      "artifacts": [
        "evidence/mobile.png",
        "evidence/recon.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Label ads/sponsored content persistently and visually separate commercial modules from organic results.",
      "effort": "medium"
    },
    {
      "id": "F032",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "optimize-image-priority",
      "guidanceCategory": "performance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Image assets are oversized or legacy",
      "evidence": "Image inspection found 13 oversized images, 15 legacy-format images, 29 missing dimensions, and three without responsive sources.",
      "artifacts": [
        "evidence/images.json"
      ],
      "suggestedFix": "Serve tightly sized AVIF/WebP variants with accurate srcset/sizes and dimensions.",
      "effort": "medium"
    },
    {
      "id": "F033",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "efficient-background-processing",
      "guidanceCategory": "performance",
      "severity": "medium",
      "confidence": "high",
      "summary": "The page ships wasteful work",
      "evidence": "The home load makes 140 requests including 61 scripts; Lighthouse identifies substantial unused CSS/JS and the trace records long tasks after load.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "suggestedFix": "Defer below-fold and optional modules and remove unused work.",
      "effort": "large"
    },
    {
      "id": "F034",
      "pathId": "home",
      "url": "https://id.xhname.com/",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "deprioritize-background-fetches",
      "guidanceCategory": "performance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Third-party and script budget is disproportionate",
      "evidence": "The page transfers 1.79 MB; 1.60 MB and 116 requests are attributed to non-page origins, with 1.01 MB of scripts and 16 third-party origins.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ],
      "suggestedFix": "Set origin/script budgets, lazy-load optional promotions, and cache or remove low-value dependencies.",
      "effort": "large"
    }
  ],
  "taskList": [
    {
      "id": "T001",
      "title": "Repair true mobile reflow and component responsiveness",
      "priority": 1,
      "findingIds": [
        "F009",
        "F010",
        "F020",
        "F023"
      ],
      "guidanceId": "fluid-scaling",
      "status": "open"
    },
    {
      "id": "T002",
      "title": "Fix accessible names, semantics, focus, contrast, zoom, and targets",
      "priority": 2,
      "findingIds": [
        "F002",
        "F011",
        "F017",
        "F018",
        "F019",
        "F021"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T003",
      "title": "Harden CSP, cookies, and browser security policies",
      "priority": 3,
      "findingIds": [
        "F026",
        "F027",
        "F029"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T004",
      "title": "Reduce blocking, unused, and cross-origin script work",
      "priority": 4,
      "findingIds": [
        "F013",
        "F014",
        "F015",
        "F016",
        "F033",
        "F034"
      ],
      "guidanceId": "identify-heavy-scripts",
      "status": "open"
    },
    {
      "id": "T005",
      "title": "Rebuild consent as a semantic, less intrusive dialog",
      "priority": 5,
      "findingIds": [
        "F006",
        "F007",
        "F008"
      ],
      "guidanceId": "declarative-dialog-popover-control",
      "status": "open"
    },
    {
      "id": "T006",
      "title": "Correct image sizing and responsive delivery",
      "priority": 6,
      "findingIds": [
        "F022",
        "F032"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "T007",
      "title": "Improve metadata, localization, and commercial labeling",
      "priority": 7,
      "findingIds": [
        "F024",
        "F025",
        "F030",
        "F031"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T008",
      "title": "Respect reduced motion and add navigational continuity",
      "priority": 8,
      "findingIds": [
        "F001",
        "F003",
        "F004",
        "F005"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T009",
      "title": "Offer passkey-based authentication",
      "priority": 9,
      "findingIds": [
        "F028"
      ],
      "guidanceId": "passkeys",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 5,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-18T05-08-27-474Z"
}
