{
  "url": "https://hdporncomics.com",
  "auditedAt": "2026-07-21T05:03:00.000Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage-complete audit of four representative MPA paths.",
  "page": {
    "appType": "mpa",
    "framework": "WordPress/server-rendered MPA",
    "notes": "Public adult-comic catalog with listing, taxonomy, detail and 404 templates. Third-party live-video advertising is present."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "evaluate-probe",
    "layout-metrics",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "heap-summary",
    "Lighthouse",
    "HTTP/robots/sitemap inspection"
  ],
  "guidanceConsulted": [
    "dark-mode",
    "component-specific-light-dark-theme",
    "adapt-scrollbar-to-contrast-preferences",
    "accessibility",
    "animate-to-from-top-layer",
    "navigation-drawer",
    "carousel-slide-effects",
    "scroll-entry-exit-effects",
    "html",
    "css",
    "forms",
    "performance",
    "optimize-preload-priority",
    "optimize-image-priority",
    "optimize-script-priority",
    "privacy",
    "security",
    "passkey-authentication",
    "coordinate-global-events",
    "translator",
    "capture-location-agnostic-data",
    "support-global-calendar-systems",
    "calculate-event-differentials",
    "autofill-sign-up-form",
    "autofill-sign-in-form",
    "autofill-address-form",
    "autofill-payment-form",
    "validate-input-after-interaction",
    "agentic-forms",
    "agentic-javascript-tools",
    "webmcp",
    "language-model",
    "manage-recurring-intervals",
    "break-up-long-tasks",
    "move-dom-element-without-losing-state",
    "stabilize-reactive-state",
    "persistent-top-layer-ui"
  ],
  "artifacts": [
    {
      "type": "screenshot",
      "path": "evidence/artists-desktop.png",
      "caption": "artists desktop png",
      "findingIds": [
        "F05",
        "F24"
      ]
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "cookies json",
      "findingIds": [
        "F21",
        "F22"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/detail-desktop.png",
      "caption": "detail desktop png",
      "findingIds": [
        "F03",
        "F05",
        "F10",
        "F24"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/detail-dom.json",
      "caption": "detail dom json"
    },
    {
      "type": "other",
      "path": "evidence/detail-images.json",
      "caption": "detail images json",
      "findingIds": [
        "F15",
        "F19",
        "F26"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/detail-mobile-layout.json",
      "caption": "detail mobile layout json"
    },
    {
      "type": "screenshot",
      "path": "evidence/detail-mobile.png",
      "caption": "detail mobile png",
      "findingIds": [
        "F07",
        "F08"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-home-crawler.png",
      "caption": "discoverability home crawler png"
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-home-rendered.png",
      "caption": "discoverability home rendered png"
    },
    {
      "type": "discoverability",
      "path": "evidence/discoverability-home.json",
      "caption": "discoverability home json"
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "headers json",
      "findingIds": [
        "F21",
        "F23"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.heapsnapshot",
      "caption": "heap baseline heapsnapshot"
    },
    {
      "type": "heap",
      "path": "evidence/heap-post-success.heapsnapshot",
      "caption": "heap post success heapsnapshot"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-contrast.png",
      "caption": "home contrast png",
      "findingIds": [
        "F02",
        "F16"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "home dark png"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "home desktop png",
      "findingIds": [
        "F03",
        "F05",
        "F06",
        "F10",
        "F24",
        "F25",
        "F28"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "home dom json"
    },
    {
      "type": "other",
      "path": "evidence/home-images.json",
      "caption": "home images json",
      "findingIds": [
        "F15",
        "F19",
        "F26"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/home-mobile-layout.json",
      "caption": "home mobile layout json",
      "findingIds": [
        "F04",
        "F12",
        "F18"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "home mobile png",
      "findingIds": [
        "F01",
        "F04",
        "F05",
        "F07",
        "F08",
        "F09",
        "F10",
        "F12",
        "F18",
        "F25"
      ]
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "home summary json",
      "findingIds": [
        "F11",
        "F13",
        "F14",
        "F22",
        "F27",
        "F28"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "home trace summary json",
      "findingIds": [
        "F11"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "home trace json"
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "home har"
    },
    {
      "type": "other",
      "path": "evidence/lighthouse-detail-extract.json",
      "caption": "lighthouse detail extract json"
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-detail.json",
      "caption": "lighthouse detail json",
      "findingIds": [
        "F11",
        "F15",
        "F16",
        "F17",
        "F20"
      ]
    },
    {
      "type": "other",
      "path": "evidence/lighthouse-home-extract.json",
      "caption": "lighthouse home extract json"
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-home.json",
      "caption": "lighthouse home json",
      "findingIds": [
        "F02",
        "F09",
        "F11",
        "F12",
        "F13",
        "F14",
        "F15",
        "F16",
        "F17",
        "F18",
        "F19",
        "F20"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/notfound-desktop.png",
      "caption": "notfound desktop png",
      "findingIds": [
        "F05",
        "F24",
        "F25"
      ]
    },
    {
      "type": "other",
      "path": "evidence/notfound-probe.json",
      "caption": "notfound probe json"
    },
    {
      "type": "other",
      "path": "evidence/notfound-status.txt",
      "caption": "notfound status txt"
    },
    {
      "type": "other",
      "path": "evidence/platform-probe.json",
      "caption": "platform probe json",
      "findingIds": [
        "F03",
        "F06",
        "F08",
        "F09",
        "F17"
      ]
    },
    {
      "type": "other",
      "path": "evidence/recon.json",
      "caption": "recon json"
    },
    {
      "type": "other",
      "path": "evidence/reduced-motion.json",
      "caption": "reduced motion json",
      "findingIds": [
        "F01",
        "F27"
      ]
    },
    {
      "type": "other",
      "path": "evidence/robots.txt",
      "caption": "robots txt"
    },
    {
      "type": "other",
      "path": "evidence/runtime-probe.json",
      "caption": "runtime probe json",
      "findingIds": [
        "F27"
      ]
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "secrets json"
    },
    {
      "type": "other",
      "path": "evidence/sitemap.xml",
      "caption": "sitemap xml"
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "trackers json",
      "findingIds": [
        "F22"
      ]
    }
  ],
  "config": {
    "loaded": false
  },
  "coverage": {
    "catalogVersion": "modern-web-guidance@0.0.172",
    "catalogChecksum": "sha256:78ccfdb2d483f4c57d9dafed80fd86c6265585a56457c8dcfddc254b80fb44d7",
    "expected": 58,
    "recorded": 58,
    "judged": 58,
    "blocked": 0,
    "notRun": 0,
    "missing": 0,
    "unknown": 0,
    "duplicates": 0,
    "complete": true
  },
  "checkOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-color-scheme",
      "status": "pass",
      "confidence": "medium",
      "method": "Desktop screenshot plus CSS feature probe",
      "evidence": "The default surface is dark and CSS inspection found color-scheme/prefers-color-scheme support; dark emulation remained fully usable.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-dark.png"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/reduced-motion.json, evidence/home-mobile.png",
      "evidence": "Under prefers-reduced-motion: reduce, the evaluate probe still found four running 1,000 ms mnThumbFadein animations and an actively playing muted autoplay video.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/reduced-motion.json",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/home-contrast.png, evidence/lighthouse-home.json",
      "evidence": "CSS inspection found no prefers-contrast or forced-colors rules, while Lighthouse found many low-contrast counters and links.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-contrast.png",
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/platform-probe.json, evidence/home-desktop.png, evidence/detail-desktop.png",
      "evidence": "CSS inspection found no view-transition declarations; navigation between the listing, artist index and detail page is an abrupt full swap.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/home-desktop.png",
        "evidence/detail-desktop.png"
      ],
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "pass",
      "confidence": "medium",
      "method": "CSS and inline-script inspection",
      "evidence": "No scroll-linked animation surface or custom pointer/scroll animation script was present, so the page avoids main-thread scroll animation.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "not-applicable",
      "confidence": "high",
      "method": "DOM and interaction-surface inspection",
      "evidence": "The representative pages expose ordinary links, scrolling and buttons but no carousel drag, swipe-to-remove, pull-to-reveal or other gesture-driven control to evaluate.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/detail-desktop.png"
      ],
      "reason": "No gesture-driven interaction exists on the audited templates."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/home-mobile.png, evidence/home-mobile-layout.json",
      "evidence": "The 13,751 px mobile home page retains static top/bottom chrome; CSS has no scroll-state/container query or progress affordance.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-mobile-layout.json"
      ],
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "not-applicable",
      "confidence": "high",
      "method": "DOM semantic overlay and screenshot inspection",
      "evidence": "No tooltip, authored popover, contextual menu or anchored transient surface appears on the representative pages.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "reason": "No applicable anchored overlay exists."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "medium",
      "method": "Representative path screenshots and DOM headings",
      "evidence": "Persistent navigation, breadcrumbs on detail, clear section headings and the 404 recovery copy preserve orientation across the MPA.",
      "pathIds": [
        "home",
        "detail",
        "notfound"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/detail-desktop.png",
        "evidence/notfound-desktop.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/home-desktop.png, evidence/home-mobile.png, evidence/detail-desktop.png, evidence/artists-desktop.png, evidence/notfound-desktop.png",
      "evidence": "Desktop, mobile, detail, artist and 404 screenshots show a live-video ad covering a large part of the content and even overlapping the age gate and bottom navigation.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png",
        "evidence/detail-desktop.png",
        "evidence/artists-desktop.png",
        "evidence/notfound-desktop.png"
      ],
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/platform-probe.json, evidence/home-desktop.png",
      "evidence": "DOM inspection found zero dialog, popover or details elements and one custom role=dialog div; the visible ad overlays site controls and relies on a tiny custom close target.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/home-desktop.png"
      ],
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/home-mobile.png, evidence/detail-mobile.png",
      "evidence": "Screenshots show persistent header, bottom navigation and a large floating live-video panel occupying much of the first viewport, especially at 360 px.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/detail-mobile.png"
      ],
      "findingIds": [
        "F07"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "pass",
      "confidence": "medium",
      "method": "Mobile layout primitives and screenshots",
      "evidence": "At 360×800, both home and detail reported scrollWidth=clientWidth=360 and zero horizontal overflow with a viewport meta tag.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/detail-mobile-layout.json",
        "evidence/home-mobile.png",
        "evidence/detail-mobile.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "medium",
      "method": "Direct evidence from evidence/platform-probe.json, evidence/home-mobile.png, evidence/detail-mobile.png",
      "evidence": "The mobile layout reflows without overflow, but CSS inspection found no @container rules for reusable cards, menus or the detail panel.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/home-mobile.png",
        "evidence/detail-mobile.png"
      ],
      "findingIds": [
        "F08"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/platform-probe.json, evidence/lighthouse-home.json, evidence/home-mobile.png",
      "evidence": "The first focused button computed to a transparent outline with no box shadow. Lighthouse found undersized/obscured targets, and the probe found multiple 15–23 px-high links.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/lighthouse-home.json",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "medium",
      "method": "First-viewport screenshots and heading probe",
      "evidence": "The H1, section labels, comic cards and detail metadata make the browsing/reading purpose and next comic-selection action clear.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/detail-desktop.png",
        "evidence/platform-probe.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/home-desktop.png, evidence/detail-desktop.png, evidence/home-mobile.png",
      "evidence": "The floating live-video ad covers comic cards, detail metadata and navigation on every representative path, forcing users to close advertising before reading.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/detail-desktop.png",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "pass",
      "confidence": "medium",
      "method": "HTTP status, 404 screenshot and DOM probe",
      "evidence": "A real 404 returned HTTP 404, used a descriptive heading, set noindex, offered navigation/search guidance and retained category links.",
      "pathIds": [
        "notfound"
      ],
      "artifacts": [
        "evidence/notfound-desktop.png",
        "evidence/notfound-probe.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/lighthouse-home.json, evidence/lighthouse-detail.json, evidence/home-trace-summary.json, evidence/home-summary.json",
      "evidence": "Lighthouse measured LCP at 5.1 s on home and 5.2 s on detail, while the lighter desktop trace measured 2.24 s; the throttled lab result indicates a common slow-device risk.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/lighthouse-detail.json",
        "evidence/home-trace-summary.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/lighthouse-home.json, evidence/home-mobile-layout.json, evidence/home-mobile.png",
      "evidence": "Lighthouse measured homepage CLS 0.101 and identified five shifts; the mobile layout observer also recorded four late shifts totaling 0.043.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-mobile-layout.json",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F12"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "medium",
      "method": "Performance trace and Lighthouse",
      "evidence": "Trace found one 73 ms long task and only 23 ms total blocking time; Lighthouse TBT was 60–90 ms on the two templates.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/lighthouse-home.json",
        "evidence/lighthouse-detail.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/home-summary.json, evidence/lighthouse-home.json",
      "evidence": "HAR recorded 93 requests and 5.52 MB transferred, 5.22 MB third-party. It identified a VeryHigh-priority Google Fonts stylesheet plus parser-inserted ad scripts; Lighthouse flagged cache, font and render-blocking issues.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/home-summary.json, evidence/lighthouse-home.json",
      "evidence": "HAR recorded 14 scripts / 850 KB and 81 third-party requests; Lighthouse failed unused-javascript, with advertising and analytics loaded before user interaction.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/lighthouse-home.json, evidence/lighthouse-detail.json, evidence/home-images.json, evidence/detail-images.json",
      "evidence": "Lighthouse found missing alt text, four unnamed links on home, unnamed links on detail and untitled iframes; the image primitive counted three missing alt values on home and six on detail.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/lighthouse-detail.json",
        "evidence/home-images.json",
        "evidence/detail-images.json"
      ],
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/lighthouse-home.json, evidence/lighthouse-detail.json, evidence/home-contrast.png",
      "evidence": "Lighthouse found 30 contrast failures on home, including #15803d on #2e2f30 at 2.67:1 and #b91c1c at 2.07:1; detail also failed contrast.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/lighthouse-detail.json",
        "evidence/home-contrast.png"
      ],
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/lighthouse-home.json, evidence/lighthouse-detail.json, evidence/platform-probe.json",
      "evidence": "Lighthouse found invalid heading order and no main landmark on both templates; the focus probe found a transparent outline and no shadow on the first control.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/lighthouse-detail.json",
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F17"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "medium",
      "method": "Desktop/mobile screenshots and layout metrics",
      "evidence": "Body and heading text remains readable and reflows without clipping at 360 px; the dark content surface provides stable line layout.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png",
        "evidence/detail-mobile.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/home-mobile.png, evidence/home-mobile-layout.json, evidence/lighthouse-home.json",
      "evidence": "The page reflowed at 360 px without overflow, but Lighthouse reported target-size failures and the live ad partially obscured a 44 px bottom-nav control.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-mobile-layout.json",
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F18"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "pass",
      "confidence": "medium",
      "method": "Lighthouse console audit",
      "evidence": "Lighthouse errors-in-console passed on both home and detail and recorded no uncaught console errors.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/lighthouse-detail.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/home-images.json, evidence/detail-images.json, evidence/lighthouse-home.json",
      "evidence": "Image probes found two images without dimensions on each template, 31/33 home images without srcset, and no modern-format content images. Lighthouse flagged image delivery.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-images.json",
        "evidence/detail-images.json",
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F19"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/lighthouse-home.json, evidence/lighthouse-detail.json",
      "evidence": "Lighthouse reported three deprecation warnings and DevTools inspector issues from Cloudflare/ad integrations.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/lighthouse-detail.json"
      ],
      "findingIds": [
        "F20"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "pass",
      "confidence": "medium",
      "method": "DOM metadata probe and Lighthouse",
      "evidence": "Home has a descriptive title and meta description; Lighthouse SEO scored 0.92 on home and detail.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/lighthouse-home.json",
        "evidence/lighthouse-detail.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "pass",
      "confidence": "medium",
      "method": "DOM probe, robots.txt and discoverability fetch",
      "evidence": "Links use real hrefs, viewport meta is present, robots.txt only disallows /wp-admin/, and raw HTML contains the navigation/content.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/robots.txt",
        "evidence/discoverability-home.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "pass",
      "confidence": "medium",
      "method": "Metadata, HTTP and sitemap inspection",
      "evidence": "Home returns 200, exposes a canonical URL and index/follow policy; robots permits public content and sitemap.xml is a populated sitemap index. The tested missing route correctly returns 404/noindex.",
      "pathIds": [
        "home",
        "notfound"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/sitemap.xml",
        "evidence/notfound-probe.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "pass",
      "confidence": "medium",
      "method": "DOM metadata probe",
      "evidence": "Home exposes a JSON-LD block and complete Open Graph title, description, URL and image matching the visible site.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/headers.json, evidence/cookies.json",
      "evidence": "The page uses HTTPS, but the headers primitive found no CSP, HSTS, nosniff, frame protection, Referrer-Policy or Permissions-Policy. Six cookies were flagged insecure and all used SameSite=None.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "F21"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/trackers.json, evidence/home-summary.json, evidence/cookies.json",
      "evidence": "Tracker evidence found 21 third-party origins and Google Analytics/Tag Manager; HAR recorded 81 third-party requests and 5.22 MB transferred before meaningful interaction.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/trackers.json",
        "evidence/home-summary.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "F22"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Script-signal and surface inspection",
      "evidence": "No permission request, sign-in, account or authentication flow is part of the representative public browsing experience.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "reason": "No permission or authentication surface exists on the audited public paths."
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/headers.json",
      "evidence": "Header inspection found no HSTS, clickjacking defense, Referrer-Policy, Permissions-Policy or CSP frame-ancestors.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json"
      ],
      "findingIds": [
        "F23"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "medium",
      "method": "Discoverability primitive and crawler screenshot",
      "evidence": "Discoverability fetch measured 86% rendered-word coverage in raw HTML, with title, H1 and description present and no empty JS shell.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability-home.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/home-desktop.png, evidence/detail-desktop.png, evidence/artists-desktop.png, evidence/notfound-desktop.png",
      "evidence": "Across home, detail, artists and 404, the ad overlay covers fixed navigation and the age-confirmation dialog rather than repositioning or yielding to the viewport.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/detail-desktop.png",
        "evidence/artists-desktop.png",
        "evidence/notfound-desktop.png"
      ],
      "findingIds": [
        "F24"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Manifest/service-worker probe",
      "evidence": "This is a public MPA content catalog, not an app-like workflow; no manifest or service worker exists, and installability is not needed for the core reading task.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/runtime-probe.json"
      ],
      "reason": "Offline installability is contextual and not proportionate for this content catalog."
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "confidence": "medium",
      "method": "HTTP status, screenshot and DOM probe",
      "evidence": "The representative missing route returns a real 404 with a clear explanation, retained navigation and suggested recovery paths rather than a blank shell.",
      "pathIds": [
        "notfound"
      ],
      "artifacts": [
        "evidence/notfound-desktop.png",
        "evidence/notfound-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "pass",
      "confidence": "medium",
      "method": "DOM and CSS feature probe",
      "evidence": "The document declares lang=en, inherits normal LTR direction and CSS inspection found logical inline/block properties.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Representative content/DOM inspection",
      "evidence": "The core pages show content titles, tags and relative freshness labels but no user-entered dates, currency, calendar, duration or locale-sensitive transactional values.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "reason": "No locale-sensitive data model is present on the audited templates."
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Representative content inspection",
      "evidence": "No scheduled events, absolute timestamps, recurring intervals or cross-zone coordination appear in the audited experience.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/detail-desktop.png"
      ],
      "reason": "No time-zone-sensitive feature is present."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/home-desktop.png, evidence/notfound-desktop.png, evidence/home-mobile.png",
      "evidence": "The homepage carousel inserts “Create your AI Slut (free)” among comic updates, while a separate live-video ad overlaps content and the Adults only decision dialog.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/notfound-desktop.png",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F25"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "not-applicable",
      "confidence": "high",
      "method": "DOM forms probe",
      "evidence": "No authored form exists on home or the selected detail template, so there is no validation/error interaction to exercise.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "reason": "No form is present on the audited primary flow."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "not-applicable",
      "confidence": "high",
      "method": "DOM forms probe",
      "evidence": "The audited primary flow has no text, address, payment or sign-in inputs requiring autocomplete assistance.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "reason": "No applicable input field exists."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Navigation and forms inspection",
      "evidence": "No checkout, subscription purchase, authentication or account-management flow is offered on the representative pages.",
      "pathIds": [
        "home",
        "detail"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "reason": "No commercial or account flow exists in scope."
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/home-images.json, evidence/detail-images.json",
      "evidence": "Home image evidence found 32 legacy-format images, zero modern formats and 31 missing srcset; detail showed 35 legacy images and 33 missing srcset.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-images.json",
        "evidence/detail-images.json"
      ],
      "findingIds": [
        "F26"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/runtime-probe.json, evidence/home-summary.json, evidence/reduced-motion.json",
      "evidence": "The page auto-plays two videos; HAR transferred 5.52 MB, including multi-megabyte ad video XHRs, and 81 third-party requests on initial load.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/runtime-probe.json",
        "evidence/home-summary.json",
        "evidence/reduced-motion.json"
      ],
      "findingIds": [
        "F27"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "Direct evidence from evidence/home-summary.json, evidence/home-desktop.png",
      "evidence": "Third parties account for 5.22 of 5.52 MB transferred, led by ad video origins at 2.14 MB and 1.53 MB, while the overlay actively obscures user content.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-desktop.png"
      ],
      "findingIds": [
        "F28"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Discoverability and WebMCP signal inspection",
      "evidence": "The public content is already server-rendered and richly linked, but the site exposes no transactional/productivity capability that needs a WebMCP tool.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability-home.json",
        "evidence/platform-probe.json"
      ],
      "reason": "The emerging agent-tool surface is not applicable to this read-only catalog."
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Script and feature-surface inspection",
      "evidence": "No summarisation, generation, translation or other inference feature is offered where an on-device model would replace a server round trip.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "reason": "No inference feature exists."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "medium",
      "method": "Baseline and post-interaction heap-summary comparison",
      "evidence": "Baseline heap was 25,726,222 bytes / 410,935 nodes; after ten repeated scroll/menu toggles it was 25,535,025 bytes / 410,136 nodes, showing no retained growth in this test.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.heapsnapshot",
        "evidence/heap-post-success.heapsnapshot"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "medium",
      "method": "Heap summary and runtime DOM-count probe",
      "evidence": "The loaded page used a 25.7 MB V8 heap with 410,935 heap nodes for a media listing containing 1,572 DOM nodes and two ad iframes; the footprint remained bounded after interaction.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.heapsnapshot",
        "evidence/runtime-probe.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "Before/after heap-summary constructor and total comparison",
      "evidence": "The post-interaction heap summary was smaller than baseline and its top constructor table contained no Detached* population; no accumulation signal appeared across ten toggles.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.heapsnapshot",
        "evidence/heap-post-success.heapsnapshot"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F01",
        "F02"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F05",
        "F06",
        "F07"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F08",
        "F09"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F11",
        "F12",
        "F13",
        "F14"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F15",
        "F16",
        "F17",
        "F18"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F19",
        "F20"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F21",
        "F22",
        "F23"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F24"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F25"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F26",
        "F27",
        "F28"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "The emerging agent-tool surface is not applicable to this read-only catalog. No inference feature exists."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage listing and primary browse entry; represents the main listing template and initial ad/privacy/performance surface.",
      "url": "https://hdporncomics.com/",
      "conditions": [
        "desktop",
        "360x800",
        "prefers-color-scheme: dark",
        "prefers-contrast: more",
        "prefers-reduced-motion: reduce",
        "crawler/no JavaScript"
      ],
      "result": "issues"
    },
    {
      "id": "detail",
      "description": "Representative comic detail/read entry; covers metadata, media presentation, related content and mobile detail layout.",
      "url": "https://hdporncomics.com/92m-hikari-no-koyanskaya-koyanskaya-of-light-tv-movies-sex-comic/",
      "conditions": [
        "desktop",
        "360x800",
        "Lighthouse throttling"
      ],
      "result": "issues"
    },
    {
      "id": "artists",
      "description": "Artist taxonomy/index; represents a distinct directory/filter template.",
      "url": "https://hdporncomics.com/comics/artists/",
      "conditions": [
        "desktop"
      ],
      "result": "issues"
    },
    {
      "id": "notfound",
      "description": "Real missing route; covers HTTP failure, recovery messaging, noindex and age-gate interaction.",
      "url": "https://hdporncomics.com/this-route-does-not-exist-web-uplift/",
      "conditions": [
        "desktop",
        "fresh browser state"
      ],
      "result": "issues"
    }
  ],
  "findings": [
    {
      "id": "F01",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-reduced-motion",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Reduced-motion preference does not stop non-essential animation or autoplay media",
      "evidence": "Under prefers-reduced-motion: reduce, the evaluate probe still found four running 1,000 ms mnThumbFadein animations and an actively playing muted autoplay video.",
      "artifacts": [
        "evidence/reduced-motion.json",
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Add a prefers-reduced-motion: reduce rule that removes thumbnail motion and prevent non-essential video autoplay when reduction is requested.",
      "effort": "small"
    },
    {
      "id": "F02",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-contrast",
      "guidanceId": "adapt-scrollbar-to-contrast-preferences",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "High-contrast preferences are not explicitly supported",
      "evidence": "CSS inspection found no prefers-contrast or forced-colors rules, while Lighthouse found many low-contrast counters and links.",
      "artifacts": [
        "evidence/home-contrast.png",
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Add forced-colors and prefers-contrast adaptations and avoid hard-coded colors that disappear in system contrast modes.",
      "effort": "small"
    },
    {
      "id": "F03",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "animate-to-from-top-layer",
      "guidanceCategory": "modern-web-guidance",
      "severity": "low",
      "confidence": "high",
      "summary": "Route and state changes have no transition continuity",
      "evidence": "CSS inspection found no view-transition declarations; navigation between the listing, artist index and detail page is an abrupt full swap.",
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/home-desktop.png",
        "evidence/detail-desktop.png"
      ],
      "suggestedFix": "Use progressive cross-document View Transitions for same-origin navigation, with a reduced-motion fallback.",
      "effort": "medium"
    },
    {
      "id": "F04",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "navigation-drawer",
      "guidanceCategory": "modern-web-guidance",
      "severity": "low",
      "confidence": "high",
      "summary": "Fixed navigation does not respond to scroll state",
      "evidence": "The 13,751 px mobile home page retains static top/bottom chrome; CSS has no scroll-state/container query or progress affordance.",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-mobile-layout.json"
      ],
      "suggestedFix": "Add a lightweight scroll-state-aware shrinking header or progress cue that preserves content space.",
      "effort": "medium"
    },
    {
      "id": "F05",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "no-intrusive-interruptions",
      "guidanceId": "persistent-top-layer-ui",
      "guidanceCategory": "modern-web-guidance",
      "severity": "critical",
      "confidence": "high",
      "summary": "Autoplay advertising obscures the primary content",
      "evidence": "Desktop, mobile, detail, artist and 404 screenshots show a live-video ad covering a large part of the content and even overlapping the age gate and bottom navigation.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png",
        "evidence/detail-desktop.png",
        "evidence/artists-desktop.png",
        "evidence/notfound-desktop.png"
      ],
      "suggestedFix": "Remove the on-load floating video. If advertising is required, reserve an inline slot and require user initiation for media.",
      "effort": "medium"
    },
    {
      "id": "F06",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "animate-to-from-top-layer",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Overlay UI is implemented as ad-hoc third-party chrome",
      "evidence": "DOM inspection found zero dialog, popover or details elements and one custom role=dialog div; the visible ad overlays site controls and relies on a tiny custom close target.",
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/home-desktop.png"
      ],
      "suggestedFix": "Use native dialog/popover semantics for first-party overlays, declarative dismissal, focus management, and keep third-party ads out of top-layer UI.",
      "effort": "medium"
    },
    {
      "id": "F07",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "reduced-chrome",
      "guidanceId": "css",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Advertising chrome competes with and covers content",
      "evidence": "Screenshots show persistent header, bottom navigation and a large floating live-video panel occupying much of the first viewport, especially at 360 px.",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/detail-mobile.png"
      ],
      "suggestedFix": "Reduce persistent chrome and move proportional, labelled promotions into the document flow.",
      "effort": "medium"
    },
    {
      "id": "F08",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "css",
      "guidanceCategory": "modern-web-guidance",
      "severity": "low",
      "confidence": "medium",
      "summary": "Components adapt only at page level, not by their container",
      "evidence": "The mobile layout reflows without overflow, but CSS inspection found no @container rules for reusable cards, menus or the detail panel.",
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/home-mobile.png",
        "evidence/detail-mobile.png"
      ],
      "suggestedFix": "Introduce container queries for cards and detail metadata where components appear at multiple widths.",
      "effort": "medium"
    },
    {
      "id": "F09",
      "pathId": "home",
      "url": "https://hdporncomics.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 several targets are not reliably perceivable or large enough",
      "evidence": "The first focused button computed to a transparent outline with no box shadow. Lighthouse found undersized/obscured targets, and the probe found multiple 15–23 px-high links.",
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/lighthouse-home.json",
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Provide a clearly visible :focus-visible style and at least 24×24 CSS px target space, preferably 44×44 for primary mobile controls.",
      "effort": "small"
    },
    {
      "id": "F10",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "support-core-task-success",
      "principleCheckId": "primary-flow-completion",
      "guidanceId": "forms",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "The core browse-and-read journey is obstructed by a third-party overlay",
      "evidence": "The floating live-video ad covers comic cards, detail metadata and navigation on every representative path, forcing users to close advertising before reading.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/detail-desktop.png",
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Keep the listing-to-detail journey unobstructed and defer optional promotions until after user intent.",
      "effort": "medium"
    },
    {
      "id": "F11",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Lab LCP is outside the good range on primary templates",
      "evidence": "Lighthouse measured LCP at 5.1 s on home and 5.2 s on detail, while the lighter desktop trace measured 2.24 s; the throttled lab result indicates a common slow-device risk.",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/lighthouse-detail.json",
        "evidence/home-trace-summary.json",
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Prioritise the LCP image/content, remove competing ad media, and defer non-critical third-party scripts.",
      "effort": "large"
    },
    {
      "id": "F12",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "visual-stability",
      "guidanceId": "performance",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Homepage layout shifts exceed the good stability target in Lighthouse",
      "evidence": "Lighthouse measured homepage CLS 0.101 and identified five shifts; the mobile layout observer also recorded four late shifts totaling 0.043.",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-mobile-layout.json",
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Reserve dimensions for every image/ad slot and do not inject floating media after layout.",
      "effort": "medium"
    },
    {
      "id": "F13",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-preload-priority",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Third-party media and render-blocking resources dominate delivery",
      "evidence": "HAR recorded 93 requests and 5.52 MB transferred, 5.22 MB third-party. It identified a VeryHigh-priority Google Fonts stylesheet plus parser-inserted ad scripts; Lighthouse flagged cache, font and render-blocking issues.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Remove or defer ad SDKs, self-host/subset fonts, set useful cache lifetimes and prioritise only the actual LCP resource.",
      "effort": "large"
    },
    {
      "id": "F14",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "optimize-script-priority",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Avoidable third-party and unused JavaScript is shipped on initial load",
      "evidence": "HAR recorded 14 scripts / 850 KB and 81 third-party requests; Lighthouse failed unused-javascript, with advertising and analytics loaded before user interaction.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Eliminate unused integrations and conditionally load advertising/analytics only after consent and when their surface enters view.",
      "effort": "medium"
    },
    {
      "id": "F15",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Images, links and frames lack accessible names",
      "evidence": "Lighthouse found missing alt text, four unnamed links on home, unnamed links on detail and untitled iframes; the image primitive counted three missing alt values on home and six on detail.",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/lighthouse-detail.json",
        "evidence/home-images.json",
        "evidence/detail-images.json"
      ],
      "suggestedFix": "Give meaningful content images concise alt text, mark decorative/tracking pixels appropriately, name icon links, and title every iframe.",
      "effort": "medium"
    },
    {
      "id": "F16",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Repeated text fails WCAG contrast minimums",
      "evidence": "Lighthouse found 30 contrast failures on home, including #15803d on #2e2f30 at 2.67:1 and #b91c1c at 2.07:1; detail also failed contrast.",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/lighthouse-detail.json",
        "evidence/home-contrast.png"
      ],
      "suggestedFix": "Choose foreground tokens that meet at least 4.5:1 for normal text in every theme and state.",
      "effort": "small"
    },
    {
      "id": "F17",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Heading hierarchy, landmarks and focus indication are incomplete",
      "evidence": "Lighthouse found invalid heading order and no main landmark on both templates; the focus probe found a transparent outline and no shadow on the first control.",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/lighthouse-detail.json",
        "evidence/platform-probe.json"
      ],
      "suggestedFix": "Add one main landmark, repair sequential heading levels, and define strong :focus-visible styles without removing native focus.",
      "effort": "medium"
    },
    {
      "id": "F18",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Targets are undersized or obscured despite responsive reflow",
      "evidence": "The page reflowed at 360 px without overflow, but Lighthouse reported target-size failures and the live ad partially obscured a 44 px bottom-nav control.",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-mobile-layout.json",
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Preserve reflow, enlarge crowded links, and prevent overlays from intersecting fixed mobile controls.",
      "effort": "small"
    },
    {
      "id": "F19",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Image delivery and dimensions are inconsistent",
      "evidence": "Image probes found two images without dimensions on each template, 31/33 home images without srcset, and no modern-format content images. Lighthouse flagged image delivery.",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/detail-images.json",
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Supply intrinsic width/height, responsive srcset/sizes and AVIF/WebP alternatives while preserving correct aspect ratios.",
      "effort": "medium"
    },
    {
      "id": "F20",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "follow-best-practices",
      "principleCheckId": "browser-platform-hygiene",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "severity": "low",
      "confidence": "high",
      "summary": "Deprecated APIs and browser inspector issues are present",
      "evidence": "Lighthouse reported three deprecation warnings and DevTools inspector issues from Cloudflare/ad integrations.",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/lighthouse-detail.json"
      ],
      "suggestedFix": "Update or remove integrations that invoke deprecated storage/advertising APIs and clear DevTools Issues warnings.",
      "effort": "medium"
    },
    {
      "id": "F21",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "modern-web-guidance",
      "severity": "critical",
      "confidence": "high",
      "summary": "Security headers are absent and analytics cookies are insecure",
      "evidence": "The page uses HTTPS, but the headers primitive found no CSP, HSTS, nosniff, frame protection, Referrer-Policy or Permissions-Policy. Six cookies were flagged insecure and all used SameSite=None.",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "suggestedFix": "Deploy HSTS, a restrictive CSP, nosniff, frame-ancestors, Referrer-Policy and Permissions-Policy; mark all HTTPS cookies Secure and choose Lax/Strict unless cross-site use is essential.",
      "effort": "medium"
    },
    {
      "id": "F22",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "The initial page load exposes users to a large tracking footprint",
      "evidence": "Tracker evidence found 21 third-party origins and Google Analytics/Tag Manager; HAR recorded 81 third-party requests and 5.22 MB transferred before meaningful interaction.",
      "artifacts": [
        "evidence/trackers.json",
        "evidence/home-summary.json",
        "evidence/cookies.json"
      ],
      "suggestedFix": "Minimise vendors, gate non-essential analytics/ads behind informed consent, batch essential analytics and proxy/self-host where appropriate.",
      "effort": "large"
    },
    {
      "id": "F23",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Browser-enforced defensive policies are not configured",
      "evidence": "Header inspection found no HSTS, clickjacking defense, Referrer-Policy, Permissions-Policy or CSP frame-ancestors.",
      "artifacts": [
        "evidence/headers.json"
      ],
      "suggestedFix": "Add browser defense headers with least-privilege directives and test embedded third-party surfaces against the policy.",
      "effort": "medium"
    },
    {
      "id": "F24",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "be-resilient",
      "principleCheckId": "resilient-runtime-behaviour",
      "guidanceId": "persistent-top-layer-ui",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Third-party top-layer content collides with site controls and recovery UI",
      "evidence": "Across home, detail, artists and 404, the ad overlay covers fixed navigation and the age-confirmation dialog rather than repositioning or yielding to the viewport.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/detail-desktop.png",
        "evidence/artists-desktop.png",
        "evidence/notfound-desktop.png"
      ],
      "suggestedFix": "Contain third-party content inline; ensure overlays stay within safe viewport bounds and never overlap modal or recovery controls.",
      "effort": "medium"
    },
    {
      "id": "F25",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "be-trustworthy",
      "principleCheckId": "no-dark-patterns",
      "guidanceId": "css",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Promotions are visually mixed into content and a live ad interrupts the age gate",
      "evidence": "The homepage carousel inserts “Create your AI Slut (free)” among comic updates, while a separate live-video ad overlaps content and the Adults only decision dialog.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/notfound-desktop.png",
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Label every promotion unambiguously, separate it visually from editorial cards, and never place advertising above age/consent decisions.",
      "effort": "medium"
    },
    {
      "id": "F26",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "optimize-image-priority",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Content images lack responsive and modern-format delivery",
      "evidence": "Home image evidence found 32 legacy-format images, zero modern formats and 31 missing srcset; detail showed 35 legacy images and 33 missing srcset.",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/detail-images.json"
      ],
      "suggestedFix": "Generate AVIF/WebP variants and responsive srcset/sizes for thumbnails and pages, with dimensions and lazy loading below fold.",
      "effort": "medium"
    },
    {
      "id": "F27",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "performance",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Autoplay advertising performs substantial work before user intent",
      "evidence": "The page auto-plays two videos; HAR transferred 5.52 MB, including multi-megabyte ad video XHRs, and 81 third-party requests on initial load.",
      "artifacts": [
        "evidence/runtime-probe.json",
        "evidence/home-summary.json",
        "evidence/reduced-motion.json"
      ],
      "suggestedFix": "Do not autoplay promotional media; load media and vendor code only after explicit activation or viewport entry.",
      "effort": "medium"
    },
    {
      "id": "F28",
      "pathId": "home",
      "url": "https://hdporncomics.com/",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "performance",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Third-party media cost is disproportionate to the comic browsing task",
      "evidence": "Third parties account for 5.22 of 5.52 MB transferred, led by ad video origins at 2.14 MB and 1.53 MB, while the overlay actively obscures user content.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-desktop.png"
      ],
      "suggestedFix": "Set a strict third-party budget, remove floating live video, and lazy-load any retained promotion after core content.",
      "effort": "large"
    }
  ],
  "taskList": [
    {
      "id": "T01",
      "title": "Remove on-load floating video and keep ads inline",
      "priority": 1,
      "findingIds": [
        "F05",
        "F06",
        "F07",
        "F10",
        "F24",
        "F25"
      ],
      "guidanceId": "persistent-top-layer-ui",
      "status": "open"
    },
    {
      "id": "T02",
      "title": "Deploy security headers and secure cookie attributes",
      "priority": 2,
      "findingIds": [
        "F21",
        "F23"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T03",
      "title": "Cut third-party requests, trackers and autoplay media",
      "priority": 3,
      "findingIds": [
        "F22",
        "F27",
        "F28"
      ],
      "guidanceId": "privacy",
      "status": "open"
    },
    {
      "id": "T04",
      "title": "Repair names, landmarks, headings, contrast and focus",
      "priority": 4,
      "findingIds": [
        "F09",
        "F15",
        "F16",
        "F17",
        "F18"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T05",
      "title": "Improve LCP and resource priority",
      "priority": 5,
      "findingIds": [
        "F11",
        "F12",
        "F13",
        "F14"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T06",
      "title": "Deliver responsive modern images",
      "priority": 6,
      "findingIds": [
        "F19",
        "F26"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "T07",
      "title": "Respect reduced-motion and contrast preferences",
      "priority": 7,
      "findingIds": [
        "F01",
        "F02"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 4,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-21T04-59-00-523Z"
}
