{
  "url": "https://www.hdtube.porn",
  "auditedAt": "2026-07-23T00:05:32.445Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage-complete audit of six representative public templates/journeys. Video playback, registration, age-provider completion, payment and authenticated account areas were not exercised to avoid external commitments or account creation.",
  "page": {
    "appType": "mpa",
    "framework": "server-rendered custom PHP-style MPA",
    "notes": "Adult media listing/detail site with SSR content, custom player, search, account and external age-verification flow."
  },
  "evidenceUsed": [
    "screenshot",
    "layout-metrics",
    "evaluate-probe",
    "trace",
    "har",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "discoverability",
    "axe-core",
    "Lighthouse",
    "heap-summary",
    "static CSS inspection",
    "robots.txt",
    "sitemap.xml"
  ],
  "guidanceConsulted": [
    "dark-mode",
    "accessibility",
    "adapt-scrollbar-to-contrast-preferences",
    "same-document-transitions",
    "scrollytelling",
    "physics-based-easing",
    "shrinking-header-on-scroll",
    "anchor-positioning-tab-underline",
    "directional-navigation-transitions",
    "light-dismiss-a-dialog",
    "declarative-dialog-popover-control",
    "complex-shapes",
    "fluid-scaling",
    "size-aware-styling",
    "forms",
    "accessible-error-announcement",
    "identify-inp-causes",
    "visually-stable-font-fallbacks",
    "break-up-long-tasks",
    "optimize-image-priority",
    "identify-heavy-scripts",
    "move-dom-element-without-losing-state",
    "improve-text-layout-and-legibility",
    "css",
    "html",
    "security",
    "privacy",
    "passkeys",
    "flicker-free-client-side-ab-testing",
    "resilient-context-menus-and-nested-dropdowns",
    "persistent-toast-notifications",
    "translator",
    "support-global-calendar-systems",
    "coordinate-global-events",
    "autofill-address-form",
    "autofill-payment-form",
    "deliver-optimized-decorative-images",
    "deprioritize-background-fetches",
    "webmcp",
    "language-model",
    "manage-recurring-intervals"
  ],
  "artifacts": [
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "Homepage at 1440x900",
      "condition": "viewport: 1440x900",
      "findingIds": [
        "F-30"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "Homepage at 360x800; content is visibly clipped on the right",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F-08",
        "F-09",
        "F-26"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-light.png",
      "caption": "Homepage under light preference",
      "condition": "prefers-color-scheme: light",
      "findingIds": [
        "F-01"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "Homepage under dark preference; pixel-identical presentation",
      "condition": "prefers-color-scheme: dark",
      "findingIds": [
        "F-01"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-high-contrast.png",
      "caption": "Homepage under increased-contrast preference; unchanged presentation",
      "condition": "prefers-contrast: more",
      "findingIds": [
        "F-03"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/home-layout-mobile.json",
      "caption": "Mobile layout metrics report 409px horizontal overflow",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F-05",
        "F-08",
        "F-18",
        "F-26"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "DevTools load trace",
      "condition": "default",
      "findingIds": []
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "Trace summary: LCP 1.13s, zero observed long tasks",
      "condition": "default",
      "findingIds": [
        "F-12"
      ]
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "Homepage network archive",
      "condition": "default",
      "findingIds": []
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "57 requests, 1.07MB transfer, 54 cross-origin requests",
      "condition": "default",
      "findingIds": [
        "F-13",
        "F-14",
        "F-23",
        "F-35",
        "F-36"
      ]
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "Security response-header inspection",
      "condition": "default",
      "findingIds": [
        "F-22",
        "F-25"
      ]
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "Cookie attribute inspection",
      "condition": "default",
      "findingIds": [
        "F-22",
        "F-23",
        "F-30"
      ]
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "Third-party tracker inspection",
      "condition": "default",
      "findingIds": [
        "F-23",
        "F-30",
        "F-35",
        "F-36"
      ]
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "Client-exposed secret scan",
      "condition": "default",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/images.json",
      "caption": "Image sizing, formats, srcset and alt inspection",
      "condition": "default",
      "findingIds": [
        "F-15",
        "F-19",
        "F-34"
      ]
    },
    {
      "type": "discoverability",
      "path": "evidence/discoverability.json",
      "caption": "Raw HTML versus rendered content comparison",
      "condition": "JavaScript disabled comparison",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-rendered.png",
      "caption": "Rendered browser view",
      "condition": "JavaScript enabled",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-crawler.png",
      "caption": "Crawler view",
      "condition": "JavaScript disabled",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/axe-home.json",
      "caption": "axe-core WCAG result",
      "condition": "default",
      "findingIds": [
        "F-03",
        "F-15",
        "F-16"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-home.json",
      "caption": "Lighthouse audit JSON",
      "condition": "mobile emulation",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/lighthouse-summary.json",
      "caption": "Compact Lighthouse metrics and diagnostics",
      "condition": "mobile emulation",
      "findingIds": [
        "F-12",
        "F-14",
        "F-19",
        "F-29"
      ]
    },
    {
      "type": "other",
      "path": "evidence/platform-probe.json",
      "caption": "Preferences, CSS features, focus and script placement probe",
      "condition": "reduced motion and increased contrast",
      "findingIds": [
        "F-01",
        "F-02",
        "F-06",
        "F-07",
        "F-09",
        "F-10",
        "F-13",
        "F-17"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-probe.json",
      "caption": "Homepage metadata, links, forms and heading probe",
      "condition": "default",
      "findingIds": [
        "F-29"
      ]
    },
    {
      "type": "other",
      "path": "evidence/document-probe.json",
      "caption": "Document, interaction, manifest and service-worker probe",
      "condition": "default",
      "findingIds": [
        "F-06",
        "F-07",
        "F-24",
        "F-27"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.json",
      "caption": "Baseline heap summary",
      "condition": "default",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/heap-post-scroll.json",
      "caption": "Heap after ten repeated down/up scroll cycles",
      "condition": "10 repeated scroll cycles",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/categories.png",
      "caption": "Category-index archetype",
      "condition": "viewport: 1440x900",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/categories-mobile-layout.json",
      "caption": "Category page mobile overflow",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F-05",
        "F-08"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/search.png",
      "caption": "Search-results archetype",
      "condition": "query: amateur",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/detail.png",
      "caption": "Media-detail archetype with player affordance",
      "condition": "viewport: 1440x900",
      "findingIds": [
        "F-18"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/detail-mobile-layout.json",
      "caption": "Detail page mobile overflow",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F-08",
        "F-18"
      ]
    },
    {
      "type": "other",
      "path": "evidence/detail-probe.json",
      "caption": "Detail-page metadata and media probe",
      "condition": "default",
      "findingIds": [
        "F-18",
        "F-21"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/login.png",
      "caption": "Login page with failed styling and excessive spacing",
      "condition": "viewport: 1440x900",
      "findingIds": [
        "F-20",
        "F-33"
      ]
    },
    {
      "type": "other",
      "path": "evidence/login-probe.json",
      "caption": "Login form labels and autocomplete probe",
      "condition": "default",
      "findingIds": [
        "F-15",
        "F-20",
        "F-24",
        "F-31",
        "F-32",
        "F-33"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/login-invalid.png",
      "caption": "Blank login submission produces no visible feedback",
      "condition": "blank form submission",
      "findingIds": [
        "F-11",
        "F-31"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/not-found.png",
      "caption": "Raw nginx 404 with no recovery navigation",
      "condition": "unknown route",
      "findingIds": [
        "F-11",
        "F-28"
      ]
    },
    {
      "type": "other",
      "path": "evidence/not-found-probe.json",
      "caption": "404 text and recovery-link probe",
      "condition": "unknown route",
      "findingIds": [
        "F-11",
        "F-28"
      ]
    },
    {
      "type": "other",
      "path": "evidence/robots.txt",
      "caption": "robots.txt including valid sitemap and explicit AI-crawler blocks",
      "condition": "crawler request",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/sitemap.xml",
      "caption": "Sitemap index used for representative route selection",
      "condition": "crawler request",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/main.decompressed.css",
      "caption": "Authored production stylesheet inspected for preference and modern-layout rules",
      "condition": "static CSS inspection",
      "findingIds": [
        "F-01",
        "F-02",
        "F-03",
        "F-04",
        "F-05",
        "F-06",
        "F-09",
        "F-29"
      ]
    }
  ],
  "config": {
    "loaded": false
  },
  "coverage": {
    "catalogVersion": "modern-web-guidance@0.0.172",
    "catalogChecksum": "sha256:78ccfdb2d483f4c57d9dafed80fd86c6265585a56457c8dcfddc254b80fb44d7",
    "expected": 58,
    "recorded": 58,
    "judged": 58,
    "blocked": 0,
    "notRun": 0,
    "missing": 0,
    "unknown": 0,
    "duplicates": 0,
    "complete": true
  },
  "checkOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-color-scheme",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/home-light.png, evidence/home-dark.png, evidence/platform-probe.json, evidence/main.decompressed.css",
      "evidence": "Light and dark screenshots are pixel-identical; the platform probe reports colorScheme \"normal\", and static CSS contains no color-scheme or prefers-color-scheme rule.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-light.png",
        "evidence/home-dark.png",
        "evidence/platform-probe.json",
        "evidence/main.decompressed.css"
      ],
      "findingIds": [
        "F-01"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/platform-probe.json, evidence/main.decompressed.css",
      "evidence": "Under prefers-reduced-motion: reduce, computed transitions of 0.25s to 0.5s remain on menus, buttons and navigation; static CSS has no reduced-motion media query.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/main.decompressed.css"
      ],
      "findingIds": [
        "F-02"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/home-high-contrast.png, evidence/axe-home.json, evidence/main.decompressed.css",
      "evidence": "The increased-contrast screenshot is unchanged, static CSS has no prefers-contrast/forced-colors rule, and axe reports 3.74:1 and 3.95:1 text contrast failures.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-high-contrast.png",
        "evidence/axe-home.json",
        "evidence/main.decompressed.css"
      ],
      "findingIds": [
        "F-03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/main.decompressed.css",
      "evidence": "The site is an MPA and production CSS contains no view-transition-name or @view-transition rule.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/main.decompressed.css"
      ],
      "findingIds": [
        "F-04"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "pass",
      "confidence": "high",
      "method": "Static CSS inspection plus load trace",
      "evidence": "No scroll-linked animation is implemented, so no main-thread scroll-handler animation anti-pattern was observed; trace recorded zero long tasks.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative route and interaction recon",
      "evidence": "No swipe, pull-to-reveal, carousel or other gesture-driven control appears on the representative surfaces; normal browser scrolling is the only physical interaction.",
      "reason": "No swipe, pull-to-reveal, carousel or other gesture-driven control appears on the representative surfaces; normal browser scrolling is the only physical interaction."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/home-layout-mobile.json, evidence/categories-mobile-layout.json, evidence/main.decompressed.css",
      "evidence": "Homepage and category pages are over 4,000 CSS pixels tall, while the probe finds no fixed/sticky chrome and CSS contains no scroll-state or scroll-timeline rules.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/categories-mobile-layout.json",
        "evidence/main.decompressed.css"
      ],
      "findingIds": [
        "F-05"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/platform-probe.json, evidence/document-probe.json, evidence/main.decompressed.css",
      "evidence": "The DOM exposes custom .dropdown__content/.cat-drop menus; static CSS has no anchor-name or position-anchor usage.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/document-probe.json",
        "evidence/main.decompressed.css"
      ],
      "findingIds": [
        "F-06"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "high",
      "method": "Visual review across home, search and detail",
      "evidence": "Active HOME navigation is highlighted, search results retain query context, and detail pages use a clear H1 and prominent player.",
      "pathIds": [
        "home",
        "search",
        "detail"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "pass",
      "confidence": "high",
      "method": "First-load screenshots across templates",
      "evidence": "Age verification is an inline banner that does not obscure content; no full-viewport popup appears on load.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/platform-probe.json, evidence/document-probe.json",
      "evidence": "The platform probe finds zero dialog, popover or details elements while custom dropdown containers are present.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "F-07"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "pass",
      "confidence": "high",
      "method": "Desktop and mobile screenshot review",
      "evidence": "The main viewport is dominated by content cards/player; surrounding chrome is compact on desktop.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/home-mobile.png, evidence/home-layout-mobile.json, evidence/categories-mobile-layout.json, evidence/detail-mobile-layout.json",
      "evidence": "Layout metrics report scrollWidth 769px against a 360px visual viewport, a 409px overflow, on home, categories and detail pages; the mobile screenshot clips navigation, banner text and cards.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-layout-mobile.json",
        "evidence/categories-mobile-layout.json",
        "evidence/detail-mobile-layout.json"
      ],
      "findingIds": [
        "F-08"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/home-mobile.png, evidence/platform-probe.json, evidence/main.decompressed.css",
      "evidence": "The production CSS and live computed-style probe find no container query containers or @container rules; reused cards remain in a clipped desktop grid on mobile.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/platform-probe.json",
        "evidence/main.decompressed.css"
      ],
      "findingIds": [
        "F-09"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/platform-probe.json",
      "evidence": "The focus probe reports outline none on the language button, search input and search button, plus repeated visible focusable anchors sized 0x0.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F-10"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "Visual hierarchy and heading review",
      "evidence": "Home clearly exposes browsable videos/search and the detail page exposes a large play action under a descriptive H1.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/detail.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "pass",
      "confidence": "high",
      "method": "Representative browse/search/detail walkthrough",
      "evidence": "Homepage, category index, search results and a sitemap-selected detail page all load with direct links and the detail player affordance.",
      "pathIds": [
        "home",
        "categories",
        "search",
        "detail"
      ],
      "artifacts": [
        "evidence/search.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/login-invalid.png, evidence/not-found.png, evidence/not-found-probe.json",
      "evidence": "Blank login submission leaves the page visually unchanged, and an unknown route returns a bare nginx 404 with no home, search or retry link.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login-invalid.png",
        "evidence/not-found.png",
        "evidence/not-found-probe.json"
      ],
      "findingIds": [
        "F-11"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/lighthouse-summary.json, evidence/home-trace-summary.json",
      "evidence": "Lighthouse reports LCP 2.9s (performance 0.93), although the unthrottled trace reports 1.13s and CLS 0; the slower representative condition does not meet the 2.5s good threshold.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "findingIds": [
        "F-12"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "high",
      "method": "Layout observer and Lighthouse",
      "evidence": "Layout observer and Lighthouse both report CLS 0; all 85 audited images have width and height attributes.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-layout-mobile.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "high",
      "method": "DevTools trace and Lighthouse",
      "evidence": "Trace reports zero long tasks and 0ms TBT; Lighthouse reports 10ms TBT.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/home-summary.json, evidence/platform-probe.json",
      "evidence": "HAR identifies two parser-inserted classic scripts without async/defer; GTM is the slowest request at 1.3s and the network includes six redirects.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F-13"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/lighthouse-summary.json, evidence/home-summary.json",
      "evidence": "Lighthouse estimates 240KiB unused JavaScript and 21KiB unused CSS; HAR attributes about 296KB to two GTM bundles alone.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F-14"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/axe-home.json, evidence/login-probe.json, evidence/images.json",
      "evidence": "axe reports the search icon button has no discernible name; the login probe finds username/password controls without labels, and the image audit finds two missing alt attributes.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/axe-home.json",
        "evidence/login-probe.json",
        "evidence/images.json"
      ],
      "findingIds": [
        "F-15"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/axe-home.json",
      "evidence": "axe measures 3.74:1 for the age-verification subtext and 3.95:1 for “Top searches”, below 4.5:1.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/axe-home.json"
      ],
      "findingIds": [
        "F-16"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/platform-probe.json",
      "evidence": "The focus probe finds key controls with outline none and 75 visible links without text, including multiple zero-size focus targets.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F-17"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "high",
      "method": "Screenshot review plus axe",
      "evidence": "Primary headings and card labels are readable and unclipped on desktop; the specific contrast exceptions are recorded separately.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/home-layout-mobile.json, evidence/detail-mobile-layout.json, evidence/detail-probe.json, evidence/detail.png",
      "evidence": "All three tested templates overflow by 409px at 360px. The detail probe finds no video/track element despite a visible player, so no caption equivalent is discoverable in the page DOM.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/detail-mobile-layout.json",
        "evidence/detail-probe.json",
        "evidence/detail.png"
      ],
      "findingIds": [
        "F-18"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse Runtime/console audit",
      "evidence": "Lighthouse reports no browser errors logged to the console.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/images.json, evidence/lighthouse-summary.json",
      "evidence": "The image audit finds 85/85 images in legacy formats, 64 without srcset and 30 rendered at less than half natural width; Lighthouse also reports 21KiB unused CSS.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F-19"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse and permission-state probe",
      "evidence": "Lighthouse reports no deprecated API use; geolocation and notifications remain in prompt state with no prompt observed on load.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/login-probe.json, evidence/login.png",
      "evidence": "The login probe returns an empty document.title and the page is visually an unstyled isolated form, while home/detail metadata is descriptive.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login-probe.json",
        "evidence/login.png"
      ],
      "findingIds": [
        "F-20"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "pass",
      "confidence": "high",
      "method": "DOM, robots and Lighthouse SEO review",
      "evidence": "Homepage has viewport metadata, descriptive href links and valid robots.txt; Lighthouse SEO is 1.0.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/robots.txt"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "pass",
      "confidence": "high",
      "method": "HTTP, canonical, sitemap and Lighthouse review",
      "evidence": "Home and detail return usable content with canonical URLs; robots points to a current sitemap and Lighthouse validates canonical/hreflang.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/sitemap.xml"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/detail-probe.json",
      "evidence": "The detail probe finds useful Open Graph video fields but zero JSON-LD blocks, so duration, thumbnail and content metadata are not exposed as schema.org VideoObject.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/detail-probe.json"
      ],
      "findingIds": [
        "F-21"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/headers.json, evidence/cookies.json",
      "evidence": "Header inspection finds no CSP, HSTS or nosniff. Cookie inspection finds 11 cookies lacking Secure and PHPSESSID lacks HttpOnly while using SameSite=None.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "F-22"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/trackers.json, evidence/home-summary.json, evidence/cookies.json",
      "evidence": "Tracker evidence identifies Google Tag Manager, Google Analytics and Yandex across six non-page origins; HAR records 54 cross-origin requests and 990KB cross-origin transfer.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/trackers.json",
        "evidence/home-summary.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "F-23"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/login-probe.json, evidence/document-probe.json",
      "evidence": "The login form exposes username/password controls with no autocomplete tokens; no WebAuthn/passkey surface is present. Permission states remain prompt, so no on-load browser permission prompt was observed.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login-probe.json",
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "F-24"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/headers.json",
      "evidence": "Headers include X-Frame-Options SAMEORIGIN, but omit CSP/frame-ancestors, HSTS, Referrer-Policy and Permissions-Policy.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json"
      ],
      "findingIds": [
        "F-25"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "high",
      "method": "Raw HTML/rendered comparison",
      "evidence": "Discoverability reports HTTP 200, 100% content coverage, non-shell HTML and title/H1/description present without JavaScript.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/home-mobile.png, evidence/home-layout-mobile.json",
      "evidence": "At 360px, the custom desktop navigation extends beyond the viewport and the age banner text and card grid are clipped; the dropdown implementation has no anchor fallback.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-layout-mobile.json"
      ],
      "findingIds": [
        "F-26"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/document-probe.json",
      "evidence": "The manifest has name/icons/display standalone but no start_url, and the service-worker probe finds zero registrations.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/document-probe.json"
      ],
      "findingIds": [
        "F-27"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/not-found.png, evidence/not-found-probe.json",
      "evidence": "A missing route renders only “404 Not Found nginx” and exposes no links, search, retry or route back.",
      "pathIds": [
        "not-found"
      ],
      "artifacts": [
        "evidence/not-found.png",
        "evidence/not-found-probe.json"
      ],
      "findingIds": [
        "F-28"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/home-probe.json, evidence/lighthouse-summary.json, evidence/main.decompressed.css",
      "evidence": "The home document correctly declares lang=en and Lighthouse validates hreflang, but static CSS contains 209 physical left/right declarations and zero logical-property declarations.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/lighthouse-summary.json",
        "evidence/main.decompressed.css"
      ],
      "findingIds": [
        "F-29"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative route and interaction recon",
      "evidence": "The representative public surfaces show no user-facing dates, currencies, durations or locale-sensitive numeric values requiring Intl formatting.",
      "reason": "The representative public surfaces show no user-facing dates, currencies, durations or locale-sensitive numeric values requiring Intl formatting."
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative route and interaction recon",
      "evidence": "No events, schedules, stored times or cross-time-zone coordination appear in the audited public surfaces.",
      "reason": "No events, schedules, stored times or cross-time-zone coordination appear in the audited public surfaces."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/home-desktop.png, evidence/cookies.json, evidence/trackers.json",
      "evidence": "The prominent age banner says “we don’t store personal data”, while before any age action the page sets 11 cookies, including 400-day analytics cookies, and loads Google/Yandex tracking.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/cookies.json",
        "evidence/trackers.json"
      ],
      "findingIds": [
        "F-30"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/login-probe.json, evidence/login-invalid.png",
      "evidence": "Username/password inputs have no associated labels or required semantics; submitting both blank leaves the screenshot unchanged with no visible or announced error.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login-probe.json",
        "evidence/login-invalid.png"
      ],
      "findingIds": [
        "F-31"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/login-probe.json",
      "evidence": "The login probe reports empty autocomplete values for both username and password.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login-probe.json"
      ],
      "findingIds": [
        "F-32"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/login.png, evidence/login-probe.json",
      "evidence": "The login screenshot shows failed/absent site styling, extreme gaps and no surrounding navigation; the form lacks autocomplete and any passkey option.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login.png",
        "evidence/login-probe.json"
      ],
      "findingIds": [
        "F-33"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/images.json",
      "evidence": "Image evidence finds 85 legacy-format images, 64 missing srcset and 30 oversized relative to display.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json"
      ],
      "findingIds": [
        "F-34"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/home-summary.json, evidence/trackers.json",
      "evidence": "GTM and Yandex account for roughly 386KB of script transfer; six tracking origins run during initial load before interaction.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ],
      "findingIds": [
        "F-35"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence review using evidence/home-summary.json, evidence/trackers.json",
      "evidence": "HAR records 990KB of 1.07MB as cross-origin and 54 of 57 requests cross-origin; tracker evidence finds Google and Yandex systems active.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ],
      "findingIds": [
        "F-36"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative route and interaction recon",
      "evidence": "The publisher explicitly blocks major AI crawlers in robots.txt and exposes no agent-facing workflow; structured WebMCP capability is therefore not an intended surface.",
      "reason": "The publisher explicitly blocks major AI crawlers in robots.txt and exposes no agent-facing workflow; structured WebMCP capability is therefore not an intended surface."
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative route and interaction recon",
      "evidence": "No summarisation, language-model or other inference task is part of the core browse/watch journey, so on-device inference would add no demonstrated value.",
      "reason": "No summarisation, language-model or other inference task is part of the core browse/watch journey, so on-device inference would add no demonstrated value."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "medium",
      "method": "Baseline/post heap comparison after 10 scroll cycles",
      "evidence": "Heap self size rises only 231,317 bytes (1.8%) and nodes 2,318 (1.0%) after ten real listing scroll cycles; no unbounded growth signal is visible.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-post-scroll.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "medium",
      "method": "Heap summary proportionality review",
      "evidence": "Baseline heap is 12.9MB across 229,922 nodes, proportionate for an image-heavy listing with analytics.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "Constructor comparison across heap summaries",
      "evidence": "No Detached* constructor appears among dominant populations, and closure count changes only 11,183 to 11,205 after repeated scrolling.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-post-scroll.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-01",
        "F-02",
        "F-03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-04"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-05",
        "F-06"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-07"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-08",
        "F-09",
        "F-10"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-11"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-12",
        "F-13",
        "F-14"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-15",
        "F-16",
        "F-17",
        "F-18"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-19"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-20",
        "F-21"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-22",
        "F-23",
        "F-24",
        "F-25"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F-26",
        "F-27",
        "F-28"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F-29"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-30",
        "F-31",
        "F-32",
        "F-33"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F-34",
        "F-35",
        "F-36"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "All checks were judged inapplicable to this site’s stated/publicly observable purpose."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage/listing shell, primary browse entry, global navigation, preferences, performance, privacy and memory conditions.",
      "url": "https://www.hdtube.porn/",
      "conditions": [
        "1440x900",
        "360x800",
        "prefers-color-scheme light/dark",
        "prefers-reduced-motion reduce",
        "prefers-contrast more",
        "JavaScript disabled",
        "10 repeated scroll cycles"
      ],
      "result": "issues"
    },
    {
      "id": "categories",
      "description": "Category-index archetype representing taxonomy discovery and a second long card-grid template.",
      "url": "https://www.hdtube.porn/categories/",
      "conditions": [
        "1440x900",
        "360x800"
      ],
      "result": "issues"
    },
    {
      "id": "search",
      "description": "Primary search-results journey using a non-sensitive generic query.",
      "url": "https://www.hdtube.porn/search/?q=amateur",
      "conditions": [
        "1440x900"
      ],
      "result": "pass"
    },
    {
      "id": "detail",
      "description": "Sitemap-selected media-detail archetype representing title metadata, player affordance and related-content navigation; playback was not started.",
      "url": "https://www.hdtube.porn/videos/keeping-her-shirt-on-while-being-fucked-in-the-bathroom/",
      "conditions": [
        "1440x900",
        "360x800"
      ],
      "result": "issues"
    },
    {
      "id": "login",
      "description": "Primary account form and blank-submission recovery state; no credentials were entered.",
      "url": "https://www.hdtube.porn/login/",
      "conditions": [
        "1440x900",
        "blank submission"
      ],
      "result": "issues"
    },
    {
      "id": "not-found",
      "description": "Unknown-route HTTP failure state and recovery path.",
      "url": "https://www.hdtube.porn/definitely-not-a-real-page-web-uplift/",
      "conditions": [
        "1440x900"
      ],
      "result": "issues"
    }
  ],
  "findings": [
    {
      "id": "F-01",
      "severity": "medium",
      "confidence": "high",
      "summary": "The site imposes one dark palette instead of following the user’s theme preference.",
      "evidence": "Light and dark screenshots are pixel-identical; the platform probe reports colorScheme \"normal\", and static CSS contains no color-scheme or prefers-color-scheme rule.",
      "suggestedFix": "Declare color-scheme and provide light/dark tokens selected with prefers-color-scheme or light-dark().",
      "effort": "small",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/home-light.png",
        "evidence/home-dark.png",
        "evidence/platform-probe.json",
        "evidence/main.decompressed.css"
      ]
    },
    {
      "id": "F-02",
      "severity": "low",
      "confidence": "high",
      "summary": "Motion is not adapted for reduced-motion users.",
      "evidence": "Under prefers-reduced-motion: reduce, computed transitions of 0.25s to 0.5s remain on menus, buttons and navigation; static CSS has no reduced-motion media query.",
      "suggestedFix": "Wrap non-essential transitions in a no-preference query and reduce or remove them under prefers-reduced-motion: reduce.",
      "effort": "small",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-reduced-motion",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/main.decompressed.css"
      ]
    },
    {
      "id": "F-03",
      "severity": "medium",
      "confidence": "high",
      "summary": "The UI does not adapt to increased contrast and already contains low-contrast text.",
      "evidence": "The increased-contrast screenshot is unchanged, static CSS has no prefers-contrast/forced-colors rule, and axe reports 3.74:1 and 3.95:1 text contrast failures.",
      "suggestedFix": "Add forced-colors/prefers-contrast adaptations and raise text contrast to WCAG AA.",
      "effort": "small",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-contrast",
      "guidanceId": "adapt-scrollbar-to-contrast-preferences",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/home-high-contrast.png",
        "evidence/axe-home.json",
        "evidence/main.decompressed.css"
      ]
    },
    {
      "id": "F-04",
      "severity": "low",
      "confidence": "high",
      "summary": "Cross-document navigation changes abruptly.",
      "evidence": "The site is an MPA and production CSS contains no view-transition-name or @view-transition rule.",
      "suggestedFix": "Add progressive cross-document View Transitions for repeated shell and thumbnail-to-detail navigation, respecting reduced motion.",
      "effort": "small",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "same-document-transitions",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/main.decompressed.css"
      ]
    },
    {
      "id": "F-05",
      "severity": "low",
      "confidence": "high",
      "summary": "Long listings provide no scroll-state-aware navigation or progress affordance.",
      "evidence": "Homepage and category pages are over 4,000 CSS pixels tall, while the probe finds no fixed/sticky chrome and CSS contains no scroll-state or scroll-timeline rules.",
      "suggestedFix": "Use a sticky, scroll-state-aware compact header or lightweight progress/return affordance.",
      "effort": "small",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "shrinking-header-on-scroll",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/categories-mobile-layout.json",
        "evidence/main.decompressed.css"
      ]
    },
    {
      "id": "F-06",
      "severity": "low",
      "confidence": "high",
      "summary": "Dropdown navigation is custom-positioned without anchor positioning.",
      "evidence": "The DOM exposes custom .dropdown__content/.cat-drop menus; static CSS has no anchor-name or position-anchor usage.",
      "suggestedFix": "Use CSS anchor positioning with fallback positions for dropdowns near viewport edges.",
      "effort": "small",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "anchored-positioning",
      "guidanceId": "anchor-positioning-tab-underline",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/document-probe.json",
        "evidence/main.decompressed.css"
      ]
    },
    {
      "id": "F-07",
      "severity": "low",
      "confidence": "high",
      "summary": "Rich navigation uses ad-hoc dropdown containers rather than semantic platform primitives.",
      "evidence": "The platform probe finds zero dialog, popover or details elements while custom dropdown containers are present.",
      "suggestedFix": "Use popover for transient menus, details for disclosures, and declarative light-dismiss where appropriate.",
      "effort": "small",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/document-probe.json"
      ]
    },
    {
      "id": "F-08",
      "severity": "critical",
      "confidence": "high",
      "summary": "The desktop-width layout is forced into a 360px viewport.",
      "evidence": "Layout metrics report scrollWidth 769px against a 360px visual viewport, a 409px overflow, on home, categories and detail pages; the mobile screenshot clips navigation, banner text and cards.",
      "suggestedFix": "Replace fixed/minimum widths with intrinsic fluid layouts, wrap navigation, and test every template at narrow widths.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "responsive-no-horizontal-scroll",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-layout-mobile.json",
        "evidence/categories-mobile-layout.json",
        "evidence/detail-mobile-layout.json"
      ]
    },
    {
      "id": "F-09",
      "severity": "medium",
      "confidence": "high",
      "summary": "Repeated card and navigation components do not adapt to their available container.",
      "evidence": "The production CSS and live computed-style probe find no container query containers or @container rules; reused cards remain in a clipped desktop grid on mobile.",
      "suggestedFix": "Give reusable grids/cards containment and adapt columns and controls with container queries.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/platform-probe.json",
        "evidence/main.decompressed.css"
      ]
    },
    {
      "id": "F-10",
      "severity": "high",
      "confidence": "high",
      "summary": "Keyboard focus is suppressed on key controls and several focusable links have zero-size hit areas.",
      "evidence": "The focus probe reports outline none on the language button, search input and search button, plus repeated visible focusable anchors sized 0x0.",
      "suggestedFix": "Add strong :focus-visible styles, remove empty focusable links, and preserve at least 44px touch targets for controls.",
      "effort": "small",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/platform-probe.json"
      ]
    },
    {
      "id": "F-11",
      "severity": "high",
      "confidence": "high",
      "summary": "Error and recovery states are missing or unhelpful.",
      "evidence": "Blank login submission leaves the page visually unchanged, and an unknown route returns a bare nginx 404 with no home, search or retry link.",
      "suggestedFix": "Show inline, announced login errors and serve a branded 404 with search and safe navigation back to content.",
      "effort": "medium",
      "pathId": "login",
      "url": "https://www.hdtube.porn/login/",
      "principleId": "support-core-task-success",
      "principleCheckId": "clear-system-state-and-recovery",
      "guidanceId": "accessible-error-announcement",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/login-invalid.png",
        "evidence/not-found.png",
        "evidence/not-found-probe.json"
      ]
    },
    {
      "id": "F-12",
      "severity": "medium",
      "confidence": "high",
      "summary": "Lab LCP is outside the good threshold under Lighthouse mobile conditions.",
      "evidence": "Lighthouse reports LCP 2.9s (performance 0.93), although the unthrottled trace reports 1.13s and CLS 0; the slower representative condition does not meet the 2.5s good threshold.",
      "suggestedFix": "Prioritise the LCP image/content and trim early third-party work; verify field LCP and INP.",
      "effort": "small",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "identify-inp-causes",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json"
      ]
    },
    {
      "id": "F-13",
      "severity": "medium",
      "confidence": "high",
      "summary": "Synchronous first-party scripts and tracking chains add avoidable delivery cost.",
      "evidence": "HAR identifies two parser-inserted classic scripts without async/defer; GTM is the slowest request at 1.3s and the network includes six redirects.",
      "suggestedFix": "Defer non-critical first-party scripts, shorten tracking chains and preserve long-lived cache headers for versioned assets.",
      "effort": "small",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "identify-heavy-scripts",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/platform-probe.json"
      ]
    },
    {
      "id": "F-14",
      "severity": "medium",
      "confidence": "high",
      "summary": "The homepage ships substantial unused JavaScript and CSS.",
      "evidence": "Lighthouse estimates 240KiB unused JavaScript and 21KiB unused CSS; HAR attributes about 296KB to two GTM bundles alone.",
      "suggestedFix": "Remove duplicate analytics loaders, split page-specific code, and load optional features only after intent.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-summary.json"
      ]
    },
    {
      "id": "F-15",
      "severity": "high",
      "confidence": "high",
      "summary": "Important controls and form fields lack accessible names or explicit labels.",
      "evidence": "axe reports the search icon button has no discernible name; the login probe finds username/password controls without labels, and the image audit finds two missing alt attributes.",
      "suggestedFix": "Add an accessible name to icon buttons, explicit labels to login fields, and appropriate alt text or empty alt for decorative images.",
      "effort": "small",
      "pathId": "login",
      "url": "https://www.hdtube.porn/login/",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/axe-home.json",
        "evidence/login-probe.json",
        "evidence/images.json"
      ]
    },
    {
      "id": "F-16",
      "severity": "medium",
      "confidence": "high",
      "summary": "Some secondary text fails WCAG AA contrast.",
      "evidence": "axe measures 3.74:1 for the age-verification subtext and 3.95:1 for “Top searches”, below 4.5:1.",
      "suggestedFix": "Use higher-contrast text tokens and re-test normal and high-contrast modes.",
      "effort": "small",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/axe-home.json"
      ]
    },
    {
      "id": "F-17",
      "severity": "high",
      "confidence": "high",
      "summary": "Focus visibility and focusable-element structure are unreliable.",
      "evidence": "The focus probe finds key controls with outline none and 75 visible links without text, including multiple zero-size focus targets.",
      "suggestedFix": "Use semantic controls with discernible content, remove empty anchors from the tab order and apply a consistent :focus-visible ring.",
      "effort": "small",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "move-dom-element-without-losing-state",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/platform-probe.json"
      ]
    },
    {
      "id": "F-18",
      "severity": "critical",
      "confidence": "high",
      "summary": "The experience fails narrow reflow and the custom media player exposes no caption track in the document.",
      "evidence": "All three tested templates overflow by 409px at 360px. The detail probe finds no video/track element despite a visible player, so no caption equivalent is discoverable in the page DOM.",
      "suggestedFix": "Fix reflow at 320–400 CSS pixels and expose a semantic media element or equivalent caption/transcript controls.",
      "effort": "large",
      "pathId": "detail",
      "url": "https://www.hdtube.porn/videos/keeping-her-shirt-on-while-being-fucked-in-the-bathroom/",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/detail-mobile-layout.json",
        "evidence/detail-probe.json",
        "evidence/detail.png"
      ]
    },
    {
      "id": "F-19",
      "severity": "medium",
      "confidence": "high",
      "summary": "Image delivery is dated and wasteful despite stable dimensions.",
      "evidence": "The image audit finds 85/85 images in legacy formats, 64 without srcset and 30 rendered at less than half natural width; Lighthouse also reports 21KiB unused CSS.",
      "suggestedFix": "Serve AVIF/WebP responsive sources with srcset/sizes and remove unused/repetitive CSS.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "optimize-image-priority",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/images.json",
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "id": "F-20",
      "severity": "high",
      "confidence": "high",
      "summary": "The login archetype has no document title or meta description.",
      "evidence": "The login probe returns an empty document.title and the page is visually an unstyled isolated form, while home/detail metadata is descriptive.",
      "suggestedFix": "Give every account page a unique title and concise meta description, or deliberately noindex private utility pages while retaining a meaningful title.",
      "effort": "trivial",
      "pathId": "login",
      "url": "https://www.hdtube.porn/login/",
      "principleId": "be-discoverable",
      "principleCheckId": "title-and-description",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/login-probe.json",
        "evidence/login.png"
      ]
    },
    {
      "id": "F-21",
      "severity": "medium",
      "confidence": "high",
      "summary": "Video detail pages omit structured VideoObject metadata.",
      "evidence": "The detail probe finds useful Open Graph video fields but zero JSON-LD blocks, so duration, thumbnail and content metadata are not exposed as schema.org VideoObject.",
      "suggestedFix": "Add accurate VideoObject JSON-LD matching the visible title, description, thumbnail, duration and upload date.",
      "effort": "small",
      "pathId": "detail",
      "url": "https://www.hdtube.porn/videos/keeping-her-shirt-on-while-being-fucked-in-the-bathroom/",
      "principleId": "be-discoverable",
      "principleCheckId": "structured-and-shareable-metadata",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/detail-probe.json"
      ]
    },
    {
      "id": "F-22",
      "severity": "critical",
      "confidence": "high",
      "summary": "Transport is HTTPS, but baseline security headers and cookie protections are missing.",
      "evidence": "Header inspection finds no CSP, HSTS or nosniff. Cookie inspection finds 11 cookies lacking Secure and PHPSESSID lacks HttpOnly while using SameSite=None.",
      "suggestedFix": "Deploy a restrictive CSP, HSTS and nosniff; set session cookies Secure, HttpOnly and the narrowest workable SameSite value.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ]
    },
    {
      "id": "F-23",
      "severity": "high",
      "confidence": "high",
      "summary": "Multiple analytics systems track users immediately, before age verification interaction.",
      "evidence": "Tracker evidence identifies Google Tag Manager, Google Analytics and Yandex across six non-page origins; HAR records 54 cross-origin requests and 990KB cross-origin transfer.",
      "suggestedFix": "Minimise to one necessary analytics path, defer it until a lawful user choice, shorten retention and proxy/batch events where appropriate.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/trackers.json",
        "evidence/home-summary.json",
        "evidence/cookies.json"
      ]
    },
    {
      "id": "F-24",
      "severity": "high",
      "confidence": "high",
      "summary": "Authentication is password-only and lacks modern browser assistance.",
      "evidence": "The login form exposes username/password controls with no autocomplete tokens; no WebAuthn/passkey surface is present. Permission states remain prompt, so no on-load browser permission prompt was observed.",
      "suggestedFix": "Add username/current-password autocomplete immediately and offer passkey registration and sign-in.",
      "effort": "medium",
      "pathId": "login",
      "url": "https://www.hdtube.porn/login/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "in-context-permissions-and-modern-auth",
      "guidanceId": "passkeys",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/login-probe.json",
        "evidence/document-probe.json"
      ]
    },
    {
      "id": "F-25",
      "severity": "high",
      "confidence": "high",
      "summary": "Most browser-enforced defensive policies are absent.",
      "evidence": "Headers include X-Frame-Options SAMEORIGIN, but omit CSP/frame-ancestors, HSTS, Referrer-Policy and Permissions-Policy.",
      "suggestedFix": "Set CSP including frame-ancestors, HSTS, strict Referrer-Policy and a least-privilege Permissions-Policy.",
      "effort": "small",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/headers.json"
      ]
    },
    {
      "id": "F-26",
      "severity": "medium",
      "confidence": "high",
      "summary": "Navigation and content are cut off under a common viewport condition.",
      "evidence": "At 360px, the custom desktop navigation extends beyond the viewport and the age banner text and card grid are clipped; the dropdown implementation has no anchor fallback.",
      "suggestedFix": "Provide a true mobile navigation state and use resilient anchored/fallback positioning for menus.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "be-resilient",
      "principleCheckId": "resilient-runtime-behaviour",
      "guidanceId": "resilient-context-menus-and-nested-dropdowns",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-layout-mobile.json"
      ]
    },
    {
      "id": "F-27",
      "severity": "low",
      "confidence": "high",
      "summary": "The site declares standalone app display but is not installable/offline-capable as configured.",
      "evidence": "The manifest has name/icons/display standalone but no start_url, and the service-worker probe finds zero registrations.",
      "suggestedFix": "Either complete the PWA contract with start_url, installability fields and an offline fallback, or remove misleading app-like manifest intent.",
      "effort": "small",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "be-resilient",
      "principleCheckId": "offline-and-installable",
      "guidanceId": "flicker-free-client-side-ab-testing",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/document-probe.json"
      ]
    },
    {
      "id": "F-28",
      "severity": "high",
      "confidence": "high",
      "summary": "HTTP failure handling drops users into a server default with no recovery.",
      "evidence": "A missing route renders only “404 Not Found nginx” and exposes no links, search, retry or route back.",
      "suggestedFix": "Route 404/5xx responses through a lightweight branded recovery page with home and search actions.",
      "effort": "small",
      "pathId": "not-found",
      "url": "https://www.hdtube.porn/definitely-not-a-real-page-web-uplift/",
      "principleId": "be-resilient",
      "principleCheckId": "network-and-http-failure-states",
      "guidanceId": "persistent-toast-notifications",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/not-found.png",
        "evidence/not-found-probe.json"
      ]
    },
    {
      "id": "F-29",
      "severity": "medium",
      "confidence": "high",
      "summary": "Multilingual navigation exists, but the stylesheet is built entirely with physical direction properties.",
      "evidence": "The home document correctly declares lang=en and Lighthouse validates hreflang, but static CSS contains 209 physical left/right declarations and zero logical-property declarations.",
      "suggestedFix": "Retain lang/hreflang and migrate layout spacing/positioning to inline/block logical properties; verify the German variant and RTL stress cases.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "be-internationalised",
      "principleCheckId": "lang-dir-and-logical-properties",
      "guidanceId": "translator",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/lighthouse-summary.json",
        "evidence/main.decompressed.css"
      ]
    },
    {
      "id": "F-30",
      "severity": "high",
      "confidence": "high",
      "summary": "Privacy messaging is not matched by the page’s immediate tracking behaviour.",
      "evidence": "The prominent age banner says “we don’t store personal data”, while before any age action the page sets 11 cookies, including 400-day analytics cookies, and loads Google/Yandex tracking.",
      "suggestedFix": "Separate age-provider claims from site-wide privacy claims and obtain an honest, balanced choice before non-essential tracking.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "be-trustworthy",
      "principleCheckId": "no-dark-patterns",
      "guidanceId": "privacy",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/cookies.json",
        "evidence/trackers.json"
      ]
    },
    {
      "id": "F-31",
      "severity": "high",
      "confidence": "high",
      "summary": "The login form neither labels inputs nor explains invalid submission.",
      "evidence": "Username/password inputs have no associated labels or required semantics; submitting both blank leaves the screenshot unchanged with no visible or announced error.",
      "suggestedFix": "Add labels, required attributes, post-interaction validation, field-level messages and an aria-live error summary.",
      "effort": "small",
      "pathId": "login",
      "url": "https://www.hdtube.porn/login/",
      "principleId": "be-trustworthy",
      "principleCheckId": "humane-error-handling",
      "guidanceId": "forms",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/login-probe.json",
        "evidence/login-invalid.png"
      ]
    },
    {
      "id": "F-32",
      "severity": "medium",
      "confidence": "high",
      "summary": "Sign-in fields opt out of browser autofill assistance by omission.",
      "evidence": "The login probe reports empty autocomplete values for both username and password.",
      "suggestedFix": "Set autocomplete=username and autocomplete=current-password, and preserve password-manager compatibility.",
      "effort": "trivial",
      "pathId": "login",
      "url": "https://www.hdtube.porn/login/",
      "principleId": "be-trustworthy",
      "principleCheckId": "trustworthy-input-assistance",
      "guidanceId": "autofill-address-form",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/login-probe.json"
      ]
    },
    {
      "id": "F-33",
      "severity": "medium",
      "confidence": "high",
      "summary": "The account entry surface is visually broken and offers only password authentication.",
      "evidence": "The login screenshot shows failed/absent site styling, extreme gaps and no surrounding navigation; the form lacks autocomplete and any passkey option.",
      "suggestedFix": "Restore the shared account shell, make recovery/signup actions clear, add autofill and passkeys, and keep commitments/cancellation visible in downstream account flows.",
      "effort": "medium",
      "pathId": "login",
      "url": "https://www.hdtube.porn/login/",
      "principleId": "be-trustworthy",
      "principleCheckId": "safe-commercial-and-account-flows",
      "guidanceId": "passkeys",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/login.png",
        "evidence/login-probe.json"
      ]
    },
    {
      "id": "F-34",
      "severity": "medium",
      "confidence": "high",
      "summary": "Image assets are not delivered in efficient responsive formats.",
      "evidence": "Image evidence finds 85 legacy-format images, 64 missing srcset and 30 oversized relative to display.",
      "suggestedFix": "Generate AVIF/WebP variants and use srcset/sizes so cards receive the smallest suitable image.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "deliver-optimized-decorative-images",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/images.json"
      ]
    },
    {
      "id": "F-35",
      "severity": "medium",
      "confidence": "high",
      "summary": "Background analytics work dominates script transfer without advancing the browsing task.",
      "evidence": "GTM and Yandex account for roughly 386KB of script transfer; six tracking origins run during initial load before interaction.",
      "suggestedFix": "Remove duplicate analytics loaders and defer/batch non-essential measurement until consent and idle time.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "deprioritize-background-fetches",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ]
    },
    {
      "id": "F-36",
      "severity": "high",
      "confidence": "high",
      "summary": "Third-party transfer is disproportionate on the media listing shell.",
      "evidence": "HAR records 990KB of 1.07MB as cross-origin and 54 of 57 requests cross-origin; tracker evidence finds Google and Yandex systems active.",
      "suggestedFix": "Set a third-party budget, consolidate analytics, self-host only justified assets and lazy-load media after user intent.",
      "effort": "medium",
      "pathId": "home",
      "url": "https://www.hdtube.porn/",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "deliver-optimized-decorative-images",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ]
    }
  ],
  "taskList": [
    {
      "id": "T-01",
      "title": "Fix responsive reflow across every template",
      "priority": 1,
      "findingIds": [
        "F-08",
        "F-09",
        "F-18",
        "F-26"
      ],
      "guidanceId": "fluid-scaling",
      "status": "open"
    },
    {
      "id": "T-02",
      "title": "Lock down headers, cookies and browser policies",
      "priority": 2,
      "findingIds": [
        "F-22",
        "F-25"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T-03",
      "title": "Make login/account flows accessible, styled and recoverable",
      "priority": 3,
      "findingIds": [
        "F-11",
        "F-15",
        "F-17",
        "F-20",
        "F-24",
        "F-31",
        "F-32",
        "F-33"
      ],
      "guidanceId": "forms",
      "status": "open"
    },
    {
      "id": "T-04",
      "title": "Minimise and gate third-party tracking",
      "priority": 4,
      "findingIds": [
        "F-23",
        "F-30",
        "F-35",
        "F-36"
      ],
      "guidanceId": "privacy",
      "status": "open"
    },
    {
      "id": "T-05",
      "title": "Modernise responsive image delivery",
      "priority": 5,
      "findingIds": [
        "F-19",
        "F-34"
      ],
      "guidanceId": "deliver-optimized-decorative-images",
      "status": "open"
    },
    {
      "id": "T-06",
      "title": "Respect color, motion and contrast preferences",
      "priority": 6,
      "findingIds": [
        "F-01",
        "F-02",
        "F-03"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T-07",
      "title": "Add useful 404 and network-failure recovery",
      "priority": 7,
      "findingIds": [
        "F-28"
      ],
      "guidanceId": "persistent-toast-notifications",
      "status": "open"
    },
    {
      "id": "T-08",
      "title": "Trim unused and render-delaying code",
      "priority": 8,
      "findingIds": [
        "F-13",
        "F-14"
      ],
      "guidanceId": "identify-heavy-scripts",
      "status": "open"
    },
    {
      "id": "T-09",
      "title": "Improve rich metadata and titles",
      "priority": 9,
      "findingIds": [
        "F-20",
        "F-21"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T-10",
      "title": "Adopt resilient platform navigation primitives",
      "priority": 10,
      "findingIds": [
        "F-05",
        "F-06",
        "F-07"
      ],
      "guidanceId": "anchor-positioning-tab-underline",
      "status": "open"
    }
  ],
  "budget": {
    "wallClockSeconds": 2100,
    "pathCount": 6,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-23T00-05-32-445Z"
}
