{
  "url": "https://thisvid.com",
  "auditedAt": "2026-07-18T20:23:20.921Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage-complete agentic audit across five representative paths. Authenticated/account-only surfaces, uploads, checkout, private media, albums, community member areas, and destructive account actions were not covered because no credentials were provided and representative public templates already covered the primary anonymous journeys.",
  "page": {
    "appType": "mpa",
    "framework": "server-rendered legacy/jQuery MPA",
    "notes": "Adult media/community site. Public content is server-rendered; substantial legacy JS, advertising, analytics, and custom UI are layered on top."
  },
  "evidenceUsed": [
    "screenshot",
    "DOM/CSS capture",
    "layout metrics",
    "evaluate probes",
    "prefers-color-scheme",
    "prefers-contrast",
    "prefers-reduced-motion",
    "performance trace",
    "HAR",
    "Lighthouse",
    "discoverability/no-JS diff",
    "headers",
    "cookies",
    "trackers",
    "secrets scan",
    "images audit",
    "heap snapshots",
    "HTTP curl probes"
  ],
  "guidanceConsulted": [
    "dark-mode",
    "component-specific-light-dark-theme",
    "accessibility",
    "adapt-scrollbar-to-contrast-preferences",
    "same-document-transitions",
    "cross-document-transitions",
    "group-element-transitions",
    "faster-spa-view-transitions",
    "scrollytelling",
    "parallax-scroll-effects",
    "scroll-entry-exit-effects",
    "carousel-slide-effects",
    "physics-based-easing",
    "individual-transform-properties",
    "animate-element-entry-exit",
    "animate-to-from-top-layer",
    "animate-to-intrinsic-sizes",
    "dynamic-sibling-animations",
    "interactive-content-reveal",
    "pull-to-reveal",
    "swipe-to-remove",
    "shrinking-header-on-scroll",
    "scroll-progress-indicator",
    "scroll-position-aware-elements",
    "scroll-snap-realtime-feedback",
    "scroll-snap-state-sync",
    "scroll-target-on-load",
    "soft-edge-content-fade",
    "scrollability-affordance-hints",
    "anchor-positioning-tab-underline",
    "position-aware-tooltips",
    "interest-triggered-tooltips",
    "interest-triggered-action-previews",
    "directional-navigation-transitions",
    "carousel-snap-highlights",
    "navigation-drawer",
    "stack-drill-down",
    "persistent-app-tours",
    "persistent-toast-notifications",
    "light-dismiss-a-dialog",
    "platform-controls-dismiss-dialog",
    "declarative-dialog-popover-control",
    "animated-select-picker",
    "branded-select-styling",
    "brand-consistent-forms",
    "custom-select-picker-layouts",
    "rich-media-picker",
    "complex-shapes",
    "shaped-cutouts",
    "overflow-clipping-control",
    "visually-texture-content",
    "apply-webgl-shaders",
    "interactive-content-in-3d-scenes",
    "highlight-text-ranges",
    "prevent-text-wrapping",
    "customize-scrollbar-color-and-thickness",
    "export-html-media-from-canvas",
    "fluid-scaling",
    "calculate-with-intrinsic-sizes",
    "css-layout",
    "size-aware-styling",
    "content-based-styling",
    "child-state-based-styling",
    "design-token-reactivity",
    "dynamic-sibling-styling",
    "form-fields-automatically-fit-contents",
    "improve-text-layout-and-legibility",
    "forms",
    "accessible-error-announcement",
    "required-field-feedback",
    "validate-input-after-interaction",
    "identify-inp-causes",
    "schedule-tasks-by-priority",
    "optimize-preload-priority",
    "improve-next-page-load-performance",
    "interactions-in-complex-layouts",
    "performance",
    "visually-stable-font-fallbacks",
    "break-up-long-tasks",
    "identify-heavy-scripts",
    "optimize-script-priority",
    "defer-rendering-heavy-content",
    "defer-work-until-scroll-ends",
    "optimize-image-priority",
    "conditional-async-dependencies",
    "expose-canvas-content-to-browser-features",
    "move-dom-element-without-losing-state",
    "precise-text-alignment",
    "visually-stable-mixed-fonts",
    "css",
    "html",
    "reduce-style-repetition",
    "security",
    "privacy",
    "batch-analytics-events",
    "full-session-analytics",
    "calculate-total-foreground-time",
    "passkeys",
    "passkey-registration",
    "passkey-authentication",
    "passkey-reauthentication",
    "passkey-conditional-create",
    "passkey-management",
    "flicker-free-client-side-ab-testing",
    "consistent-cross-document-transitions",
    "stabilize-reactive-state",
    "resilient-context-menus-and-nested-dropdowns",
    "persistent-top-layer-ui",
    "detect-initial-visibility-state",
    "sequence-distributed-events",
    "translator",
    "language-detection",
    "support-global-calendar-systems",
    "capture-location-agnostic-data",
    "format-human-readable-durations",
    "manage-recurring-intervals",
    "calculate-event-differentials",
    "coordinate-global-events",
    "model-partial-time-concepts",
    "search-hidden-content",
    "select-menu-interaction",
    "style-parent-with-has",
    "autofill-address-form",
    "autofill-payment-form",
    "autofill-sign-in-form",
    "autofill-sign-up-form",
    "autofill-highlight-inputs",
    "deliver-optimized-decorative-images",
    "resolution-optimized-pseudo-elements",
    "deprioritize-background-fetches",
    "efficient-background-processing",
    "webmcp",
    "agentic-forms",
    "agentic-javascript-tools",
    "language-model",
    "summarizer",
    "declarative-button-actions"
  ],
  "artifacts": [
    {
      "type": "screenshot",
      "path": "evidence/categories-discoverability-crawler.png",
      "caption": "Audit evidence: categories-discoverability-crawler.png"
    },
    {
      "type": "screenshot",
      "path": "evidence/categories-discoverability-rendered.png",
      "caption": "Audit evidence: categories-discoverability-rendered.png"
    },
    {
      "type": "discoverability",
      "path": "evidence/categories-discoverability.json",
      "caption": "Audit evidence: categories-discoverability.json"
    },
    {
      "type": "dom",
      "path": "evidence/categories-dom.json",
      "caption": "Audit evidence: categories-dom.json"
    },
    {
      "type": "layout",
      "path": "evidence/categories-mobile-layout.json",
      "caption": "Audit evidence: categories-mobile-layout.json"
    },
    {
      "type": "screenshot",
      "path": "evidence/categories-mobile.png",
      "caption": "Audit evidence: categories-mobile.png"
    },
    {
      "type": "screenshot",
      "path": "evidence/categories.png",
      "caption": "Audit evidence: categories.png"
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.heapsnapshot",
      "caption": "Audit evidence: heap-baseline.heapsnapshot"
    },
    {
      "type": "heap",
      "path": "evidence/heap-post.heapsnapshot",
      "caption": "Audit evidence: heap-post.heapsnapshot"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-contrast-more.png",
      "caption": "Audit evidence: home-contrast-more.png",
      "findingIds": [
        "F03"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-cookies.json",
      "caption": "Audit evidence: home-cookies.json",
      "findingIds": [
        "F27",
        "F28",
        "F30"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "Audit evidence: home-dark.png",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-crawler.png",
      "caption": "Audit evidence: home-discoverability-crawler.png"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-rendered.png",
      "caption": "Audit evidence: home-discoverability-rendered.png"
    },
    {
      "type": "discoverability",
      "path": "evidence/home-discoverability.json",
      "caption": "Audit evidence: home-discoverability.json"
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "Audit evidence: home-dom.json",
      "findingIds": [
        "F07",
        "F15",
        "F26"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-headers.json",
      "caption": "Audit evidence: home-headers.json",
      "findingIds": [
        "F27",
        "F30"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-images.json",
      "caption": "Audit evidence: home-images.json",
      "findingIds": [
        "F39"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/home-mobile-layout.json",
      "caption": "Audit evidence: home-mobile-layout.json",
      "findingIds": [
        "F05"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "Audit evidence: home-mobile.png",
      "findingIds": [
        "F06",
        "F08",
        "F10",
        "F20",
        "F34",
        "F35"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-probe.json",
      "caption": "Audit evidence: home-probe.json",
      "findingIds": [
        "F04",
        "F05",
        "F06",
        "F07",
        "F09",
        "F11",
        "F19",
        "F21",
        "F24",
        "F26",
        "F33",
        "F42"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-reduced-motion-probe.json",
      "caption": "Audit evidence: home-reduced-motion-probe.json",
      "findingIds": [
        "F02"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-secrets.json",
      "caption": "Audit evidence: home-secrets.json"
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "Audit evidence: home-summary.json",
      "findingIds": [
        "F15",
        "F28",
        "F40",
        "F41"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "Audit evidence: home-trace-summary.json",
      "findingIds": [
        "F14"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "Audit evidence: home-trace.json"
    },
    {
      "type": "other",
      "path": "evidence/home-trackers.json",
      "caption": "Audit evidence: home-trackers.json",
      "findingIds": [
        "F28",
        "F35"
      ]
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "Audit evidence: home.har",
      "findingIds": [
        "F15",
        "F40"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home.png",
      "caption": "Audit evidence: home.png",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-home.json",
      "caption": "Audit evidence: lighthouse-home.json",
      "findingIds": [
        "F03",
        "F09",
        "F11",
        "F14",
        "F16",
        "F17",
        "F18",
        "F19",
        "F20",
        "F21",
        "F23",
        "F24",
        "F27",
        "F42"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-login.json",
      "caption": "Audit evidence: lighthouse-login.json",
      "findingIds": [
        "F12",
        "F14",
        "F18",
        "F22",
        "F31",
        "F38"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/login-discoverability-crawler.png",
      "caption": "Audit evidence: login-discoverability-crawler.png"
    },
    {
      "type": "screenshot",
      "path": "evidence/login-discoverability-rendered.png",
      "caption": "Audit evidence: login-discoverability-rendered.png"
    },
    {
      "type": "discoverability",
      "path": "evidence/login-discoverability.json",
      "caption": "Audit evidence: login-discoverability.json"
    },
    {
      "type": "dom",
      "path": "evidence/login-dom.json",
      "caption": "Audit evidence: login-dom.json",
      "findingIds": [
        "F29"
      ]
    },
    {
      "type": "other",
      "path": "evidence/login-form-probe.json",
      "caption": "Audit evidence: login-form-probe.json",
      "findingIds": [
        "F13",
        "F29",
        "F36",
        "F37",
        "F38"
      ]
    },
    {
      "type": "other",
      "path": "evidence/login-invalid-probe.json",
      "caption": "Audit evidence: login-invalid-probe.json",
      "findingIds": [
        "F13",
        "F36"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/login-mobile-layout.json",
      "caption": "Audit evidence: login-mobile-layout.json"
    },
    {
      "type": "screenshot",
      "path": "evidence/login-mobile.png",
      "caption": "Audit evidence: login-mobile.png",
      "findingIds": [
        "F08",
        "F12",
        "F20",
        "F31"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/login.png",
      "caption": "Audit evidence: login.png"
    },
    {
      "type": "other",
      "path": "evidence/memory-metrics.json",
      "caption": "Audit evidence: memory-metrics.json"
    },
    {
      "type": "dom",
      "path": "evidence/not-found-dom.json",
      "caption": "Audit evidence: not-found-dom.json",
      "findingIds": [
        "F32"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/not-found.png",
      "caption": "Audit evidence: not-found.png",
      "findingIds": [
        "F32"
      ]
    },
    {
      "type": "other",
      "path": "evidence/robots-headers.txt",
      "caption": "Audit evidence: robots-headers.txt"
    },
    {
      "type": "other",
      "path": "evidence/robots.txt",
      "caption": "Audit evidence: robots.txt",
      "findingIds": [
        "F25"
      ]
    },
    {
      "type": "other",
      "path": "evidence/sitemap-headers.txt",
      "caption": "Audit evidence: sitemap-headers.txt",
      "findingIds": [
        "F25"
      ]
    },
    {
      "type": "other",
      "path": "evidence/sitemap.xml",
      "caption": "Audit evidence: sitemap.xml",
      "findingIds": [
        "F25"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/video-discoverability-crawler.png",
      "caption": "Audit evidence: video-discoverability-crawler.png"
    },
    {
      "type": "screenshot",
      "path": "evidence/video-discoverability-rendered.png",
      "caption": "Audit evidence: video-discoverability-rendered.png"
    },
    {
      "type": "discoverability",
      "path": "evidence/video-discoverability.json",
      "caption": "Audit evidence: video-discoverability.json"
    },
    {
      "type": "dom",
      "path": "evidence/video-dom.json",
      "caption": "Audit evidence: video-dom.json"
    },
    {
      "type": "layout",
      "path": "evidence/video-mobile-layout.json",
      "caption": "Audit evidence: video-mobile-layout.json"
    },
    {
      "type": "screenshot",
      "path": "evidence/video-mobile.png",
      "caption": "Audit evidence: video-mobile.png",
      "findingIds": [
        "F08",
        "F34"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/video.png",
      "caption": "Audit evidence: video.png"
    }
  ],
  "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": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "Light and dark screenshots are byte-identical, and the CSS probe found no color-scheme or prefers-color-scheme rules.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home.png",
        "evidence/home-dark.png"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "The reduced-motion probe matched reduce but still reported body transition: 0.3s; CSS contains no reduced-motion override.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-reduced-motion-probe.json"
      ],
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "Lighthouse found contrast failures including 2.62:1 red text on #151515 and multiple gray-on-black labels.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-contrast-more.png"
      ],
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "CSS/DOM probe found no View Transition usage across an MPA with repeated header and listing/detail navigation.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "The homepage is 6,608px tall on mobile and the CSS probe found no scroll timeline or equivalent progress affordance.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "pass",
      "confidence": "high",
      "method": "Direct inspection or measurement using the referenced evidence.",
      "evidence": "Native scrolling remains unhijacked and the mobile layout has no horizontal overflow; no custom pointer-drag anti-pattern was observed.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "A 6,608px mobile listing retains static chrome, with no scroll-state query or progress behavior in the probe.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "Rendered DOM uses data-toggle=\"popover\" and custom dropable elements; no Popover API or CSS anchor-positioning signal was found.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F07"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct inspection or measurement using the referenced evidence.",
      "evidence": "Headings, selected navigation, large thumbnails, and the detail-page player establish a visible next focus on the representative paths.",
      "pathIds": [
        "home",
        "video"
      ],
      "artifacts": [
        "evidence/home.png",
        "evidence/video-mobile.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "Mobile screenshots show a fixed consent banner covering cards, form footer, or player metadata before interaction.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/login-mobile.png",
        "evidence/video-mobile.png"
      ],
      "findingIds": [
        "F08"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "The consent action is an <a> without href and positive tabindex; probe found zero dialog or popover elements.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "The header reaches roughly 214px and the fixed cookie banner covers the bottom ~116px of an 800px viewport.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "pass",
      "confidence": "high",
      "method": "Direct inspection or measurement using the referenced evidence.",
      "evidence": "All four representative mobile layouts reported scrollWidth 360, clientWidth 360, and zero horizontal overflow.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "login"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/categories-mobile-layout.json",
        "evidence/video-mobile-layout.json",
        "evidence/login-mobile-layout.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct inspection or measurement using the referenced evidence.",
      "evidence": "Listing cards reflow from three columns on desktop to two on mobile, and the player and login form fit at 360px.",
      "pathIds": [
        "home",
        "video",
        "login"
      ],
      "artifacts": [
        "evidence/home.png",
        "evidence/home-mobile.png",
        "evidence/video-mobile.png",
        "evidence/login-mobile.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "The focused link computed outline is none 0px; probe counted 18 visible targets below 24px and Lighthouse failed target-size.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "Direct inspection or measurement using the referenced evidence.",
      "evidence": "The homepage states “Most Recent Porn Videos”, exposes filters, and presents immediately selectable content; detail and login pages have clear headings.",
      "pathIds": [
        "home",
        "video",
        "login"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/video-mobile.png",
        "evidence/login-mobile.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "Lighthouse on /login recorded an uncaught TurnstileError for an invalid or missing sitekey parameter while the screenshot remained at “Verifying…”.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/lighthouse-login.json",
        "evidence/login-mobile.png"
      ],
      "findingIds": [
        "F12"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "The login probe found zero aria-live/alert regions; fields omit required and aria-invalid, while native pattern messages only appear after synthetic values.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login-form-probe.json",
        "evidence/login-invalid-probe.json"
      ],
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "Lighthouse measured homepage LCP 8.2s and login LCP 5.5s, despite low TBT and CLS.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/lighthouse-login.json",
        "evidence/home-trace-summary.json"
      ],
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "high",
      "method": "Direct inspection or measurement using the referenced evidence.",
      "evidence": "Observed CLS was 0 on home/categories, 0.018 on video, and 0.037 on login, all below the 0.1 good threshold.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "login"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/categories-mobile-layout.json",
        "evidence/video-mobile-layout.json",
        "evidence/login-mobile-layout.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "high",
      "method": "Direct inspection or measurement using the referenced evidence.",
      "evidence": "The trace recorded no long tasks and 0ms TBT; Lighthouse TBT was 70ms on home and 20ms on login.",
      "pathIds": [
        "home",
        "login"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/lighthouse-home.json",
        "evidence/lighthouse-login.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "HAR recorded 184 requests and 3.70MB transferred; multiple parser-inserted stylesheets and classic scripts are high-priority render-blocking candidates confirmed in DOM.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-dom.json",
        "evidence/home.har"
      ],
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "Lighthouse estimated 262KiB unused JavaScript and 17KiB unused CSS on the homepage.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "Lighthouse found the mobile menu button, pagination link, and multiple iframes without accessible names or titles.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F17"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "Lighthouse reported multiple 2.62:1 to 4.49:1 foreground/background combinations on all tested templates.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/lighthouse-login.json"
      ],
      "findingIds": [
        "F18"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "Lighthouse found no main landmark and positive tabindex values 1 and 2; focus probe showed no visible outline.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F19"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "Screenshots and Lighthouse show 9–12px gray labels and footer links on black, several with insufficient contrast.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/login-mobile.png",
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F20"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "meta viewport contains user-scalable=no; Lighthouse failed meta-viewport and target-size on home and login.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F21"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "Lighthouse captured an uncaught Cloudflare TurnstileError on /login.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/lighthouse-login.json"
      ],
      "findingIds": [
        "F22"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "pass",
      "confidence": "high",
      "method": "Direct inspection or measurement using the referenced evidence.",
      "evidence": "Representative pages have an HTML doctype, UTF-8 charset, viewport meta, image dimensions, and valid image aspect ratios.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/lighthouse-home.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "Lighthouse failed Inspector Issues and reported 17 bfcache failure reasons on home, including no-store responses and WebSocket use.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F23"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "pass",
      "confidence": "high",
      "method": "Direct inspection or measurement using the referenced evidence.",
      "evidence": "All representative templates provide distinct titles and meta descriptions in raw server HTML.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "login"
      ],
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/categories-discoverability.json",
        "evidence/video-discoverability.json",
        "evidence/login-discoverability.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "Lighthouse failed crawlable-anchors for the href-less consent action and meta-viewport for user-scalable=no; the DOM probe counted three anchors without href.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F24"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "robots.txt returned 200, but /sitemap.xml returned HTTP 404 with an HTML error body.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/robots.txt",
        "evidence/sitemap-headers.txt",
        "evidence/sitemap.xml"
      ],
      "findingIds": [
        "F25"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "Probe found zero JSON-LD blocks; homepage og:image is only “https:”, og:description is empty, and video dimensions are empty.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/home-dom.json"
      ],
      "findingIds": [
        "F26"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "Headers lack CSP and nosniff; cookies probe found PHPSESSID and analytics cookies without Secure; Lighthouse saw two HTTP ad beacons upgraded to HTTPS.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json",
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F27"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "Trackers found 19 third-party origins; HAR attributes 156 requests and 3.67MB to third parties, including GTM, Yandex and ad networks, while only “Got it” is offered.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trackers.json",
        "evidence/home-summary.json",
        "evidence/home-cookies.json"
      ],
      "findingIds": [
        "F28"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "Login fields omit autocomplete tokens and the DOM contains no passkey/WebAuthn flow despite browser support.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login-form-probe.json",
        "evidence/login-dom.json"
      ],
      "findingIds": [
        "F29"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "CSP, Referrer-Policy and Permissions-Policy are absent; 12 cookies were flagged for insecure or SameSite=None behavior.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json"
      ],
      "findingIds": [
        "F30"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "high",
      "method": "Direct inspection or measurement using the referenced evidence.",
      "evidence": "Raw HTML retained 84–96% of rendered content and titles/descriptions across all representative templates; none was a JS shell.",
      "pathIds": [
        "home",
        "categories",
        "video",
        "login"
      ],
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/categories-discoverability.json",
        "evidence/video-discoverability.json",
        "evidence/login-discoverability.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "The login widget stays in verification while Lighthouse records an uncaught TurnstileError, with no accessible fallback state.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/lighthouse-login.json",
        "evidence/login-mobile.png"
      ],
      "findingIds": [
        "F31"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Manifest/service-worker probe and site-type judgement",
      "evidence": "This server-rendered media/community site does not present itself as an installable app; no manifest or controlling service worker is declared, so offline installability was judged outside its current product intent.",
      "reason": "This server-rendered media/community site does not present itself as an installable app; no manifest or controlling service worker is declared, so offline installability was judged outside its current product intent."
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "A deliberately unknown URL returned HTTP 200 and rendered the homepage instead of a clear not-found state and recovery choices.",
      "pathIds": [
        "not-found"
      ],
      "artifacts": [
        "evidence/not-found-dom.json",
        "evidence/not-found.png"
      ],
      "findingIds": [
        "F32"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "Probe found html lang=en but no dir and no logical-property signals in loaded CSS.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F33"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "Rendered cards use strings such as “3 hours ago” and raw count formatting, with no locale-aware formatting evidence in the page DOM/CSS.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/video-mobile.png"
      ],
      "findingIds": [
        "F34"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "DOM and screenshot inspection of date/time surfaces",
      "evidence": "The audited public surfaces show relative ages, not scheduled events or user-entered absolute times, so no time-zone conversion task applies.",
      "reason": "The audited public surfaces show relative ages, not scheduled events or user-entered absolute times, so no time-zone conversion task applies."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "The fixed banner states continued use implies agreement and exposes only “Got it” plus Learn more, while trackers already run.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-trackers.json"
      ],
      "findingIds": [
        "F35"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "Fields are not required, have no aria-invalid, and there are no live regions; invalid values yield generic “Please match the format requested.”",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login-form-probe.json",
        "evidence/login-invalid-probe.json"
      ],
      "findingIds": [
        "F36"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "Username and password inputs returned empty autocomplete values.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login-form-probe.json"
      ],
      "findingIds": [
        "F37"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "The unauthenticated login flow is blocked by a Turnstile exception and exposes no passkey option.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/lighthouse-login.json",
        "evidence/login-form-probe.json"
      ],
      "findingIds": [
        "F38"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "Images audit found 40 without srcset, 14 legacy-format images, no modern-format img sources, and 34 below-fold images without native lazy loading.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-images.json"
      ],
      "findingIds": [
        "F39"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "HAR recorded 42 fetch/XHR requests and three MP4 fetches, including 2.47MB from one media CDN before the user selected content.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home.har"
      ],
      "findingIds": [
        "F40"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "Of 3.70MB transferred, 3.67MB and 156 requests were third-party; individual MP4 requests reached 1.15MB and 0.79MB.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F41"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "issues",
      "confidence": "high",
      "method": "Active audit using the referenced screenshots, DOM/evaluate probes, Lighthouse, or network evidence.",
      "evidence": "Probe found no WebMCP/tool registration; Lighthouse agentic-browsing score was 0.33 and reported a malformed accessibility tree.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F42"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Feature inventory and DOM/API probe",
      "evidence": "The site offers no summarization, writing, or inference feature whose privacy or latency would benefit from built-in on-device AI.",
      "reason": "The site offers no summarization, writing, or inference feature whose privacy or latency would benefit from built-in on-device AI."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct inspection or measurement using the referenced evidence.",
      "evidence": "After ten mobile-menu open/close cycles, DOM count stayed 1,137 and independent post heap totals were lower (336,437 nodes/18.38MB vs 344,343/18.64MB baseline); no retained-growth signal was observed.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.heapsnapshot",
        "evidence/heap-post.heapsnapshot",
        "evidence/memory-metrics.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct inspection or measurement using the referenced evidence.",
      "evidence": "The measured 18.6MB JS heap snapshot and 1,137-element DOM are proportionate to a media listing; no unbounded footprint was observed in the sampled state.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.heapsnapshot",
        "evidence/memory-metrics.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct inspection or measurement using the referenced evidence.",
      "evidence": "Repeated menu interaction left DOM/resource counts unchanged and the post heap node count decreased; no accumulation signal was observed, though dedicated retainer analysis was not run.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.heapsnapshot",
        "evidence/heap-post.heapsnapshot",
        "evidence/memory-metrics.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F01",
        "F02",
        "F03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F04",
        "F05"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F06",
        "F07"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F08",
        "F09",
        "F10"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F12",
        "F13"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F14",
        "F15",
        "F16"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F17",
        "F18",
        "F19",
        "F20",
        "F21"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F22",
        "F23"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F24",
        "F25",
        "F26"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F27",
        "F28",
        "F29",
        "F30"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F31",
        "F32"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F33",
        "F34"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F35",
        "F36",
        "F37",
        "F38"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F39",
        "F40",
        "F41"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F42"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage and latest-video listing, representing the primary browse journey.",
      "url": "https://thisvid.com/",
      "conditions": [
        "desktop",
        "viewport: 360x800",
        "prefers-color-scheme: dark",
        "prefers-contrast: more",
        "prefers-reduced-motion: reduce",
        "keyboard focus",
        "no JavaScript"
      ],
      "result": "issues"
    },
    {
      "id": "categories",
      "description": "Category index, representing taxonomy and listing navigation.",
      "url": "https://thisvid.com/categories/",
      "conditions": [
        "desktop",
        "viewport: 360x800",
        "no JavaScript"
      ],
      "result": "issues"
    },
    {
      "id": "video",
      "description": "Public video detail/player, representing the primary content-consumption template.",
      "url": "https://thisvid.com/videos/twink-dicked-down-by-a-bbc-5352/",
      "conditions": [
        "desktop",
        "viewport: 360x800",
        "no JavaScript"
      ],
      "result": "issues"
    },
    {
      "id": "login",
      "description": "Login form, representing authentication and form validation.",
      "url": "https://thisvid.com/login/",
      "conditions": [
        "desktop",
        "viewport: 360x800",
        "invalid input",
        "no JavaScript"
      ],
      "result": "issues"
    },
    {
      "id": "not-found",
      "description": "Unknown route, representing HTTP failure and recovery behavior.",
      "url": "https://thisvid.com/definitely-not-a-real-route-web-uplift/",
      "conditions": [
        "desktop"
      ],
      "result": "issues"
    }
  ],
  "findings": [
    {
      "id": "F01",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "The site ignores the user’s color-scheme preference.",
      "evidence": "Light and dark screenshots are byte-identical, and the CSS probe found no color-scheme or prefers-color-scheme rules.",
      "artifacts": [
        "evidence/home.png",
        "evidence/home-dark.png"
      ],
      "suggestedFix": "Declare color-scheme and provide preference-responsive surface, text, and control colors.",
      "effort": "medium"
    },
    {
      "id": "F02",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-reduced-motion",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "severity": "low",
      "confidence": "high",
      "summary": "A body fade remains active under reduced-motion.",
      "evidence": "The reduced-motion probe matched reduce but still reported body transition: 0.3s; CSS contains no reduced-motion override.",
      "artifacts": [
        "evidence/home-reduced-motion-probe.json"
      ],
      "suggestedFix": "Disable non-essential transitions and animations inside prefers-reduced-motion: reduce.",
      "effort": "small"
    },
    {
      "id": "F03",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-contrast",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Important text does not meet minimum contrast.",
      "evidence": "Lighthouse found contrast failures including 2.62:1 red text on #151515 and multiple gray-on-black labels.",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-contrast-more.png"
      ],
      "suggestedFix": "Raise text and control contrast and verify normal and increased-contrast modes.",
      "effort": "large"
    },
    {
      "id": "F04",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "cross-document-transitions",
      "guidanceCategory": "modern-web-guidance",
      "severity": "low",
      "confidence": "high",
      "summary": "Full-page navigation has no continuity treatment.",
      "evidence": "CSS/DOM probe found no View Transition usage across an MPA with repeated header and listing/detail navigation.",
      "artifacts": [
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Use same-origin cross-document View Transitions with a safe fallback.",
      "effort": "small"
    },
    {
      "id": "F05",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "scroll-driven-animations",
      "guidanceId": "scroll-progress-indicator",
      "guidanceCategory": "modern-web-guidance",
      "severity": "low",
      "confidence": "high",
      "summary": "Long listing pages provide no scroll progress or state cue.",
      "evidence": "The homepage is 6,608px tall on mobile and the CSS probe found no scroll timeline or equivalent progress affordance.",
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Add a lightweight compositor-driven scroll progress cue where it helps orientation.",
      "effort": "small"
    },
    {
      "id": "F06",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "shrinking-header-on-scroll",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "The long browse page offers no scroll-state-aware navigation.",
      "evidence": "A 6,608px mobile listing retains static chrome, with no scroll-state query or progress behavior in the probe.",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Add a scroll-aware compact header or progress affordance without obscuring content.",
      "effort": "medium"
    },
    {
      "id": "F07",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "anchored-positioning",
      "guidanceId": "position-aware-tooltips",
      "guidanceCategory": "modern-web-guidance",
      "severity": "low",
      "confidence": "high",
      "summary": "Menus and search popovers use legacy custom positioning.",
      "evidence": "Rendered DOM uses data-toggle=\"popover\" and custom dropable elements; no Popover API or CSS anchor-positioning signal was found.",
      "artifacts": [
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Use semantic popovers and CSS anchor positioning with position-try fallbacks.",
      "effort": "small"
    },
    {
      "id": "F08",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "no-intrusive-interruptions",
      "guidanceId": "light-dismiss-a-dialog",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "The cookie banner obscures primary content on every tested mobile path.",
      "evidence": "Mobile screenshots show a fixed consent banner covering cards, form footer, or player metadata before interaction.",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/login-mobile.png",
        "evidence/video-mobile.png"
      ],
      "suggestedFix": "Use a compact, non-obscuring consent surface with equivalent choices and reserve space when shown.",
      "effort": "large"
    },
    {
      "id": "F09",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Dismissible UI is built from custom anchors and divs.",
      "evidence": "The consent action is an <a> without href and positive tabindex; probe found zero dialog or popover elements.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Use button, dialog, and popover primitives with semantic dismissal and focus behavior.",
      "effort": "medium"
    },
    {
      "id": "F10",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "reduced-chrome",
      "guidanceId": "overflow-clipping-control",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Chrome and overlays consume too much of the first mobile viewport.",
      "evidence": "The header reaches roughly 214px and the fixed cookie banner covers the bottom ~116px of an 800px viewport.",
      "artifacts": [
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Collapse non-primary header content and keep consent controls compact.",
      "effort": "medium"
    },
    {
      "id": "F11",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Keyboard focus and touch target support are inadequate.",
      "evidence": "The focused link computed outline is none 0px; probe counted 18 visible targets below 24px and Lighthouse failed target-size.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Add clear :focus-visible styles and at least 24px targets with adequate spacing.",
      "effort": "large"
    },
    {
      "id": "F12",
      "pathId": "login",
      "url": "https://thisvid.com/login/",
      "principleId": "support-core-task-success",
      "principleCheckId": "primary-flow-completion",
      "guidanceId": "forms",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "The login flow’s verification widget throws a runtime error.",
      "evidence": "Lighthouse on /login recorded an uncaught TurnstileError for an invalid or missing sitekey parameter while the screenshot remained at “Verifying…”.",
      "artifacts": [
        "evidence/lighthouse-login.json",
        "evidence/login-mobile.png"
      ],
      "suggestedFix": "Correct the Turnstile integration and test successful and failed authentication end to end.",
      "effort": "large"
    },
    {
      "id": "F13",
      "pathId": "login",
      "url": "https://thisvid.com/login/",
      "principleId": "support-core-task-success",
      "principleCheckId": "clear-system-state-and-recovery",
      "guidanceId": "accessible-error-announcement",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Form errors and recovery state are not announced accessibly.",
      "evidence": "The login probe found zero aria-live/alert regions; fields omit required and aria-invalid, while native pattern messages only appear after synthetic values.",
      "artifacts": [
        "evidence/login-form-probe.json",
        "evidence/login-invalid-probe.json"
      ],
      "suggestedFix": "Mark required fields, set aria-invalid after interaction, and announce specific errors in a live region.",
      "effort": "large"
    },
    {
      "id": "F14",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Cold-load LCP is slow on primary pages.",
      "evidence": "Lighthouse measured homepage LCP 8.2s and login LCP 5.5s, despite low TBT and CLS.",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/lighthouse-login.json",
        "evidence/home-trace-summary.json"
      ],
      "suggestedFix": "Prioritize the LCP resource, remove blocking dependencies, and defer non-essential third parties.",
      "effort": "large"
    },
    {
      "id": "F15",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-script-priority",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "The homepage over-fetches and blocks rendering.",
      "evidence": "HAR recorded 184 requests and 3.70MB transferred; multiple parser-inserted stylesheets and classic scripts are high-priority render-blocking candidates confirmed in DOM.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-dom.json",
        "evidence/home.har"
      ],
      "suggestedFix": "Inline critical CSS, defer scripts, consolidate fonts, and gate ad/media fetching until needed.",
      "effort": "large"
    },
    {
      "id": "F16",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "A large share of shipped JS and CSS is unused.",
      "evidence": "Lighthouse estimated 262KiB unused JavaScript and 17KiB unused CSS on the homepage.",
      "artifacts": [
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Code-split page-specific bundles and remove duplicate/unused analytics and UI code.",
      "effort": "medium"
    },
    {
      "id": "F17",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Interactive controls and frames lack accessible names.",
      "evidence": "Lighthouse found the mobile menu button, pagination link, and multiple iframes without accessible names or titles.",
      "artifacts": [
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Give every control an accessible name and every meaningful iframe a title.",
      "effort": "large"
    },
    {
      "id": "F18",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Text contrast fails WCAG thresholds.",
      "evidence": "Lighthouse reported multiple 2.62:1 to 4.49:1 foreground/background combinations on all tested templates.",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/lighthouse-login.json"
      ],
      "suggestedFix": "Use tested color tokens that meet 4.5:1 for normal text and 3:1 for large text/UI.",
      "effort": "large"
    },
    {
      "id": "F19",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Landmarks and focus order are incomplete.",
      "evidence": "Lighthouse found no main landmark and positive tabindex values 1 and 2; focus probe showed no visible outline.",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Add <main>, preserve DOM-order focus, remove positive tabindex, and style :focus-visible.",
      "effort": "large"
    },
    {
      "id": "F20",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "legible-text",
      "guidanceId": "improve-text-layout-and-legibility",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Small muted text is difficult to read.",
      "evidence": "Screenshots and Lighthouse show 9–12px gray labels and footer links on black, several with insufficient contrast.",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/login-mobile.png",
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Increase minimum text size/line-height and use higher-contrast muted text tokens.",
      "effort": "medium"
    },
    {
      "id": "F21",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "The viewport disables zoom and many targets are undersized.",
      "evidence": "meta viewport contains user-scalable=no; Lighthouse failed meta-viewport and target-size on home and login.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Remove user-scalable=no, preserve 200%+ zoom/reflow, and enlarge targets.",
      "effort": "large"
    },
    {
      "id": "F22",
      "pathId": "login",
      "url": "https://thisvid.com/login/",
      "principleId": "follow-best-practices",
      "principleCheckId": "no-console-errors",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "The login page logs an uncaught verification exception.",
      "evidence": "Lighthouse captured an uncaught Cloudflare TurnstileError on /login.",
      "artifacts": [
        "evidence/lighthouse-login.json"
      ],
      "suggestedFix": "Fix sitekey initialization and add monitoring/tests that keep the console clean.",
      "effort": "medium"
    },
    {
      "id": "F23",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "follow-best-practices",
      "principleCheckId": "browser-platform-hygiene",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "The page triggers browser issues and prevents bfcache.",
      "evidence": "Lighthouse failed Inspector Issues and reported 17 bfcache failure reasons on home, including no-store responses and WebSocket use.",
      "artifacts": [
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Resolve DevTools Issues and avoid unnecessary no-store/WebSocket behavior on public browse pages.",
      "effort": "medium"
    },
    {
      "id": "F24",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "be-discoverable",
      "principleCheckId": "crawlable-and-mobile-friendly",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Some controls are non-crawlable anchors and zoom is disabled.",
      "evidence": "Lighthouse failed crawlable-anchors for the href-less consent action and meta-viewport for user-scalable=no; the DOM probe counted three anchors without href.",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Use buttons for actions, hrefs for navigation, and a zoom-safe viewport declaration.",
      "effort": "medium"
    },
    {
      "id": "F25",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "be-discoverable",
      "principleCheckId": "canonical-and-indexing-signals",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "The advertised sitemap endpoint is missing.",
      "evidence": "robots.txt returned 200, but /sitemap.xml returned HTTP 404 with an HTML error body.",
      "artifacts": [
        "evidence/robots.txt",
        "evidence/sitemap-headers.txt",
        "evidence/sitemap.xml"
      ],
      "suggestedFix": "Publish a valid XML sitemap and reference it from robots.txt; retain accurate canonicals/statuses.",
      "effort": "medium"
    },
    {
      "id": "F26",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "be-discoverable",
      "principleCheckId": "structured-and-shareable-metadata",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Structured and social metadata is incomplete or malformed.",
      "evidence": "Probe found zero JSON-LD blocks; homepage og:image is only “https:”, og:description is empty, and video dimensions are empty.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/home-dom.json"
      ],
      "suggestedFix": "Add valid VideoObject/Breadcrumb JSON-LD and complete Open Graph/Twitter metadata.",
      "effort": "medium"
    },
    {
      "id": "F27",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Security headers and cookie transport flags are incomplete.",
      "evidence": "Headers lack CSP and nosniff; cookies probe found PHPSESSID and analytics cookies without Secure; Lighthouse saw two HTTP ad beacons upgraded to HTTPS.",
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json",
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Deploy a nonce/hash CSP and nosniff, mark session cookies Secure/HttpOnly/SameSite, and remove HTTP endpoints.",
      "effort": "large"
    },
    {
      "id": "F28",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Tracking starts before meaningful consent across a very large third-party surface.",
      "evidence": "Trackers found 19 third-party origins; HAR attributes 156 requests and 3.67MB to third parties, including GTM, Yandex and ad networks, while only “Got it” is offered.",
      "artifacts": [
        "evidence/home-trackers.json",
        "evidence/home-summary.json",
        "evidence/home-cookies.json"
      ],
      "suggestedFix": "Block non-essential third parties until granular consent and reduce analytics/ad data collection.",
      "effort": "large"
    },
    {
      "id": "F29",
      "pathId": "login",
      "url": "https://thisvid.com/login/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "in-context-permissions-and-modern-auth",
      "guidanceId": "passkeys",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Authentication lacks modern credential assistance.",
      "evidence": "Login fields omit autocomplete tokens and the DOM contains no passkey/WebAuthn flow despite browser support.",
      "artifacts": [
        "evidence/login-form-probe.json",
        "evidence/login-dom.json"
      ],
      "suggestedFix": "Add autocomplete=username/current-password and offer passkey authentication as an enhancement.",
      "effort": "medium"
    },
    {
      "id": "F30",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Defensive browser policies are incomplete.",
      "evidence": "CSP, Referrer-Policy and Permissions-Policy are absent; 12 cookies were flagged for insecure or SameSite=None behavior.",
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json"
      ],
      "suggestedFix": "Set restrictive CSP/frame-ancestors, Referrer-Policy, Permissions-Policy, and hardened cookie attributes.",
      "effort": "large"
    },
    {
      "id": "F31",
      "pathId": "login",
      "url": "https://thisvid.com/login/",
      "principleId": "be-resilient",
      "principleCheckId": "resilient-runtime-behaviour",
      "guidanceId": "conditional-async-dependencies",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "A third-party verification failure is not handled gracefully.",
      "evidence": "The login widget stays in verification while Lighthouse records an uncaught TurnstileError, with no accessible fallback state.",
      "artifacts": [
        "evidence/lighthouse-login.json",
        "evidence/login-mobile.png"
      ],
      "suggestedFix": "Catch widget failures and provide retry/fallback authentication while preserving entered data and focus.",
      "effort": "medium"
    },
    {
      "id": "F32",
      "pathId": "not-found",
      "url": "https://thisvid.com/definitely-not-a-real-route-web-uplift/",
      "principleId": "be-resilient",
      "principleCheckId": "network-and-http-failure-states",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Unknown routes produce a soft 404.",
      "evidence": "A deliberately unknown URL returned HTTP 200 and rendered the homepage instead of a clear not-found state and recovery choices.",
      "artifacts": [
        "evidence/not-found-dom.json",
        "evidence/not-found.png"
      ],
      "suggestedFix": "Return HTTP 404 with a focused not-found page, search, and links back to useful sections.",
      "effort": "medium"
    },
    {
      "id": "F33",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "be-internationalised",
      "principleCheckId": "lang-dir-and-logical-properties",
      "guidanceId": "translator",
      "guidanceCategory": "modern-web-guidance",
      "severity": "low",
      "confidence": "high",
      "summary": "The document language is set but layout CSS is not direction-ready.",
      "evidence": "Probe found html lang=en but no dir and no logical-property signals in loaded CSS.",
      "artifacts": [
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Use CSS logical properties and ensure dir can be set for bidirectional/localized content.",
      "effort": "small"
    },
    {
      "id": "F34",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "be-internationalised",
      "principleCheckId": "locale-aware-data",
      "guidanceId": "language-detection",
      "guidanceCategory": "modern-web-guidance",
      "severity": "low",
      "confidence": "high",
      "summary": "Relative time and large counts appear as hard-coded English formatting.",
      "evidence": "Rendered cards use strings such as “3 hours ago” and raw count formatting, with no locale-aware formatting evidence in the page DOM/CSS.",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/video-mobile.png"
      ],
      "suggestedFix": "Format dates, relative times, and counts with Intl APIs using the active locale.",
      "effort": "small"
    },
    {
      "id": "F35",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "be-trustworthy",
      "principleCheckId": "no-dark-patterns",
      "guidanceId": "custom-button-actions",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Consent offers acceptance but no equivalent rejection or preference choice.",
      "evidence": "The fixed banner states continued use implies agreement and exposes only “Got it” plus Learn more, while trackers already run.",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-trackers.json"
      ],
      "suggestedFix": "Provide equally prominent accept/reject/manage choices and delay non-essential processing until choice.",
      "effort": "large"
    },
    {
      "id": "F36",
      "pathId": "login",
      "url": "https://thisvid.com/login/",
      "principleId": "be-trustworthy",
      "principleCheckId": "humane-error-handling",
      "guidanceId": "validate-input-after-interaction",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Login validation relies on terse browser pattern errors and lacks announced recovery.",
      "evidence": "Fields are not required, have no aria-invalid, and there are no live regions; invalid values yield generic “Please match the format requested.”",
      "artifacts": [
        "evidence/login-form-probe.json",
        "evidence/login-invalid-probe.json"
      ],
      "suggestedFix": "Validate after interaction, explain requirements beside fields, and announce errors without clearing input.",
      "effort": "medium"
    },
    {
      "id": "F37",
      "pathId": "login",
      "url": "https://thisvid.com/login/",
      "principleId": "be-trustworthy",
      "principleCheckId": "trustworthy-input-assistance",
      "guidanceId": "autofill-sign-in-form",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Login fields omit autocomplete semantics.",
      "evidence": "Username and password inputs returned empty autocomplete values.",
      "artifacts": [
        "evidence/login-form-probe.json"
      ],
      "suggestedFix": "Add autocomplete=username and autocomplete=current-password; keep password-manager paste/autofill paths unobstructed.",
      "effort": "medium"
    },
    {
      "id": "F38",
      "pathId": "login",
      "url": "https://thisvid.com/login/",
      "principleId": "be-trustworthy",
      "principleCheckId": "safe-commercial-and-account-flows",
      "guidanceId": "passkey-reauthentication",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "The account entry flow lacks resilient verification and modern reauthentication support.",
      "evidence": "The unauthenticated login flow is blocked by a Turnstile exception and exposes no passkey option.",
      "artifacts": [
        "evidence/lighthouse-login.json",
        "evidence/login-form-probe.json"
      ],
      "suggestedFix": "Repair verification, support password managers/passkeys, and test recovery before exposing account actions.",
      "effort": "medium"
    },
    {
      "id": "F39",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "deliver-optimized-decorative-images",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Images are not responsively or format optimized.",
      "evidence": "Images audit found 40 without srcset, 14 legacy-format images, no modern-format img sources, and 34 below-fold images without native lazy loading.",
      "artifacts": [
        "evidence/home-images.json"
      ],
      "suggestedFix": "Serve AVIF/WebP responsive sources with srcset/sizes and native lazy loading below the fold.",
      "effort": "medium"
    },
    {
      "id": "F40",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "deprioritize-background-fetches",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "The homepage performs substantial idle/background network work.",
      "evidence": "HAR recorded 42 fetch/XHR requests and three MP4 fetches, including 2.47MB from one media CDN before the user selected content.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home.har"
      ],
      "suggestedFix": "Do not preload feed videos; defer ad/analytics work until consent and user proximity/intent.",
      "effort": "large"
    },
    {
      "id": "F41",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "efficient-background-processing",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Third-party and media transfer dominates the page budget.",
      "evidence": "Of 3.70MB transferred, 3.67MB and 156 requests were third-party; individual MP4 requests reached 1.15MB and 0.79MB.",
      "artifacts": [
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Set explicit page/third-party budgets, lazy-load media, and remove low-value ad/analytics vendors.",
      "effort": "large"
    },
    {
      "id": "F42",
      "pathId": "home",
      "url": "https://thisvid.com/",
      "principleId": "be-agent-ready",
      "principleCheckId": "structured-agent-capabilities",
      "guidanceId": "webmcp",
      "guidanceCategory": "modern-web-guidance",
      "severity": "low",
      "confidence": "high",
      "summary": "Search and account capabilities have no machine-readable agent interface.",
      "evidence": "Probe found no WebMCP/tool registration; Lighthouse agentic-browsing score was 0.33 and reported a malformed accessibility tree.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Expose safe search/navigation actions through semantic forms and, where appropriate, WebMCP tools.",
      "effort": "small"
    }
  ],
  "taskList": [
    {
      "id": "T01",
      "title": "Raise text and control contrast and verify normal and increased-contrast modes.",
      "priority": 1,
      "findingIds": [
        "F03"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T02",
      "title": "Use a compact, non-obscuring consent surface with equivalent choices and reserve space when shown.",
      "priority": 2,
      "findingIds": [
        "F08"
      ],
      "guidanceId": "light-dismiss-a-dialog",
      "status": "open"
    },
    {
      "id": "T03",
      "title": "Add clear :focus-visible styles and at least 24px targets with adequate spacing.",
      "priority": 3,
      "findingIds": [
        "F11"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T04",
      "title": "Correct the Turnstile integration and test successful and failed authentication end to end.",
      "priority": 4,
      "findingIds": [
        "F12"
      ],
      "guidanceId": "forms",
      "status": "open"
    },
    {
      "id": "T05",
      "title": "Mark required fields, set aria-invalid after interaction, and announce specific errors in a live region.",
      "priority": 5,
      "findingIds": [
        "F13"
      ],
      "guidanceId": "accessible-error-announcement",
      "status": "open"
    },
    {
      "id": "T06",
      "title": "Prioritize the LCP resource, remove blocking dependencies, and defer non-essential third parties.",
      "priority": 6,
      "findingIds": [
        "F14"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T07",
      "title": "Inline critical CSS, defer scripts, consolidate fonts, and gate ad/media fetching until needed.",
      "priority": 7,
      "findingIds": [
        "F15"
      ],
      "guidanceId": "optimize-script-priority",
      "status": "open"
    },
    {
      "id": "T08",
      "title": "Give every control an accessible name and every meaningful iframe a title.",
      "priority": 8,
      "findingIds": [
        "F17"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T09",
      "title": "Use tested color tokens that meet 4.5:1 for normal text and 3:1 for large text/UI.",
      "priority": 9,
      "findingIds": [
        "F18"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T10",
      "title": "Add <main>, preserve DOM-order focus, remove positive tabindex, and style :focus-visible.",
      "priority": 10,
      "findingIds": [
        "F19"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T11",
      "title": "Remove user-scalable=no, preserve 200%+ zoom/reflow, and enlarge targets.",
      "priority": 11,
      "findingIds": [
        "F21"
      ],
      "guidanceId": "fluid-scaling",
      "status": "open"
    },
    {
      "id": "T12",
      "title": "Deploy a nonce/hash CSP and nosniff, mark session cookies Secure/HttpOnly/SameSite, and remove HTTP endpoints.",
      "priority": 12,
      "findingIds": [
        "F27"
      ],
      "guidanceId": "security",
      "status": "open"
    }
  ],
  "budget": {
    "wallClockSeconds": 900,
    "pathCount": 5,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-18T20-23-20-921Z"
}
