{
  "url": "https://bbs.animanch.com",
  "auditedAt": "2026-07-26T08:19:26.105Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "All 58 atomic checks received conclusive outcomes. Category, settings, contact, sitemap, and search blocks are recorded as site findings rather than audit blockers because homepage and thread templates remained inspectable.",
  "page": {
    "appType": "mpa",
    "framework": "Server-rendered MPA using Bootstrap 5 and jQuery",
    "notes": "Japanese public discussion forum. Representative category/settings/contact/search requests were intermittently blocked by Cloudflare; homepage and a discussion thread loaded."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "layout-metrics",
    "evaluate-probe",
    "trace",
    "har",
    "discoverability",
    "images",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "lighthouse",
    "heap-summary"
  ],
  "guidanceConsulted": [
    "dark-mode",
    "accessibility",
    "css",
    "forms",
    "performance",
    "privacy",
    "security",
    "same-document-transitions",
    "scroll-position-aware-elements",
    "declarative-dialog-popover-control",
    "size-aware-styling",
    "optimize-image-priority",
    "optimize-preload-priority",
    "defer-rendering-heavy-content",
    "validate-input-after-interaction",
    "required-field-feedback",
    "stabilize-reactive-state",
    "coordinate-global-events",
    "capture-location-agnostic-data",
    "efficient-background-processing",
    "webmcp",
    "agentic-forms",
    "language-model",
    "manage-recurring-intervals",
    "improve-text-layout-and-legibility",
    "html",
    "deprioritize-background-fetches",
    "adapt-scrollbar-to-contrast-preferences",
    "accessible-error-announcement",
    "schedule-tasks-by-priority"
  ],
  "artifacts": [
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "Homepage at desktop viewport",
      "findingIds": [
        "F01",
        "F19"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "Homepage at 360x800",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F04",
        "F06",
        "F16"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "Homepage under system dark preference",
      "condition": "prefers-color-scheme: dark",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/thread-mobile.png",
      "caption": "Representative discussion thread at 360x800",
      "condition": "viewport: 360x800",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/category-mobile.png",
      "caption": "Cloudflare block returned for category path",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F07",
        "F08",
        "F27"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/settings-mobile.png",
      "caption": "Cloudflare block returned for settings path",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F27"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/contact-mobile.png",
      "caption": "Cloudflare block returned for contact path",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F27"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/home-layout-mobile.json",
      "caption": "Mobile layout and CLS/long-task observation",
      "condition": "viewport: 360x800",
      "findingIds": [
        "F04"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace",
      "caption": "Raw DevTools performance trace",
      "findingIds": []
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "Compact trace timing summary",
      "findingIds": [
        "F09",
        "F10"
      ]
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "Full network HAR",
      "findingIds": [
        "F11",
        "F25"
      ]
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "Compact HAR network signals",
      "findingIds": [
        "F11",
        "F19",
        "F25",
        "F29",
        "F30",
        "F31"
      ]
    },
    {
      "type": "discoverability",
      "path": "evidence/home-discoverability.json",
      "caption": "Raw HTML versus rendered content comparison",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-rendered.png",
      "caption": "Rendered browser view",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-crawler.png",
      "caption": "No-JavaScript crawler view",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-images.json",
      "caption": "Image audit",
      "findingIds": [
        "F13",
        "F19",
        "F29"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-headers.json",
      "caption": "Security header audit",
      "findingIds": [
        "F24",
        "F26"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-cookies.json",
      "caption": "Cookie audit",
      "findingIds": [
        "F24"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-trackers.json",
      "caption": "Third-party tracker audit",
      "findingIds": [
        "F25",
        "F31"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-secrets.json",
      "caption": "Client-side secret scan",
      "findingIds": []
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-home.json",
      "caption": "Mobile Lighthouse report",
      "findingIds": [
        "F02",
        "F09",
        "F10",
        "F12",
        "F13",
        "F14",
        "F18",
        "F20",
        "F21",
        "F30"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "Rendered homepage DOM and CSS",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-recon.json",
      "caption": "Homepage routes, forms, and metadata recon",
      "findingIds": [
        "F21"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/thread-dom.json",
      "caption": "Rendered thread DOM and CSS",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-probe.json",
      "caption": "Homepage semantics, focus, target, form, and metadata probe",
      "findingIds": [
        "F05",
        "F06",
        "F13",
        "F15",
        "F17",
        "F22",
        "F23",
        "F28"
      ]
    },
    {
      "type": "other",
      "path": "evidence/thread-probe.json",
      "caption": "Thread metadata and assets probe",
      "findingIds": [
        "F23"
      ]
    },
    {
      "type": "other",
      "path": "evidence/thread-structure.json",
      "caption": "Thread structure/form/platform feature probe",
      "findingIds": [
        "F03",
        "F28"
      ]
    },
    {
      "type": "other",
      "path": "evidence/search-flow.json",
      "caption": "Search flow Cloudflare response",
      "findingIds": [
        "F07",
        "F08",
        "F27"
      ]
    },
    {
      "type": "other",
      "path": "evidence/crawl-recon.json",
      "caption": "robots.txt and sitemap.xml probe",
      "findingIds": [
        "F22"
      ]
    },
    {
      "type": "other",
      "path": "evidence/reduced-motion-probe.json",
      "caption": "Reduced-motion animation probe",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline",
      "caption": "Baseline heap summary",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/heap-post",
      "caption": "Post-interaction heap summary",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/footprint-probe.json",
      "caption": "DOM footprint probe",
      "findingIds": []
    }
  ],
  "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 artifact review and objective browser evidence",
      "evidence": "The prefers-color-scheme: dark screenshot is pixel-identical to the light screenshot; the page instead exposes a manual toggle.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/home-desktop.png"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "pass",
      "confidence": "high",
      "method": "Reduced-motion evaluate probe",
      "evidence": "No animations or non-zero transitions were present while prefers-reduced-motion: reduce matched.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/reduced-motion-probe.json"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "Lighthouse measured link contrast as low as 3.46:1 on the green notice and 4.19:1 for dark-theme tabs, below 4.5:1.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "The structure probe found no view-transition CSS and the page uses ordinary MPA navigation and Bootstrap tab swaps.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/thread-structure.json"
      ],
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon-based applicability judgement against the check scope",
      "evidence": "No scroll-linked animation, parallax, reveal, or scrollytelling surface exists on the representative pages.",
      "reason": "No scroll-linked animation, parallax, reveal, or scrollytelling surface exists on the representative pages.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon-based applicability judgement against the check scope",
      "evidence": "No custom gesture-driven interaction exists; forum navigation uses native links and controls.",
      "reason": "No custom gesture-driven interaction exists; forum navigation uses native links and controls.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "The mobile layout is 28,788px tall, while screenshots show static header/navigation and the DOM contains no scroll-state/container-query feature.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon-based applicability judgement against the check scope",
      "evidence": "No tooltip, popover, or viewport-edge menu requiring anchored positioning was found.",
      "reason": "No tooltip, popover, or viewport-edge menu requiring anchored positioning was found.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "high",
      "method": "Visual and DOM navigation review",
      "evidence": "Thread pages provide TOP and category breadcrumbs, and the homepage labels each list state with visible tabs.",
      "pathIds": [
        "home",
        "thread"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/thread-mobile.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "pass",
      "confidence": "high",
      "method": "Initial-load screenshots",
      "evidence": "Initial desktop and mobile captures showed content immediately with no modal, consent wall, or interstitial obscuring it.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon-based applicability judgement against the check scope",
      "evidence": "No modal, disclosure, tooltip, or transient overlay was present on the representative successful pages.",
      "reason": "No modal, disclosure, tooltip, or transient overlay was present on the representative successful pages.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "pass",
      "confidence": "high",
      "method": "Visual hierarchy review",
      "evidence": "The first viewport is dominated by recommended threads, notice text, and listing navigation rather than decorative application framing.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "pass",
      "confidence": "high",
      "method": "Mobile layout primitive",
      "evidence": "At 360x800, scrollWidth and clientWidth were both 360, horizontal overflow was 0, and a viewport meta tag was present.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "The live CSS probe found zero @container rules despite cards/navigation being reused in narrow and wide contexts.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "The focus probe found 18 of the first 30 focusable controls below 44px in one dimension; the category link reported outline-style:none and no box shadow.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "First-viewport and navigation review",
      "evidence": "The title, recommended threads, category/list tabs, search control, and thread cards make the forum purpose and next actions apparent.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "Submitting the visible search for ドラゴンボール redirected to /search/... and produced “Sorry, you have been blocked” rather than results.",
      "pathIds": [
        "search"
      ],
      "artifacts": [
        "evidence/search-flow.json",
        "evidence/category-mobile.png"
      ],
      "findingIds": [
        "F07"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "The search result is a generic Cloudflare block whose only recovery is to email the site owner; it does not preserve the query or offer retry/back-to-results.",
      "pathIds": [
        "search"
      ],
      "artifacts": [
        "evidence/search-flow.json",
        "evidence/category-mobile.png"
      ],
      "findingIds": [
        "F08"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "Mobile Lighthouse measured LCP 3.3s, TBT 320ms, Speed Index 13.6s, and time-to-interactive 33.6s; the trace also measured FCP/LCP 4.50s.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-trace-summary.json"
      ],
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "high",
      "method": "Layout observer and Lighthouse",
      "evidence": "Observed CLS was 0 in the mobile layout primitive and approximately 0.00008 in Lighthouse.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/lighthouse-home.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "Lighthouse measured 320ms TBT and 33.6s time-to-interactive, despite the shorter native trace observing only 2.08ms TBT in its window.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-trace-summary.json"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "The HAR recorded 663 requests and 4.19MB transferred, including 557 image requests and 545 HTTP 403 responses; parser-inserted jQuery/Bootstrap and four stylesheets are candidate blockers.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home.har",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "Lighthouse estimated 529KiB unused JavaScript and 22KiB unused CSS, including 93% of Bootstrap CSS and substantial ad/analytics code.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F12"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "The image audit found 100/100 images without alt; Lighthouse also failed image-alt and found an unlabeled upload input, while DOM probes found unlabeled search controls.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-images.json",
        "evidence/lighthouse-home.json",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "Lighthouse measured 3.46:1 for notice links and 4.19:1 for dark-theme tab links, below the 4.5:1 text minimum.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "The homepage probe found no headings and no <main>; the category control computed outline:none and box-shadow:none when focused.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "The 360px screenshot shows 更新順 and シャッフル split vertically into individual characters, making navigation slow to scan.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "The focus/geometry probe found 18 of 30 sampled controls below 44px in one dimension, including 17px-high utility links.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F17"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "Lighthouse failed errors-in-console with repeated CORS failures from Geniee and GMO advertising endpoints.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F18"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "The image audit found 100 images without dimensions; screenshots show the logo broken, and the HAR contains 545 HTTP 403 responses, mostly thumbnails.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home-desktop.png",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F19"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "Lighthouse reported four deprecation warnings, inspector cookie issues, and five BFCache failure reasons including cache-control:no-store.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F20"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "pass",
      "confidence": "high",
      "method": "DOM and discoverability probes",
      "evidence": "Homepage and thread pages expose descriptive titles and meta descriptions in server-rendered HTML.",
      "pathIds": [
        "home",
        "thread"
      ],
      "artifacts": [
        "evidence/home-recon.json",
        "evidence/thread-probe.json",
        "evidence/home-discoverability.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "Lighthouse found an <a onclick=\"location.reload()\"> without href, and the page declares meta robots index,nofollow despite a public forum; viewport metadata is present.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-recon.json"
      ],
      "findingIds": [
        "F21"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "The homepage has no canonical URL, declares index,nofollow, and /sitemap.xml returned a Cloudflare block, although robots.txt allows general search crawling.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/crawl-recon.json"
      ],
      "findingIds": [
        "F22"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "Open Graph metadata exists, but the homepage probe found no JSON-LD and the thread exposes no DiscussionForumPosting schema.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/thread-probe.json"
      ],
      "findingIds": [
        "F23"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "HTTPS is used, but PHPSESSID lacks Secure and HttpOnly; seven other cookies lack Secure. CSP and nosniff are missing, and HSTS is effectively disabled with max-age=0.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-cookies.json",
        "evidence/home-headers.json"
      ],
      "findingIds": [
        "F24"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "The tracker probe found 41 third-party origins and 12 known tracker domains; the HAR measured 99 third-party requests and 1.19MB transferred.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trackers.json",
        "evidence/home-summary.json",
        "evidence/home.har"
      ],
      "findingIds": [
        "F25"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon-based applicability judgement against the check scope",
      "evidence": "No authentication surface or browser permission request was present on the representative public forum pages.",
      "reason": "No authentication surface or browser permission request was present on the representative public forum pages.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "The header probe found no CSP/frame-ancestors or X-Frame-Options, no Referrer-Policy, no Permissions-Policy, and HSTS max-age=0.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-headers.json"
      ],
      "findingIds": [
        "F26"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "high",
      "method": "Discoverability no-JS comparison",
      "evidence": "Raw server HTML contained 100% of rendered content tokens, with title and description intact; the page is not a JS shell.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/home-discoverability-crawler.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "high",
      "method": "Representative visual and DOM review",
      "evidence": "Successful homepage and thread loads use ordinary links/forms and showed no cut-off overlay or fragile custom top-layer UI.",
      "pathIds": [
        "home",
        "thread"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/thread-mobile.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon-based applicability judgement against the check scope",
      "evidence": "This public MPA discussion forum is not presented as an installable app; no offline editing or app-like promise was identified.",
      "reason": "This public MPA discussion forum is not presented as an installable app; no offline editing or app-like promise was identified.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "Category, settings, contact, sitemap, and an ordinary search were intermittently replaced by Cloudflare “Sorry, you have been blocked” pages.",
      "pathIds": [
        "search"
      ],
      "artifacts": [
        "evidence/category-mobile.png",
        "evidence/settings-mobile.png",
        "evidence/contact-mobile.png",
        "evidence/search-flow.json"
      ],
      "findingIds": [
        "F27"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon-based applicability judgement against the check scope",
      "evidence": "The site is deliberately Japanese-language and Japan-locale community content with no locale switch, currency, scheduling, or cross-time-zone workflow in the audited scope.",
      "reason": "The site is deliberately Japanese-language and Japan-locale community content with no locale switch, currency, scheduling, or cross-time-zone workflow in the audited scope.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon-based applicability judgement against the check scope",
      "evidence": "The site is deliberately Japanese-language and Japan-locale community content with no locale switch, currency, scheduling, or cross-time-zone workflow in the audited scope.",
      "reason": "The site is deliberately Japanese-language and Japan-locale community content with no locale switch, currency, scheduling, or cross-time-zone workflow in the audited scope.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon-based applicability judgement against the check scope",
      "evidence": "The site is deliberately Japanese-language and Japan-locale community content with no locale switch, currency, scheduling, or cross-time-zone workflow in the audited scope.",
      "reason": "The site is deliberately Japanese-language and Japan-locale community content with no locale switch, currency, scheduling, or cross-time-zone workflow in the audited scope.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "high",
      "method": "Visual flow review",
      "evidence": "No forced continuity, confirmshaming, disguised action, subscription pressure, or nagging consent wall appeared in the audited public flows.",
      "pathIds": [
        "home",
        "thread"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/thread-mobile.png"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "pass",
      "confidence": "high",
      "method": "DOM form-state review",
      "evidence": "The visible search input uses native required validation; no premature custom invalid state appeared before interaction.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "The DOM probe found empty autocomplete values and no labels on search and upload controls.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/thread-structure.json"
      ],
      "findingIds": [
        "F28"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon-based applicability judgement against the check scope",
      "evidence": "No checkout, subscription, authentication, account-management, or payment flow exists in the audited public scope.",
      "reason": "No checkout, subscription, authentication, account-management, or payment flow exists in the audited public scope.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "The image audit found 99 below-fold images without lazy loading and all 100 sampled images without dimensions; the HAR recorded 557 image requests and 2.96MB transferred.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F29"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "The HAR recorded 663 requests with 545 HTTP 403 responses, while Lighthouse reported repeated advertising CORS failures.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse-home.json"
      ],
      "findingIds": [
        "F30"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review and objective browser evidence",
      "evidence": "The HAR attributes 1.19MB and 99 requests to third parties; tracker evidence lists 41 third-party origins and 12 known trackers.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trackers.json"
      ],
      "findingIds": [
        "F31"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon-based applicability judgement against the check scope",
      "evidence": "No developer intent for agent-executed forum capabilities is evident; robots.txt explicitly restricts several AI crawlers, so absence of WebMCP is not penalised.",
      "reason": "No developer intent for agent-executed forum capabilities is evident; robots.txt explicitly restricts several AI crawlers, so absence of WebMCP is not penalised.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon-based applicability judgement against the check scope",
      "evidence": "No summarisation or language-model task is promised by this conventional public forum, so built-in inference is optional rather than required.",
      "reason": "No summarisation or language-model task is promised by this conventional public forum, so built-in inference is optional rather than required.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "high",
      "method": "Baseline/post heap comparison",
      "evidence": "After 10 dark-mode/tab interaction cycles, heap nodes decreased from 509,665 to 507,687 and self size decreased from 27,511,079 to 27,456,329 bytes.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline",
        "evidence/heap-post"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "high",
      "method": "Heap summary and DOM footprint probe",
      "evidence": "The loaded long listing used about 27.5MB heap self-size with 3,347 DOM elements; substantial but bounded for the 21k-28k px feed and ad integrations.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline",
        "evidence/footprint-probe.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "high",
      "method": "Before/after heap constructor comparison",
      "evidence": "No Detached* constructor appeared in either heap summary and repeated interaction reduced total nodes/edges rather than accumulating them.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline",
        "evidence/heap-post"
      ]
    }
  ],
  "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": "pass"
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F05",
        "F06"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F07",
        "F08"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F09",
        "F10",
        "F11",
        "F12"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F13",
        "F14",
        "F15",
        "F16",
        "F17"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F18",
        "F19",
        "F20"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F21",
        "F22",
        "F23"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F24",
        "F25",
        "F26"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F27"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "The site is deliberately Japanese-language and Japan-locale community content with no locale switch, currency, scheduling, or cross-time-zone workflow in the audited scope."
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F28"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F29",
        "F30",
        "F31"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "No developer intent for agent-executed forum capabilities is evident; robots.txt explicitly restricts several AI crawlers, so absence of WebMCP is not penalised."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage: primary listing, search entry, recommendation and category navigation; represents the main discovery template.",
      "url": "https://bbs.animanch.com/",
      "conditions": [
        "desktop",
        "viewport: 360x800",
        "prefers-color-scheme: dark",
        "prefers-reduced-motion: reduce",
        "keyboard focus",
        "no JavaScript crawler view"
      ],
      "result": "issues"
    },
    {
      "id": "thread",
      "description": "Representative discussion detail: reading, thread metadata, replies, and posting controls; represents /board/:id.",
      "url": "https://bbs.animanch.com/board/7111492/",
      "conditions": [
        "viewport: 360x800",
        "DOM/metadata inspection"
      ],
      "result": "issues"
    },
    {
      "id": "category",
      "description": "Representative category listing archetype; request returned a Cloudflare block.",
      "url": "https://bbs.animanch.com/category16/",
      "conditions": [
        "viewport: 360x800"
      ],
      "result": "failed"
    },
    {
      "id": "search",
      "description": "Primary search journey using the visible query form; ordinary Japanese query returned a Cloudflare block.",
      "url": "https://bbs.animanch.com/?q=%E3%83%89%E3%83%A9%E3%82%B4%E3%83%B3%E3%83%9C%E3%83%BC%E3%83%AB&flag=current",
      "conditions": [
        "form GET journey"
      ],
      "result": "failed"
    },
    {
      "id": "settings-contact",
      "description": "Settings and contact/support surfaces; both returned Cloudflare blocks in independent navigations.",
      "url": "https://bbs.animanch.com/setting/",
      "conditions": [
        "viewport: 360x800"
      ],
      "result": "failed"
    }
  ],
  "findings": [
    {
      "id": "F01",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "System dark-mode preference is ignored",
      "evidence": "The prefers-color-scheme: dark screenshot is pixel-identical to the light screenshot; the page instead exposes a manual toggle.",
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/home-desktop.png"
      ],
      "suggestedFix": "Declare color-scheme and drive surface colors from prefers-color-scheme, while retaining the manual override.",
      "effort": "medium"
    },
    {
      "id": "F02",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-contrast",
      "guidanceId": "adapt-scrollbar-to-contrast-preferences",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Some controls and links do not preserve sufficient contrast",
      "evidence": "Lighthouse measured link contrast as low as 3.46:1 on the green notice and 4.19:1 for dark-theme tabs, below 4.5:1.",
      "artifacts": [
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Use preference-aware color tokens and verify text/control colors in light, dark, and forced-color modes.",
      "effort": "medium"
    },
    {
      "id": "F03",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "same-document-transitions",
      "guidanceCategory": "modern-web-guidance",
      "severity": "low",
      "confidence": "high",
      "summary": "Navigation and tab state swaps are abrupt",
      "evidence": "The structure probe found no view-transition CSS and the page uses ordinary MPA navigation and Bootstrap tab swaps.",
      "artifacts": [
        "evidence/thread-structure.json"
      ],
      "suggestedFix": "Add same-document transitions to tab changes and progressive cross-document transitions to forum navigation.",
      "effort": "medium"
    },
    {
      "id": "F04",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "scroll-position-aware-elements",
      "guidanceCategory": "modern-web-guidance",
      "severity": "low",
      "confidence": "high",
      "summary": "Very long listing pages provide no scroll-position feedback",
      "evidence": "The mobile layout is 28,788px tall, while screenshots show static header/navigation and the DOM contains no scroll-state/container-query feature.",
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Add a lightweight declarative scroll-progress or back-to-top affordance that respects reduced motion.",
      "effort": "medium"
    },
    {
      "id": "F05",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "guidanceCategory": "modern-web-guidance",
      "severity": "low",
      "confidence": "high",
      "summary": "Repeated components adapt only at page level",
      "evidence": "The live CSS probe found zero @container rules despite cards/navigation being reused in narrow and wide contexts.",
      "artifacts": [
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Use container queries for reusable card and navigation layout decisions rather than relying only on viewport styles.",
      "effort": "medium"
    },
    {
      "id": "F06",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Many controls are too small and one menu loses visible keyboard focus",
      "evidence": "The focus probe found 18 of the first 30 focusable controls below 44px in one dimension; the category link reported outline-style:none and no box shadow.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Increase target padding and provide a high-contrast :focus-visible treatment for every interactive control.",
      "effort": "medium"
    },
    {
      "id": "F07",
      "pathId": "search",
      "url": "https://bbs.animanch.com/?q=%E3%83%89%E3%83%A9%E3%82%B4%E3%83%B3%E3%83%9C%E3%83%BC%E3%83%AB&flag=current",
      "principleId": "support-core-task-success",
      "principleCheckId": "primary-flow-completion",
      "guidanceId": "forms",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "The primary search journey is blocked by Cloudflare",
      "evidence": "Submitting the visible search for ドラゴンボール redirected to /search/... and produced “Sorry, you have been blocked” rather than results.",
      "artifacts": [
        "evidence/search-flow.json",
        "evidence/category-mobile.png"
      ],
      "suggestedFix": "Adjust Cloudflare/WAF search rules and add an automated smoke test for ordinary Japanese queries.",
      "effort": "medium"
    },
    {
      "id": "F08",
      "pathId": "search",
      "url": "https://bbs.animanch.com/?q=%E3%83%89%E3%83%A9%E3%82%B4%E3%83%B3%E3%83%9C%E3%83%BC%E3%83%AB&flag=current",
      "principleId": "support-core-task-success",
      "principleCheckId": "clear-system-state-and-recovery",
      "guidanceId": "accessible-error-announcement",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Blocked search offers no in-product recovery",
      "evidence": "The search result is a generic Cloudflare block whose only recovery is to email the site owner; it does not preserve the query or offer retry/back-to-results.",
      "artifacts": [
        "evidence/search-flow.json",
        "evidence/category-mobile.png"
      ],
      "suggestedFix": "Render a site-owned recoverable error state with retained query, retry, and return controls, and log the Ray ID server-side.",
      "effort": "medium"
    },
    {
      "id": "F09",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Load responsiveness misses the good performance range",
      "evidence": "Mobile Lighthouse measured LCP 3.3s, TBT 320ms, Speed Index 13.6s, and time-to-interactive 33.6s; the trace also measured FCP/LCP 4.50s.",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-trace-summary.json"
      ],
      "suggestedFix": "Prioritise main content, lazy-load below-fold thumbnails, and defer ad/analytics work until after critical rendering.",
      "effort": "medium"
    },
    {
      "id": "F10",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-main-thread",
      "guidanceId": "schedule-tasks-by-priority",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Third-party work blocks interactivity",
      "evidence": "Lighthouse measured 320ms TBT and 33.6s time-to-interactive, despite the shorter native trace observing only 2.08ms TBT in its window.",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-trace-summary.json"
      ],
      "suggestedFix": "Defer and conditionally load auction/analytics scripts; schedule non-critical work at background priority.",
      "effort": "medium"
    },
    {
      "id": "F11",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-image-priority",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "The listing performs hundreds of wasteful requests",
      "evidence": "The HAR recorded 663 requests and 4.19MB transferred, including 557 image requests and 545 HTTP 403 responses; parser-inserted jQuery/Bootstrap and four stylesheets are candidate blockers.",
      "artifacts": [
        "evidence/home.har",
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Stop requesting inaccessible thumbnails, lazy-load below-fold media, and defer non-critical scripts after confirming dependencies.",
      "effort": "medium"
    },
    {
      "id": "F12",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "defer-rendering-heavy-content",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Large unused third-party bundles dominate the page",
      "evidence": "Lighthouse estimated 529KiB unused JavaScript and 22KiB unused CSS, including 93% of Bootstrap CSS and substantial ad/analytics code.",
      "artifacts": [
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Ship a page-specific CSS subset and conditionally load only the advertising/analytics modules needed for visible slots.",
      "effort": "medium"
    },
    {
      "id": "F13",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Images and form controls lack accessible names",
      "evidence": "The image audit found 100/100 images without alt; Lighthouse also failed image-alt and found an unlabeled upload input, while DOM probes found unlabeled search controls.",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/lighthouse-home.json",
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Add meaningful alt text or alt=\"\" for decoration, and explicit labels/accessible names for every form control.",
      "effort": "medium"
    },
    {
      "id": "F14",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Link and tab colors fail WCAG contrast",
      "evidence": "Lighthouse measured 3.46:1 for notice links and 4.19:1 for dark-theme tab links, below the 4.5:1 text minimum.",
      "artifacts": [
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Darken link tokens on tinted/light surfaces and lighten them on dark surfaces to reach WCAG AA.",
      "effort": "medium"
    },
    {
      "id": "F15",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "The homepage lacks a heading/main structure and one menu has no focus indicator",
      "evidence": "The homepage probe found no headings and no <main>; the category control computed outline:none and box-shadow:none when focused.",
      "artifacts": [
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Add a single descriptive h1, wrap primary content in main, and style :focus-visible consistently.",
      "effort": "medium"
    },
    {
      "id": "F16",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "legible-text",
      "guidanceId": "improve-text-layout-and-legibility",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Mobile tab labels wrap one character per line",
      "evidence": "The 360px screenshot shows 更新順 and シャッフル split vertically into individual characters, making navigation slow to scan.",
      "artifacts": [
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Allow the tab row to scroll or wrap as whole labels; preserve readable line boxes and minimum tab width.",
      "effort": "medium"
    },
    {
      "id": "F17",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Small touch targets undermine reflow usability",
      "evidence": "The focus/geometry probe found 18 of 30 sampled controls below 44px in one dimension, including 17px-high utility links.",
      "artifacts": [
        "evidence/home-probe.json"
      ],
      "suggestedFix": "Increase interactive target boxes to about 44x44 CSS px without enlarging text unnecessarily.",
      "effort": "medium"
    },
    {
      "id": "F18",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "follow-best-practices",
      "principleCheckId": "no-console-errors",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Advertising code emits repeated console errors",
      "evidence": "Lighthouse failed errors-in-console with repeated CORS failures from Geniee and GMO advertising endpoints.",
      "artifacts": [
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Remove or correct failing integrations and guard optional ad calls so normal loads stay error-free.",
      "effort": "medium"
    },
    {
      "id": "F19",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Image assets are broken and unsized",
      "evidence": "The image audit found 100 images without dimensions; screenshots show the logo broken, and the HAR contains 545 HTTP 403 responses, mostly thumbnails.",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home-desktop.png",
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Serve accessible image URLs, add intrinsic width/height, and use responsive lazy-loaded sources.",
      "effort": "medium"
    },
    {
      "id": "F20",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "follow-best-practices",
      "principleCheckId": "browser-platform-hygiene",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Deprecated APIs and BFCache blockers remain",
      "evidence": "Lighthouse reported four deprecation warnings, inspector cookie issues, and five BFCache failure reasons including cache-control:no-store.",
      "artifacts": [
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Update/remove deprecated third-party integrations and scope no-store only to responses that truly require it.",
      "effort": "medium"
    },
    {
      "id": "F21",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "be-discoverable",
      "principleCheckId": "crawlable-and-mobile-friendly",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Some navigation is not crawlable and all page links are marked nofollow",
      "evidence": "Lighthouse found an <a onclick=\"location.reload()\"> without href, and the page declares meta robots index,nofollow despite a public forum; viewport metadata is present.",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/home-recon.json"
      ],
      "suggestedFix": "Use buttons for actions, real href values for navigation, and remove blanket nofollow where discovery of thread links is intended.",
      "effort": "medium"
    },
    {
      "id": "F22",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "be-discoverable",
      "principleCheckId": "canonical-and-indexing-signals",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Homepage indexing signals are inconsistent",
      "evidence": "The homepage has no canonical URL, declares index,nofollow, and /sitemap.xml returned a Cloudflare block, although robots.txt allows general search crawling.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/crawl-recon.json"
      ],
      "suggestedFix": "Add a self-canonical, expose a valid sitemap, and align robots/meta directives with the intended public indexing policy.",
      "effort": "medium"
    },
    {
      "id": "F23",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "be-discoverable",
      "principleCheckId": "structured-and-shareable-metadata",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "severity": "low",
      "confidence": "high",
      "summary": "Forum threads lack structured discussion metadata",
      "evidence": "Open Graph metadata exists, but the homepage probe found no JSON-LD and the thread exposes no DiscussionForumPosting schema.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/thread-probe.json"
      ],
      "suggestedFix": "Add accurate DiscussionForumPosting/BreadcrumbList JSON-LD matching visible thread content.",
      "effort": "medium"
    },
    {
      "id": "F24",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "modern-web-guidance",
      "severity": "critical",
      "confidence": "high",
      "summary": "Session and analytics cookies are insecure and core security headers are absent",
      "evidence": "HTTPS is used, but PHPSESSID lacks Secure and HttpOnly; seven other cookies lack Secure. CSP and nosniff are missing, and HSTS is effectively disabled with max-age=0.",
      "artifacts": [
        "evidence/home-cookies.json",
        "evidence/home-headers.json"
      ],
      "suggestedFix": "Set Secure, HttpOnly, and appropriate SameSite on the session cookie; deploy CSP, nosniff, and a positive HSTS max-age after validation.",
      "effort": "medium"
    },
    {
      "id": "F25",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "The page contacts an excessive tracking ecosystem",
      "evidence": "The tracker probe found 41 third-party origins and 12 known tracker domains; the HAR measured 99 third-party requests and 1.19MB transferred.",
      "artifacts": [
        "evidence/home-trackers.json",
        "evidence/home-summary.json",
        "evidence/home.har"
      ],
      "suggestedFix": "Audit and remove low-value trackers, require consent where applicable, and batch/minimise analytics.",
      "effort": "medium"
    },
    {
      "id": "F26",
      "pathId": "home",
      "url": "https://bbs.animanch.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 mostly absent",
      "evidence": "The header probe found no CSP/frame-ancestors or X-Frame-Options, no Referrer-Policy, no Permissions-Policy, and HSTS max-age=0.",
      "artifacts": [
        "evidence/home-headers.json"
      ],
      "suggestedFix": "Add frame-ancestors, Referrer-Policy, Permissions-Policy, nosniff, and a tested positive HSTS policy.",
      "effort": "medium"
    },
    {
      "id": "F27",
      "pathId": "search",
      "url": "https://bbs.animanch.com/?q=%E3%83%89%E3%83%A9%E3%82%B4%E3%83%B3%E3%83%9C%E3%83%BC%E3%83%AB&flag=current",
      "principleId": "be-resilient",
      "principleCheckId": "network-and-http-failure-states",
      "guidanceId": "stabilize-reactive-state",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Network/security failures replace the site with an unrecoverable generic page",
      "evidence": "Category, settings, contact, sitemap, and an ordinary search were intermittently replaced by Cloudflare “Sorry, you have been blocked” pages.",
      "artifacts": [
        "evidence/category-mobile.png",
        "evidence/settings-mobile.png",
        "evidence/contact-mobile.png",
        "evidence/search-flow.json"
      ],
      "suggestedFix": "Tune WAF rules and serve site-owned 4xx/failure templates with retry, return, and support context.",
      "effort": "medium"
    },
    {
      "id": "F28",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "be-trustworthy",
      "principleCheckId": "trustworthy-input-assistance",
      "guidanceId": "forms",
      "guidanceCategory": "modern-web-guidance",
      "severity": "low",
      "confidence": "high",
      "summary": "Form controls omit useful input metadata",
      "evidence": "The DOM probe found empty autocomplete values and no labels on search and upload controls.",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/thread-structure.json"
      ],
      "suggestedFix": "Add explicit labels, input purpose/type, and appropriate autocomplete tokens or autocomplete=\"off\" where values are intentionally not reusable.",
      "effort": "medium"
    },
    {
      "id": "F29",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "optimize-image-priority",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Hundreds of thumbnails are fetched eagerly without intrinsic sizing",
      "evidence": "The image audit found 99 below-fold images without lazy loading and all 100 sampled images without dimensions; the HAR recorded 557 image requests and 2.96MB transferred.",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Lazy-load below-fold thumbnails, include dimensions/srcset, and stop requests for inaccessible image variants.",
      "effort": "medium"
    },
    {
      "id": "F30",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "deprioritize-background-fetches",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Failed advertising and thumbnail work consumes resources without user value",
      "evidence": "The HAR recorded 663 requests with 545 HTTP 403 responses, while Lighthouse reported repeated advertising CORS failures.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse-home.json"
      ],
      "suggestedFix": "Eliminate known-failing requests and defer/condition advertising auctions to visible, consented slots.",
      "effort": "medium"
    },
    {
      "id": "F31",
      "pathId": "home",
      "url": "https://bbs.animanch.com/",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "efficient-background-processing",
      "guidanceCategory": "modern-web-guidance",
      "severity": "high",
      "confidence": "high",
      "summary": "Third-party cost is disproportionate to a text forum",
      "evidence": "The HAR attributes 1.19MB and 99 requests to third parties; tracker evidence lists 41 third-party origins and 12 known trackers.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trackers.json"
      ],
      "suggestedFix": "Set a strict third-party budget and remove, consolidate, or defer auction and tracking vendors.",
      "effort": "medium"
    }
  ],
  "taskList": [
    {
      "id": "T1",
      "title": "Secure sessions and deploy browser security policies",
      "priority": 1,
      "findingIds": [
        "F24",
        "F26"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T2",
      "title": "Fix WAF rules and add recoverable search/error states",
      "priority": 2,
      "findingIds": [
        "F07",
        "F08",
        "F27"
      ],
      "guidanceId": "forms",
      "status": "open"
    },
    {
      "id": "T3",
      "title": "Stop failed/eager requests and enforce third-party budgets",
      "priority": 3,
      "findingIds": [
        "F11",
        "F25",
        "F30",
        "F31"
      ],
      "guidanceId": "deprioritize-background-fetches",
      "status": "open"
    },
    {
      "id": "T4",
      "title": "Restore image delivery, sizing, lazy loading, and alternatives",
      "priority": 4,
      "findingIds": [
        "F13",
        "F19",
        "F29"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "T5",
      "title": "Improve semantics, focus, target sizes, contrast, and mobile tab legibility",
      "priority": 5,
      "findingIds": [
        "F06",
        "F14",
        "F15",
        "F16",
        "F17"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T6",
      "title": "Reduce blocking and unused script/CSS work",
      "priority": 6,
      "findingIds": [
        "F09",
        "F10",
        "F12"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T7",
      "title": "Align crawl, canonical, sitemap, and structured metadata",
      "priority": 7,
      "findingIds": [
        "F21",
        "F22",
        "F23"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T8",
      "title": "Clean console, deprecations, BFCache, and input metadata",
      "priority": 8,
      "findingIds": [
        "F18",
        "F20",
        "F28"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T9",
      "title": "Adopt preference and modern responsive/navigation enhancements",
      "priority": 9,
      "findingIds": [
        "F01",
        "F02",
        "F03",
        "F04",
        "F05"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    }
  ],
  "budget": {
    "wallClockSeconds": 900,
    "pathCount": 5,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-26T08-19-26-105Z"
}
