{
  "url": "https://www.alphapolis.co.jp",
  "auditedAt": "2026-07-23T11:23:00.000Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage-complete representative audit of six public templates plus a deliberate 404 recovery state. Excluded: authenticated account management, paid manga reading/payment completion and author publishing because they require credentials or purchases.",
  "page": {
    "appType": "mpa",
    "framework": "Server-rendered MPA with jQuery/Slick and third-party consent/analytics",
    "notes": "Japanese publishing, user-generated novel, manga and book-commerce service. Desktop-first fixed-width layout is scaled on mobile."
  },
  "evidenceUsed": [
    "screenshot",
    "layout-metrics",
    "dom",
    "evaluate-probe",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "lighthouse",
    "axe-core",
    "heap-summary",
    "robots.txt",
    "sitemap.xml"
  ],
  "guidanceConsulted": [
    "dark-mode",
    "component-specific-light-dark-theme",
    "accessibility",
    "adapt-scrollbar-to-contrast-preferences",
    "same-document-transitions",
    "cross-document-transitions",
    "group-element-transitions",
    "faster-spa-view-transitions",
    "scrollytelling",
    "parallax-scroll-effects",
    "scroll-entry-exit-effects",
    "carousel-slide-effects",
    "physics-based-easing",
    "individual-transform-properties",
    "animate-element-entry-exit",
    "animate-to-from-top-layer",
    "animate-to-intrinsic-sizes",
    "dynamic-sibling-animations",
    "interactive-content-reveal",
    "pull-to-reveal",
    "swipe-to-remove",
    "shrinking-header-on-scroll",
    "scroll-progress-indicator",
    "scroll-position-aware-elements",
    "scroll-snap-realtime-feedback",
    "scroll-snap-state-sync",
    "scroll-target-on-load",
    "soft-edge-content-fade",
    "scrollability-affordance-hints",
    "anchor-positioning-tab-underline",
    "position-aware-tooltips",
    "interest-triggered-tooltips",
    "interest-triggered-action-previews",
    "directional-navigation-transitions",
    "carousel-snap-highlights",
    "navigation-drawer",
    "stack-drill-down",
    "persistent-app-tours",
    "persistent-toast-notifications",
    "light-dismiss-a-dialog",
    "platform-controls-dismiss-dialog",
    "declarative-dialog-popover-control",
    "animated-select-picker",
    "branded-select-styling",
    "brand-consistent-forms",
    "custom-select-picker-layouts",
    "rich-media-picker",
    "complex-shapes",
    "shaped-cutouts",
    "overflow-clipping-control",
    "visually-texture-content",
    "apply-webgl-shaders",
    "interactive-content-in-3d-scenes",
    "highlight-text-ranges",
    "prevent-text-wrapping",
    "customize-scrollbar-color-and-thickness",
    "export-html-media-from-canvas",
    "fluid-scaling",
    "calculate-with-intrinsic-sizes",
    "css-layout",
    "size-aware-styling",
    "content-based-styling",
    "child-state-based-styling",
    "design-token-reactivity",
    "dynamic-sibling-styling",
    "form-fields-automatically-fit-contents",
    "improve-text-layout-and-legibility",
    "forms",
    "accessible-error-announcement",
    "required-field-feedback",
    "validate-input-after-interaction",
    "identify-inp-causes",
    "schedule-tasks-by-priority",
    "optimize-preload-priority",
    "improve-next-page-load-performance",
    "interactions-in-complex-layouts",
    "performance",
    "visually-stable-font-fallbacks",
    "break-up-long-tasks",
    "identify-heavy-scripts",
    "optimize-script-priority",
    "defer-rendering-heavy-content",
    "defer-work-until-scroll-ends",
    "optimize-image-priority",
    "conditional-async-dependencies",
    "expose-canvas-content-to-browser-features",
    "move-dom-element-without-losing-state",
    "precise-text-alignment",
    "visually-stable-mixed-fonts",
    "css",
    "html",
    "reduce-style-repetition",
    "security",
    "privacy",
    "batch-analytics-events",
    "full-session-analytics",
    "calculate-total-foreground-time",
    "passkeys",
    "passkey-registration",
    "passkey-authentication",
    "passkey-reauthentication",
    "passkey-conditional-create",
    "passkey-management",
    "flicker-free-client-side-ab-testing",
    "consistent-cross-document-transitions",
    "stabilize-reactive-state",
    "resilient-context-menus-and-nested-dropdowns",
    "persistent-top-layer-ui",
    "detect-initial-visibility-state",
    "sequence-distributed-events",
    "translator",
    "language-detection",
    "support-global-calendar-systems",
    "capture-location-agnostic-data",
    "format-human-readable-durations",
    "manage-recurring-intervals",
    "calculate-event-differentials",
    "coordinate-global-events",
    "model-partial-time-concepts",
    "search-hidden-content",
    "select-menu-interaction",
    "style-parent-with-has",
    "autofill-address-form",
    "autofill-payment-form",
    "autofill-sign-in-form",
    "autofill-sign-up-form",
    "autofill-highlight-inputs",
    "deliver-optimized-decorative-images",
    "resolution-optimized-pseudo-elements",
    "deprioritize-background-fetches",
    "efficient-background-processing",
    "webmcp",
    "agentic-forms",
    "agentic-javascript-tools",
    "language-model",
    "summarizer",
    "declarative-button-actions"
  ],
  "artifacts": [
    {
      "type": "dom",
      "path": "evidence/404-meta.json",
      "caption": "404 meta"
    },
    {
      "type": "screenshot",
      "path": "evidence/404-mobile.png",
      "caption": "404 mobile"
    },
    {
      "type": "other",
      "path": "evidence/axe-home.json",
      "caption": "axe home",
      "findingIds": [
        "F03"
      ]
    },
    {
      "type": "other",
      "path": "evidence/axe-novel.json",
      "caption": "axe novel",
      "findingIds": [
        "F20"
      ]
    },
    {
      "type": "other",
      "path": "evidence/axe-register.json",
      "caption": "axe register",
      "findingIds": [
        "F19"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/book-detail-layout.json",
      "caption": "book detail layout"
    },
    {
      "type": "dom",
      "path": "evidence/book-detail-meta.json",
      "caption": "book detail meta"
    },
    {
      "type": "screenshot",
      "path": "evidence/book-detail-mobile.png",
      "caption": "book detail mobile"
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "cookies"
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-crawler.png",
      "caption": "discoverability crawler"
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-rendered.png",
      "caption": "discoverability rendered"
    },
    {
      "type": "discoverability",
      "path": "evidence/discoverability.json",
      "caption": "discoverability"
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "headers",
      "findingIds": [
        "F30",
        "F33"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.heapsnapshot",
      "caption": "heap baseline"
    },
    {
      "type": "heap",
      "path": "evidence/heap-post-repeated.heapsnapshot",
      "caption": "heap post repeated"
    },
    {
      "type": "heap",
      "path": "evidence/heap-post.heapsnapshot",
      "caption": "heap post"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "home dark",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "home desktop"
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "home dom"
    },
    {
      "type": "layout",
      "path": "evidence/home-layout-mobile.json",
      "caption": "home layout mobile",
      "findingIds": [
        "F09",
        "F15",
        "F23"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-links.json",
      "caption": "home links"
    },
    {
      "type": "dom",
      "path": "evidence/home-metadata.json",
      "caption": "home metadata",
      "findingIds": [
        "F28",
        "F29"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "home mobile"
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "home summary",
      "findingIds": [
        "F17",
        "F40",
        "F41"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "home trace summary"
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "home trace"
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "home"
    },
    {
      "type": "other",
      "path": "evidence/images.json",
      "caption": "images",
      "findingIds": [
        "F25",
        "F39"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-home-summary-compact.json",
      "caption": "lighthouse home summary compact",
      "findingIds": [
        "F16",
        "F24"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-home.json",
      "caption": "lighthouse home"
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-novel-summary-compact.json",
      "caption": "lighthouse novel summary compact",
      "findingIds": [
        "F14",
        "F18"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-novel.json",
      "caption": "lighthouse novel"
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-register-summary-compact.json",
      "caption": "lighthouse register summary compact",
      "findingIds": [
        "F26"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-register.json",
      "caption": "lighthouse register"
    },
    {
      "type": "layout",
      "path": "evidence/manga-detail-layout.json",
      "caption": "manga detail layout"
    },
    {
      "type": "dom",
      "path": "evidence/manga-detail-meta.json",
      "caption": "manga detail meta"
    },
    {
      "type": "screenshot",
      "path": "evidence/manga-detail-mobile.png",
      "caption": "manga detail mobile",
      "findingIds": [
        "F08"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/novel-detail-layout.json",
      "caption": "novel detail layout"
    },
    {
      "type": "dom",
      "path": "evidence/novel-detail-meta.json",
      "caption": "novel detail meta",
      "findingIds": [
        "F07",
        "F21"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/novel-detail-mobile.png",
      "caption": "novel detail mobile",
      "findingIds": [
        "F05",
        "F22"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/novel-list-layout.json",
      "caption": "novel list layout"
    },
    {
      "type": "dom",
      "path": "evidence/novel-list-meta.json",
      "caption": "novel list meta"
    },
    {
      "type": "screenshot",
      "path": "evidence/novel-list-mobile.png",
      "caption": "novel list mobile"
    },
    {
      "type": "other",
      "path": "evidence/platform-probe.json",
      "caption": "platform probe",
      "findingIds": [
        "F04",
        "F10",
        "F11",
        "F34"
      ]
    },
    {
      "type": "other",
      "path": "evidence/reduced-motion-slider.json",
      "caption": "reduced motion slider",
      "findingIds": [
        "F02"
      ]
    },
    {
      "type": "other",
      "path": "evidence/reduced-motion.json",
      "caption": "reduced motion"
    },
    {
      "type": "other",
      "path": "evidence/register-invalid.json",
      "caption": "register invalid",
      "findingIds": [
        "F13",
        "F36"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/register-layout.json",
      "caption": "register layout"
    },
    {
      "type": "dom",
      "path": "evidence/register-meta.json",
      "caption": "register meta",
      "findingIds": [
        "F27",
        "F32",
        "F37"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/register-mobile.png",
      "caption": "register mobile",
      "findingIds": [
        "F06",
        "F12",
        "F38"
      ]
    },
    {
      "type": "other",
      "path": "evidence/robots.txt",
      "caption": "robots"
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "secrets"
    },
    {
      "type": "other",
      "path": "evidence/sitemap.xml",
      "caption": "sitemap"
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "trackers",
      "findingIds": [
        "F31",
        "F35"
      ]
    }
  ],
  "config": {
    "loaded": false
  },
  "coverage": {
    "catalogVersion": "modern-web-guidance@0.0.172",
    "catalogChecksum": "sha256:78ccfdb2d483f4c57d9dafed80fd86c6265585a56457c8dcfddc254b80fb44d7",
    "expected": 58,
    "recorded": 58,
    "judged": 58,
    "blocked": 0,
    "notRun": 0,
    "missing": 0,
    "unknown": 0,
    "duplicates": 0,
    "complete": true
  },
  "checkOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-color-scheme",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "The dark-condition screenshot remains the same white, light-only surface as the default capture; no dark-theme rule was found.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dark.png"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "With prefers-reduced-motion: reduce, the hero .slick-track moved from matrix x=-1900 to x=-3198.39 in 4.5 seconds and retained a 1s transform transition.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/reduced-motion-slider.json"
      ],
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "axe-core found serious color-contrast failures on ranking labels and the consent interface, with 56 additional nodes requiring review.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/axe-home.json"
      ],
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "The platform probe found zero view-transition rules; page changes are traditional abrupt full-document swaps.",
      "pathIds": [
        "home",
        "novel-list",
        "novel-detail",
        "manga-detail",
        "book-detail",
        "register"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon",
      "evidence": "No parallax, scrollytelling or scroll-linked reveal behavior was observed on the representative templates, so there is no scroll animation implementation to assess.",
      "reason": "No parallax, scrollytelling or scroll-linked reveal behavior was observed on the representative templates, so there is no scroll animation implementation to assess."
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon",
      "evidence": "The sampled desktop-style MPA templates expose no gesture-driven swipe/remove/pull interaction that needs a physical-gesture implementation.",
      "reason": "The sampled desktop-style MPA templates expose no gesture-driven swipe/remove/pull interaction that needs a physical-gesture implementation."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "Long listing/detail pages retain static dense chrome; CSS inspection found no scroll-state/container handling or progress cue.",
      "pathIds": [
        "novel-detail",
        "manga-detail",
        "book-detail"
      ],
      "artifacts": [
        "evidence/novel-detail-mobile.png"
      ],
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon",
      "evidence": "No authored tooltip, transient popover or edge-positioned menu was found on sampled primary paths; the consent overlay is modal rather than anchored.",
      "reason": "No authored tooltip, transient popover or edge-positioned menu was found on sampled primary paths; the consent overlay is modal rather than anchored."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "high",
      "method": "DOM metadata and mobile screenshots",
      "evidence": "Breadcrumbs, selected navigation underlines, ranked labels and episode lists provide visible location/sequence cues across sampled templates.",
      "pathIds": [
        "home",
        "novel-list",
        "novel-detail",
        "manga-detail",
        "book-detail",
        "register"
      ],
      "artifacts": [
        "evidence/novel-detail-mobile.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "Every fresh-path mobile capture is obscured by a centered consent interstitial before the requested content can be used.",
      "pathIds": [
        "home",
        "novel-list",
        "novel-detail",
        "manga-detail",
        "book-detail",
        "register"
      ],
      "artifacts": [
        "evidence/register-mobile.png"
      ],
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "The DOM reports zero dialog/popover/details primitives while the consent UI adds multiple H1s and a custom overlay.",
      "pathIds": [
        "home",
        "novel-list",
        "novel-detail",
        "manga-detail",
        "book-detail",
        "register"
      ],
      "artifacts": [
        "evidence/novel-detail-meta.json"
      ],
      "findingIds": [
        "F07"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "Mobile captures devote large portions of the page to stacked promotional sidebars, banners and navigation around much smaller primary content.",
      "pathIds": [
        "home",
        "novel-list",
        "novel-detail",
        "manga-detail",
        "book-detail",
        "register"
      ],
      "artifacts": [
        "evidence/manga-detail-mobile.png"
      ],
      "findingIds": [
        "F08"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "At a requested 360px viewport, Chrome lays out a 1000-1002px desktop canvas and scales it to about 0.36; text and controls are tiny rather than reflowed.",
      "pathIds": [
        "home",
        "novel-list",
        "novel-detail",
        "manga-detail",
        "book-detail",
        "register"
      ],
      "artifacts": [
        "evidence/home-layout-mobile.json"
      ],
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "The platform probe found zero @container rules, and the same multi-column desktop components are merely scaled down across all mobile captures.",
      "pathIds": [
        "home",
        "novel-list",
        "novel-detail",
        "manga-detail",
        "book-detail",
        "register"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "The target probe found 127 of 880 visible controls smaller than 24px; Lighthouse also failed target-size.",
      "pathIds": [
        "home",
        "novel-list",
        "novel-detail",
        "manga-detail",
        "book-detail",
        "register"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "Screenshot and heading/action review",
      "evidence": "Each sampled template has a descriptive title/H1 and recognizable next actions for browsing, opening a work, selecting an episode, buying or registering.",
      "pathIds": [
        "home",
        "novel-list",
        "novel-detail",
        "manga-detail",
        "book-detail",
        "register"
      ],
      "artifacts": [
        "evidence/book-detail-mobile.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "The registration and content paths are immediately interrupted by consent, while scaled desktop forms make the primary journey difficult on a common mobile viewport.",
      "pathIds": [
        "register"
      ],
      "artifacts": [
        "evidence/register-mobile.png"
      ],
      "findingIds": [
        "F12"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "After an empty registration submit, required controls became :invalid but no role=alert/error content appeared and focus was not moved to the first error.",
      "pathIds": [
        "register"
      ],
      "artifacts": [
        "evidence/register-invalid.json"
      ],
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "Lighthouse measured performance 0.42 on home and 0.37 on novel detail; home CLS was 0.509 and novel-detail LCP was 17.0s with 840ms TBT.",
      "pathIds": [
        "home",
        "novel-list",
        "novel-detail",
        "manga-detail",
        "book-detail",
        "register"
      ],
      "artifacts": [
        "evidence/lighthouse-novel-summary-compact.json"
      ],
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "The layout primitive observed home CLS 0.670, including one shift of 0.557; 20 images lack dimensions.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-layout-mobile.json"
      ],
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "Lighthouse reported 5.8s main-thread work and 1.7s JavaScript execution on home, with TBT 488ms; detail/register TBT exceeded 840ms.",
      "pathIds": [
        "home",
        "novel-list",
        "novel-detail",
        "manga-detail",
        "book-detail",
        "register"
      ],
      "artifacts": [
        "evidence/lighthouse-home-summary-compact.json"
      ],
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "HAR captured 201 requests and 13.45MB transferred; parser-inserted CSS/scripts are high-priority candidates and Lighthouse estimates 12.4MB cache-lifetime savings.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F17"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "Lighthouse estimates 1.39MB unused JavaScript on novel detail; home loads 39 scripts and extensive third-party code.",
      "pathIds": [
        "home",
        "novel-list",
        "novel-detail",
        "manga-detail",
        "book-detail",
        "register"
      ],
      "artifacts": [
        "evidence/lighthouse-novel-summary-compact.json"
      ],
      "findingIds": [
        "F18"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "axe found unlabeled search, select and submit controls on every sampled page, 20 unnamed links on home, two untitled frames on novel detail, and unlabeled registration confirmation/captcha fields.",
      "pathIds": [
        "home",
        "novel-list",
        "novel-detail",
        "manga-detail",
        "book-detail",
        "register"
      ],
      "artifacts": [
        "evidence/axe-register.json"
      ],
      "findingIds": [
        "F19"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "axe reported serious contrast failures on all three sampled templates, including primary buttons and consent text.",
      "pathIds": [
        "home",
        "novel-list",
        "novel-detail",
        "manga-detail",
        "book-detail",
        "register"
      ],
      "artifacts": [
        "evidence/axe-novel.json"
      ],
      "findingIds": [
        "F20"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "axe found content outside landmarks and duplicate/unnamed landmarks; the consent vendor markup injects several extra H1 headings into the document outline.",
      "pathIds": [
        "home",
        "novel-list",
        "novel-detail",
        "manga-detail",
        "book-detail",
        "register"
      ],
      "artifacts": [
        "evidence/novel-detail-meta.json"
      ],
      "findingIds": [
        "F21"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "The 1000px desktop layout is scaled to 360px, making body copy, navigation and form text visibly tiny in every mobile capture.",
      "pathIds": [
        "home",
        "novel-list",
        "novel-detail",
        "manga-detail",
        "book-detail",
        "register"
      ],
      "artifacts": [
        "evidence/novel-detail-mobile.png"
      ],
      "findingIds": [
        "F22"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "Mobile uses a 1000px layout viewport and Lighthouse fails target-size; 127 controls are below 24px before considering 200% zoom.",
      "pathIds": [
        "home",
        "novel-list",
        "novel-detail",
        "manga-detail",
        "book-detail",
        "register"
      ],
      "artifacts": [
        "evidence/home-layout-mobile.json"
      ],
      "findingIds": [
        "F23"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "Lighthouse reports browser console errors on home, novel detail and registration.",
      "pathIds": [
        "home",
        "novel-list",
        "novel-detail",
        "manga-detail",
        "book-detail",
        "register"
      ],
      "artifacts": [
        "evidence/lighthouse-home-summary-compact.json"
      ],
      "findingIds": [
        "F24"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "Although doctype/UTF-8 are valid, the image audit found 20 missing dimensions and Lighthouse found an incorrectly proportioned image on registration.",
      "pathIds": [
        "home",
        "novel-list",
        "novel-detail",
        "manga-detail",
        "book-detail",
        "register"
      ],
      "artifacts": [
        "evidence/images.json"
      ],
      "findingIds": [
        "F25"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "Lighthouse found deprecated APIs, missing large-script source maps and DevTools inspector issues on all sampled paths.",
      "pathIds": [
        "home",
        "novel-list",
        "novel-detail",
        "manga-detail",
        "book-detail",
        "register"
      ],
      "artifacts": [
        "evidence/lighthouse-register-summary-compact.json"
      ],
      "findingIds": [
        "F26"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "Home and content pages have descriptive metadata, but /register has an empty meta description and Lighthouse fails meta-description there.",
      "pathIds": [
        "register"
      ],
      "artifacts": [
        "evidence/register-meta.json"
      ],
      "findingIds": [
        "F27"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "Lighthouse fails crawlable-anchors and the DOM has javascript:void(0) links; the viewport declaration produces a 1000px scaled layout on 360px devices.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-metadata.json"
      ],
      "findingIds": [
        "F28"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "pass",
      "confidence": "high",
      "method": "DOM metadata plus robots.txt/sitemap.xml inspection",
      "evidence": "All sampled public pages returned content with self-referencing canonical URLs; robots.txt permits them and points to a current sitemap index.",
      "pathIds": [
        "home",
        "novel-list",
        "novel-detail",
        "manga-detail",
        "book-detail",
        "register"
      ],
      "artifacts": [
        "evidence/robots.txt"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "The homepage has Open Graph tags but zero JSON-LD despite representing an organization and many works; sampled entity pages expose no recorded structured-data evidence.",
      "pathIds": [
        "home",
        "novel-list",
        "novel-detail",
        "manga-detail",
        "book-detail",
        "register"
      ],
      "artifacts": [
        "evidence/home-metadata.json"
      ],
      "findingIds": [
        "F29"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "HTTPS is used, but CSP and HSTS are absent and all 19 observed cookies were flagged; 12 cookies lacked Secure and all used permissive SameSite=None except two.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json"
      ],
      "findingIds": [
        "F30"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "Before consent, network capture reached 33 third-party origins and 11 known tracker domains; the consent text names 209 partners.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/trackers.json"
      ],
      "findingIds": [
        "F31"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "No permission prompt appeared on load, but the account flow offers password registration only; no passkey/WebAuthn capability was found.",
      "pathIds": [
        "register"
      ],
      "artifacts": [
        "evidence/register-meta.json"
      ],
      "findingIds": [
        "F32"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "Headers inspection found no clickjacking protection, Referrer-Policy, Permissions-Policy, X-Content-Type-Options, CSP or HSTS.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json"
      ],
      "findingIds": [
        "F33"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "high",
      "method": "Raw HTML versus rendered DOM/crawler comparison",
      "evidence": "Discoverability capture found 100% rendered-content word coverage in 422KB raw HTML, no empty SPA mount and preserved title/description without JavaScript.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "high",
      "method": "Representative route and 404 state inspection",
      "evidence": "Sampled MPA routes rendered complete server content; the tested unknown route provided a stable explanatory recovery page and home link.",
      "pathIds": [
        "home",
        "novel-list",
        "novel-detail",
        "manga-detail",
        "book-detail",
        "register",
        "not-found"
      ],
      "artifacts": [
        "evidence/404-meta.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon",
      "evidence": "This is a server-rendered public publishing/content service rather than an install-oriented app; offline installability is not required for the sampled core journeys.",
      "reason": "This is a server-rendered public publishing/content service rather than an install-oriented app; offline installability is not required for the sampled core journeys."
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "confidence": "high",
      "method": "Deliberate invalid-route test",
      "evidence": "The deliberate unknown route showed a clear “page not found” explanation and a top-page recovery link instead of a blank shell.",
      "pathIds": [
        "not-found"
      ],
      "artifacts": [
        "evidence/404-mobile.png"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "html lang=ja is correct, but the CSS probe found only six logical-property rules and the fixed physical desktop layout does not adapt even to a narrower same-language viewport.",
      "pathIds": [
        "home",
        "novel-list",
        "novel-detail",
        "manga-detail",
        "book-detail",
        "register"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F34"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon",
      "evidence": "The audited surface is deliberately Japanese-only and sampled pages did not expose user-entered currency, locale selection or locale-sensitive data operations.",
      "reason": "The audited surface is deliberately Japanese-only and sampled pages did not expose user-entered currency, locale selection or locale-sensitive data operations."
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon",
      "evidence": "No scheduling, cross-time-zone event or user-facing time-zone workflow appeared on the representative paths.",
      "reason": "No scheduling, cross-time-zone event or user-facing time-zone workflow appeared on the representative paths."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "A blocking consent dialog offers prominent Consent and Manage options but no equally direct Reject action, while tracker requests are already active before a choice.",
      "pathIds": [
        "home",
        "novel-list",
        "novel-detail",
        "manga-detail",
        "book-detail",
        "register"
      ],
      "artifacts": [
        "evidence/trackers.json"
      ],
      "findingIds": [
        "F35"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "Empty registration submission produced native invalid states but no page error summary, accessible announcement or focus movement.",
      "pathIds": [
        "register"
      ],
      "artifacts": [
        "evidence/register-invalid.json"
      ],
      "findingIds": [
        "F36"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "Registration username, email, password and confirmation fields all expose empty autocomplete values; axe also finds confirmation/captcha unlabeled.",
      "pathIds": [
        "register"
      ],
      "artifacts": [
        "evidence/register-meta.json"
      ],
      "findingIds": [
        "F37"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "The sampled account flow relies on password-only registration and is obscured by consent; no passkey capability or clear privacy-preserving default is present.",
      "pathIds": [
        "register"
      ],
      "artifacts": [
        "evidence/register-mobile.png"
      ],
      "findingIds": [
        "F38"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "The homepage transfers 11.86MB of images; 48 images use legacy formats, 10 are oversized, 22 lack srcset and 21 below-fold images are not lazy.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json"
      ],
      "findingIds": [
        "F39"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "The homepage makes 201 requests, loads 39 scripts and sends traffic to 33 third-party origins, including multiple analytics systems before consent.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F40"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review against mapped guidance",
      "evidence": "Third parties account for 150 requests and 12.91MB; home imagery alone reaches 11.86MB and individual covers exceed 600KB.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F41"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon",
      "evidence": "Agent-facing capabilities are emerging and optional; no declared agent surface or transaction API was in scope for this public content site.",
      "reason": "Agent-facing capabilities are emerging and optional; no declared agent surface or transaction API was in scope for this public content site."
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon",
      "evidence": "On-device inference is an optional emerging enhancement and is not necessary for the sampled browse/read/register tasks.",
      "reason": "On-device inference is an optional emerging enhancement and is not necessary for the sampled browse/read/register tasks."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "medium",
      "method": "Baseline and post-interaction heap summaries",
      "evidence": "After 10 novel/manga tab toggles, summarized heap grew from 33.85MB/608,281 nodes to 35.42MB/615,824 nodes (about 4.6%/1.2%); no constructor showed interaction-proportional growth.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-post-repeated.heapsnapshot"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "medium",
      "method": "Heap summary totals and constructor comparison",
      "evidence": "The content-heavy homepage retained about 35.4MB in the post-interaction summary; object/array populations remained nearly flat and proportionate to the loaded page.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-post-repeated.heapsnapshot"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "Before/after heap constructor comparison",
      "evidence": "No Detached* constructor appeared in either top-constructor summary and repeated toggles did not materially grow Object/Array/closure populations.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.heapsnapshot"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F01",
        "F02",
        "F03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F06",
        "F07",
        "F08"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F09",
        "F10",
        "F11"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F12",
        "F13"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F14",
        "F15",
        "F16",
        "F17",
        "F18"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F19",
        "F20",
        "F21",
        "F22",
        "F23"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F24",
        "F25",
        "F26"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F27",
        "F28",
        "F29"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F30",
        "F31",
        "F32",
        "F33"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F34"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F35",
        "F36",
        "F37",
        "F38"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F39",
        "F40",
        "F41"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "Agent-facing capabilities are emerging and optional; no declared agent surface or transaction API was in scope for this public content site. On-device inference is an optional emerging enhancement and is not necessary for the sampled browse/read/register tasks."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage and discovery hub; represents global navigation, rankings, banners and search.",
      "url": "https://www.alphapolis.co.jp/",
      "conditions": [
        "desktop",
        "viewport: 360x800",
        "prefers-color-scheme: dark",
        "prefers-reduced-motion: reduce",
        "keyboard focus"
      ],
      "result": "issues"
    },
    {
      "id": "novel-list",
      "description": "Novel listing/search archetype; represents browsing, filtering and discovery.",
      "url": "https://www.alphapolis.co.jp/novel",
      "conditions": [
        "viewport: 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "novel-detail",
      "description": "User-published novel detail archetype and route into reading.",
      "url": "https://www.alphapolis.co.jp/novel/251789525/579071650",
      "conditions": [
        "viewport: 360x800",
        "axe-core",
        "Lighthouse"
      ],
      "result": "issues"
    },
    {
      "id": "manga-detail",
      "description": "Official manga detail and episode-list archetype.",
      "url": "https://www.alphapolis.co.jp/manga/official/553000585",
      "conditions": [
        "viewport: 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "book-detail",
      "description": "Commercial book detail archetype and outbound purchase choices.",
      "url": "https://www.alphapolis.co.jp/book/detail/8038853/14271",
      "conditions": [
        "viewport: 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "register",
      "description": "Primary account-registration form and invalid-submit recovery path.",
      "url": "https://www.alphapolis.co.jp/register",
      "conditions": [
        "viewport: 360x800",
        "invalid submission",
        "axe-core",
        "Lighthouse"
      ],
      "result": "issues"
    },
    {
      "id": "not-found",
      "description": "Deliberate unknown route to inspect HTTP/error recovery.",
      "url": "https://www.alphapolis.co.jp/this-route-does-not-exist-audit",
      "conditions": [
        "viewport: 360x800"
      ],
      "result": "pass"
    }
  ],
  "findings": [
    {
      "id": "F01",
      "severity": "medium",
      "confidence": "high",
      "summary": "Honours prefers-color-scheme: a usable dark mode exists and is driven by the user's preference (color-scheme / prefers-color-scheme / light-dark()), not hard-coded light only.",
      "evidence": "The dark-condition screenshot remains the same white, light-only surface as the default capture; no dark-theme rule was found.",
      "artifacts": [
        "evidence/home-dark.png"
      ],
      "suggestedFix": "Declare color-scheme and use prefers-color-scheme/light-dark() tokens for surfaces, text and controls.",
      "effort": "small",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F02",
      "severity": "high",
      "confidence": "high",
      "summary": "Honours prefers-reduced-motion: non-essential animations and auto-advance are reduced or removed when the user asks for less motion.",
      "evidence": "With prefers-reduced-motion: reduce, the hero .slick-track moved from matrix x=-1900 to x=-3198.39 in 4.5 seconds and retained a 1s transform transition.",
      "artifacts": [
        "evidence/reduced-motion-slider.json"
      ],
      "suggestedFix": "Disable autoplay and remove or greatly shorten non-essential carousel transitions under reduced motion.",
      "effort": "medium",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-reduced-motion",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F03",
      "severity": "medium",
      "confidence": "high",
      "summary": "Honours prefers-contrast / forced-colors: controls, text and scrollbars remain visible under high-contrast preferences.",
      "evidence": "axe-core found serious color-contrast failures on ranking labels and the consent interface, with 56 additional nodes requiring review.",
      "artifacts": [
        "evidence/axe-home.json"
      ],
      "suggestedFix": "Use contrast-safe semantic tokens and verify normal, high-contrast and forced-colors states.",
      "effort": "small",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-contrast",
      "guidanceId": "adapt-scrollbar-to-contrast-preferences",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F04",
      "severity": "low",
      "confidence": "high",
      "summary": "State and route changes use View Transitions (including same-document, cross-document and scroll-driven/staggered) rather than instant, jarring swaps.",
      "evidence": "The platform probe found zero view-transition rules; page changes are traditional abrupt full-document swaps.",
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "suggestedFix": "Add progressive cross-document View Transitions for same-origin navigation and reduced-motion fallbacks.",
      "effort": "small",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "cross-document-transitions",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F05",
      "severity": "low",
      "confidence": "high",
      "summary": "Sticky/affixed UI reacts to scroll state and position (e.g. the new scroll-state(scrolled) query, shrinking headers, progress indicators) so chrome responds to position instead of static or JS-driven toggling.",
      "evidence": "Long listing/detail pages retain static dense chrome; CSS inspection found no scroll-state/container handling or progress cue.",
      "artifacts": [
        "evidence/novel-detail-mobile.png"
      ],
      "suggestedFix": "Use sticky chrome sparingly and add declarative scroll-state/progress affordances on long reading/list pages.",
      "effort": "small",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "scroll-progress-indicator",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "novel-detail",
      "url": "https://www.alphapolis.co.jp/novel/251789525/579071650"
    },
    {
      "id": "F06",
      "severity": "high",
      "confidence": "high",
      "summary": "No intrusive pop-ups, interstitials or banners that obscure content on load; overlays are dismissible and content-first.",
      "evidence": "Every fresh-path mobile capture is obscured by a centered consent interstitial before the requested content can be used.",
      "artifacts": [
        "evidence/register-mobile.png"
      ],
      "suggestedFix": "Use a compact, non-blocking consent surface with equally visible accept/reject choices and persistent preference access.",
      "effort": "medium",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "no-intrusive-interruptions",
      "guidanceId": "light-dismiss-a-dialog",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F07",
      "severity": "medium",
      "confidence": "high",
      "summary": "Overlays and rich controls use the right primitive: popover (with declarative light-dismiss) for transient UI, dialog for modal flows, details for disclosure, native-but-branded selects and pickers, rather than ad-hoc divs.",
      "evidence": "The DOM reports zero dialog/popover/details primitives while the consent UI adds multiple H1s and a custom overlay.",
      "artifacts": [
        "evidence/novel-detail-meta.json"
      ],
      "suggestedFix": "Implement modal flows with <dialog> and transient UI with popover, preserving focus, escape and light-dismiss behavior.",
      "effort": "small",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F08",
      "severity": "high",
      "confidence": "high",
      "summary": "Minimise non-content chrome and borders so the content is the focus, not the application frame; expressive/decorative visuals serve the content rather than crowd it.",
      "evidence": "Mobile captures devote large portions of the page to stacked promotional sidebars, banners and navigation around much smaller primary content.",
      "artifacts": [
        "evidence/manga-detail-mobile.png"
      ],
      "suggestedFix": "Collapse secondary promotions on narrow screens and prioritize the selected work, episode list or form.",
      "effort": "medium",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "reduced-chrome",
      "guidanceId": "overflow-clipping-control",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F09",
      "severity": "critical",
      "confidence": "high",
      "summary": "Layout adapts to narrow viewports with no horizontal overflow and no fixed pixel widths forcing a desktop layout on mobile; viewport meta present; fluid scaling and intrinsic sizing rather than brittle breakpoints.",
      "evidence": "At a requested 360px viewport, Chrome lays out a 1000-1002px desktop canvas and scales it to about 0.36; text and controls are tiny rather than reflowed.",
      "artifacts": [
        "evidence/home-layout-mobile.json"
      ],
      "suggestedFix": "Use width=device-width, initial-scale=1 and fluid responsive layouts that render at a true 360 CSS px width.",
      "effort": "large",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "responsive-no-horizontal-scroll",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F10",
      "severity": "high",
      "confidence": "high",
      "summary": "Components adapt to their container with container queries (incl. anchored container queries) and content/state-based styling where reused at different sizes, not only global viewport breakpoints.",
      "evidence": "The platform probe found zero @container rules, and the same multi-column desktop components are merely scaled down across all mobile captures.",
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "suggestedFix": "Give reusable cards, sidebars and navigation containment and adapt them with container queries.",
      "effort": "medium",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F11",
      "severity": "high",
      "confidence": "high",
      "summary": "Touch targets are adequately sized and hover-only affordances have a non-hover fallback, and keyboard focus is visible, so the UI works for touch, pointer and keyboard alike.",
      "evidence": "The target probe found 127 of 880 visible controls smaller than 24px; Lighthouse also failed target-size.",
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "suggestedFix": "Provide at least 24x24 CSS px targets with adequate spacing, non-hover equivalents and clear :focus-visible styles.",
      "effort": "medium",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F12",
      "severity": "high",
      "confidence": "high",
      "summary": "The representative primary flow can be completed end-to-end with predictable steps, no avoidable dead ends, no hidden required information, and no needless detours through modals, account walls, or upsells.",
      "evidence": "The registration and content paths are immediately interrupted by consent, while scaled desktop forms make the primary journey difficult on a common mobile viewport.",
      "artifacts": [
        "evidence/register-mobile.png"
      ],
      "suggestedFix": "Let users reach and complete browse/read/register journeys without a blocking interstitial and with mobile-first form steps.",
      "effort": "medium",
      "principleId": "support-core-task-success",
      "principleCheckId": "primary-flow-completion",
      "guidanceId": "forms",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "register",
      "url": "https://www.alphapolis.co.jp/register"
    },
    {
      "id": "F13",
      "severity": "high",
      "confidence": "high",
      "summary": "Loading, empty, success, error, offline, and partial-completion states are visible and actionable; users can retry, undo, cancel, go back, or continue without losing context.",
      "evidence": "After an empty registration submit, required controls became :invalid but no role=alert/error content appeared and focus was not moved to the first error.",
      "artifacts": [
        "evidence/register-invalid.json"
      ],
      "suggestedFix": "Show an error summary, announce it with aria-live/role=alert, set field errors after interaction and focus the first invalid field.",
      "effort": "medium",
      "principleId": "support-core-task-success",
      "principleCheckId": "clear-system-state-and-recovery",
      "guidanceId": "accessible-error-announcement",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "register",
      "url": "https://www.alphapolis.co.jp/register"
    },
    {
      "id": "F14",
      "severity": "critical",
      "confidence": "high",
      "summary": "Core Web Vitals are in the good range: LCP is fast, interaction latency (INP) is low, and CLS is minimal; work is prioritised and deferred sensibly.",
      "evidence": "Lighthouse measured performance 0.42 on home and 0.37 on novel detail; home CLS was 0.509 and novel-detail LCP was 17.0s with 840ms TBT.",
      "artifacts": [
        "evidence/lighthouse-novel-summary-compact.json"
      ],
      "suggestedFix": "Prioritize the LCP resource, reserve layout space, remove blocking work and retest LCP/CLS/INP on representative templates.",
      "effort": "large",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F15",
      "severity": "high",
      "confidence": "high",
      "summary": "No cumulative layout shift from late content (images, banners, fonts) that arrives without reserved space.",
      "evidence": "The layout primitive observed home CLS 0.670, including one shift of 0.557; 20 images lack dimensions.",
      "artifacts": [
        "evidence/home-layout-mobile.json"
      ],
      "suggestedFix": "Reserve image/banner slots with dimensions or aspect-ratio and stabilize carousel/ad insertion.",
      "effort": "medium",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "visual-stability",
      "guidanceId": "visually-stable-font-fallbacks",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F16",
      "severity": "high",
      "confidence": "high",
      "summary": "The main thread is not blocked by long tasks or heavy scripting; work is deferred, chunked, prioritised, or moved off-thread.",
      "evidence": "Lighthouse reported 5.8s main-thread work and 1.7s JavaScript execution on home, with TBT 488ms; detail/register TBT exceeded 840ms.",
      "artifacts": [
        "evidence/lighthouse-home-summary-compact.json"
      ],
      "suggestedFix": "Break up long tasks and defer or conditionally load non-essential widgets and analytics.",
      "effort": "medium",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-main-thread",
      "guidanceId": "break-up-long-tasks",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F17",
      "severity": "critical",
      "confidence": "high",
      "summary": "Critical resources are delivered efficiently: cache headers are useful, render-blocking chains are short, fonts do not block or shift text, HTTP delivery is modern, and network dependency trees do not delay the main content.",
      "evidence": "HAR captured 201 requests and 13.45MB transferred; parser-inserted CSS/scripts are high-priority candidates and Lighthouse estimates 12.4MB cache-lifetime savings.",
      "artifacts": [
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Shorten the critical chain, defer parser-blocking scripts, add durable CDN caching and deliver only viewport-relevant images.",
      "effort": "large",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-image-priority",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F18",
      "severity": "high",
      "confidence": "high",
      "summary": "The page does not ship large unused or duplicated JavaScript/CSS, avoidable legacy bundles, or third-party code that dominates the load without user value.",
      "evidence": "Lighthouse estimates 1.39MB unused JavaScript on novel detail; home loads 39 scripts and extensive third-party code.",
      "artifacts": [
        "evidence/lighthouse-novel-summary-compact.json"
      ],
      "suggestedFix": "Use coverage data to remove unused bundles, deduplicate libraries and load route/consent/analytics code conditionally.",
      "effort": "medium",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F19",
      "severity": "critical",
      "confidence": "high",
      "summary": "Interactive elements have accessible names, correct roles, and form fields have labels; images have alt text where meaningful; canvas/expressive content is exposed to assistive technology.",
      "evidence": "axe found unlabeled search, select and submit controls on every sampled page, 20 unnamed links on home, two untitled frames on novel detail, and unlabeled registration confirmation/captcha fields.",
      "artifacts": [
        "evidence/axe-register.json"
      ],
      "suggestedFix": "Add programmatic labels/names, meaningful image-link alternatives and iframe titles; remove invalid/nested ARIA patterns.",
      "effort": "large",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F20",
      "severity": "high",
      "confidence": "high",
      "summary": "Text and essential UI meet WCAG colour-contrast minimums against their background.",
      "evidence": "axe reported serious contrast failures on all three sampled templates, including primary buttons and consent text.",
      "artifacts": [
        "evidence/axe-novel.json"
      ],
      "suggestedFix": "Adjust foreground/background tokens to WCAG AA and test all component states.",
      "effort": "medium",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F21",
      "severity": "high",
      "confidence": "high",
      "summary": "Heading and landmark structure is logical, focus order follows reading order, keyboard focus is always visible, and interactive state survives DOM moves.",
      "evidence": "axe found content outside landmarks and duplicate/unnamed landmarks; the consent vendor markup injects several extra H1 headings into the document outline.",
      "artifacts": [
        "evidence/novel-detail-meta.json"
      ],
      "suggestedFix": "Use one content H1 per page, named landmarks, logical focus order and a trapped/restored modal focus cycle.",
      "effort": "medium",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F22",
      "severity": "critical",
      "confidence": "high",
      "summary": "Text is legible and inclusively rendered: comfortable line layout, precise alignment, stable rendering across mixed fonts, no clipping or cramped wrapping that harms comprehension.",
      "evidence": "The 1000px desktop layout is scaled to 360px, making body copy, navigation and form text visibly tiny in every mobile capture.",
      "artifacts": [
        "evidence/novel-detail-mobile.png"
      ],
      "suggestedFix": "Reflow at the device viewport with readable type sizes, line lengths and spacing instead of whole-page scaling.",
      "effort": "large",
      "principleId": "be-inclusive",
      "principleCheckId": "legible-text",
      "guidanceId": "improve-text-layout-and-legibility",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F23",
      "severity": "critical",
      "confidence": "high",
      "summary": "The experience remains usable when zoomed or reflowed, touch targets are large enough, media has captions or equivalents where needed, and the viewport does not prevent user scaling.",
      "evidence": "Mobile uses a 1000px layout viewport and Lighthouse fails target-size; 127 controls are below 24px before considering 200% zoom.",
      "artifacts": [
        "evidence/home-layout-mobile.json"
      ],
      "suggestedFix": "Support 320px reflow/200% zoom and enlarge targets without disabling user scaling.",
      "effort": "large",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F24",
      "severity": "medium",
      "confidence": "high",
      "summary": "The page loads without console errors or uncaught exceptions.",
      "evidence": "Lighthouse reports browser console errors on home, novel detail and registration.",
      "artifacts": [
        "evidence/lighthouse-home-summary-compact.json"
      ],
      "suggestedFix": "Fix first-party exceptions and failed integrations, and keep automated console-error checks in CI.",
      "effort": "small",
      "principleId": "follow-best-practices",
      "principleCheckId": "no-console-errors",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F25",
      "severity": "medium",
      "confidence": "high",
      "summary": "Valid doctype and charset, images sized with correct aspect ratio, no deprecated APIs misused, and CSS/HTML are well structured and not needlessly repetitive. (HTTPS, CSP and permission hygiene are judged under be-private-and-secure, not here.)",
      "evidence": "Although doctype/UTF-8 are valid, the image audit found 20 missing dimensions and Lighthouse found an incorrectly proportioned image on registration.",
      "artifacts": [
        "evidence/images.json"
      ],
      "suggestedFix": "Add intrinsic image dimensions/aspect-ratio and correct distorted assets while retaining valid document metadata.",
      "effort": "small",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F26",
      "severity": "medium",
      "confidence": "high",
      "summary": "The page uses the platform cleanly: no deprecated APIs, no avoidable BFCache blockers, no broken source maps or inspector issues, no stale vulnerable libraries, no paste-prevention on inputs, and no notification/geolocation prompts on load.",
      "evidence": "Lighthouse found deprecated APIs, missing large-script source maps and DevTools inspector issues on all sampled paths.",
      "artifacts": [
        "evidence/lighthouse-register-summary-compact.json"
      ],
      "suggestedFix": "Replace deprecated APIs, publish production source maps securely and clear browser Issues-panel warnings.",
      "effort": "small",
      "principleId": "follow-best-practices",
      "principleCheckId": "browser-platform-hygiene",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F27",
      "severity": "medium",
      "confidence": "high",
      "summary": "The page has a unique, descriptive <title> and a meta description.",
      "evidence": "Home and content pages have descriptive metadata, but /register has an empty meta description and Lighthouse fails meta-description there.",
      "artifacts": [
        "evidence/register-meta.json"
      ],
      "suggestedFix": "Add a concise, unique registration-page description and retain unique titles/descriptions per template.",
      "effort": "small",
      "principleId": "be-discoverable",
      "principleCheckId": "title-and-description",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "register",
      "url": "https://www.alphapolis.co.jp/register"
    },
    {
      "id": "F28",
      "severity": "high",
      "confidence": "high",
      "summary": "Links are crawlable (real href), there is a viewport meta tag, robots does not block indexing, and link text is descriptive.",
      "evidence": "Lighthouse fails crawlable-anchors and the DOM has javascript:void(0) links; the viewport declaration produces a 1000px scaled layout on 360px devices.",
      "artifacts": [
        "evidence/home-metadata.json"
      ],
      "suggestedFix": "Use real href destinations for navigation and a correct responsive viewport plus genuine mobile reflow.",
      "effort": "medium",
      "principleId": "be-discoverable",
      "principleCheckId": "crawlable-and-mobile-friendly",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F29",
      "severity": "medium",
      "confidence": "high",
      "summary": "Where the page represents an article, product, organization, event, place or other rich entity, structured data and share-preview metadata accurately describe the visible content.",
      "evidence": "The homepage has Open Graph tags but zero JSON-LD despite representing an organization and many works; sampled entity pages expose no recorded structured-data evidence.",
      "artifacts": [
        "evidence/home-metadata.json"
      ],
      "suggestedFix": "Add validated Organization/WebSite and Book/CreativeWork metadata matching visible content, plus complete social cards.",
      "effort": "small",
      "principleId": "be-discoverable",
      "principleCheckId": "structured-and-shareable-metadata",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F30",
      "severity": "critical",
      "confidence": "high",
      "summary": "Served over HTTPS with a sensible Content-Security-Policy and secure, SameSite cookies; no mixed content or obvious transport/header smells.",
      "evidence": "HTTPS is used, but CSP and HSTS are absent and all 19 observed cookies were flagged; 12 cookies lacked Secure and all used permissive SameSite=None except two.",
      "artifacts": [
        "evidence/headers.json"
      ],
      "suggestedFix": "Deploy HSTS and a nonce/hash CSP; minimize cookies and set Secure, HttpOnly and Lax/Strict according to purpose.",
      "effort": "large",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F31",
      "severity": "critical",
      "confidence": "high",
      "summary": "No over-collection of user data, no leaky third parties, and analytics/background data collection is minimised and batched rather than chatty or session-wide by default.",
      "evidence": "Before consent, network capture reached 33 third-party origins and 11 known tracker domains; the consent text names 209 partners.",
      "artifacts": [
        "evidence/trackers.json"
      ],
      "suggestedFix": "Block non-essential trackers until explicit consent, reduce vendors and events, and batch privacy-preserving analytics.",
      "effort": "large",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F32",
      "severity": "high",
      "confidence": "high",
      "summary": "Permission prompts are requested in context (not on load), and authentication uses modern, phishing-resistant methods (passkeys / WebAuthn) where relevant rather than passwords alone.",
      "evidence": "No permission prompt appeared on load, but the account flow offers password registration only; no passkey/WebAuthn capability was found.",
      "artifacts": [
        "evidence/register-meta.json"
      ],
      "suggestedFix": "Add passkey registration/authentication and retain passwords only as a well-protected recovery fallback.",
      "effort": "medium",
      "principleId": "be-private-and-secure",
      "principleCheckId": "in-context-permissions-and-modern-auth",
      "guidanceId": "passkeys",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "register",
      "url": "https://www.alphapolis.co.jp/register"
    },
    {
      "id": "F33",
      "severity": "critical",
      "confidence": "high",
      "summary": "Browser-enforced defenses are configured where appropriate: HSTS, clickjacking protection (frame-ancestors / X-Frame-Options), Trusted Types for XSS-sensitive apps, origin isolation, privacy-preserving third-party cookie posture, and sensible Referrer-Policy / Permissions-Policy.",
      "evidence": "Headers inspection found no clickjacking protection, Referrer-Policy, Permissions-Policy, X-Content-Type-Options, CSP or HSTS.",
      "artifacts": [
        "evidence/headers.json"
      ],
      "suggestedFix": "Set frame-ancestors, nosniff, strict referrer and least-privilege permissions policies, then layer Trusted Types where applicable.",
      "effort": "large",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F34",
      "severity": "medium",
      "confidence": "high",
      "summary": "Correct lang and dir attributes, logical CSS properties (inline/block) rather than physical left/right, and translation-ready markup so the layout and reading order survive other languages and writing modes.",
      "evidence": "html lang=ja is correct, but the CSS probe found only six logical-property rules and the fixed physical desktop layout does not adapt even to a narrower same-language viewport.",
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "suggestedFix": "Keep lang=ja, set direction explicitly where needed and migrate layout spacing/sizing to logical properties with writing-mode tests.",
      "effort": "small",
      "principleId": "be-internationalised",
      "principleCheckId": "lang-dir-and-logical-properties",
      "guidanceId": "css-layout",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F35",
      "severity": "critical",
      "confidence": "high",
      "summary": "No deceptive design: no confirmshaming, forced continuity, disguised ads, or nagging consent walls; honest defaults; clear pricing and consent; easy reversal/cancel; predictable, declaratively-wired actions; and no hidden-text tricks (hidden content stays deep-linkable and indexable rather than used to deceive).",
      "evidence": "A blocking consent dialog offers prominent Consent and Manage options but no equally direct Reject action, while tracker requests are already active before a choice.",
      "artifacts": [
        "evidence/trackers.json"
      ],
      "suggestedFix": "Provide symmetric accept/reject controls and prevent optional processing until an affirmative choice.",
      "effort": "large",
      "principleId": "be-trustworthy",
      "principleCheckId": "no-dark-patterns",
      "guidanceId": "privacy",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F36",
      "severity": "high",
      "confidence": "high",
      "summary": "Forms prevent and recover from mistakes humanely: validate after interaction (not prematurely), give clear required-field feedback, announce errors accessibly, and signal invalid fields visibly rather than blaming the user.",
      "evidence": "Empty registration submission produced native invalid states but no page error summary, accessible announcement or focus movement.",
      "artifacts": [
        "evidence/register-invalid.json"
      ],
      "suggestedFix": "Validate after interaction, identify fields in plain language, announce a summary and move focus predictably.",
      "effort": "medium",
      "principleId": "be-trustworthy",
      "principleCheckId": "humane-error-handling",
      "guidanceId": "validate-input-after-interaction",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "register",
      "url": "https://www.alphapolis.co.jp/register"
    },
    {
      "id": "F37",
      "severity": "high",
      "confidence": "high",
      "summary": "Input is assisted, not obstructed: correct autocomplete tokens so address, payment, sign-in and sign-up fields autofill, and inputs are highlighted/sized to help the user rather than trip them up.",
      "evidence": "Registration username, email, password and confirmation fields all expose empty autocomplete values; axe also finds confirmation/captcha unlabeled.",
      "artifacts": [
        "evidence/register-meta.json"
      ],
      "suggestedFix": "Apply username, email, new-password and appropriate one-time-code tokens and label every field.",
      "effort": "medium",
      "principleId": "be-trustworthy",
      "principleCheckId": "trustworthy-input-assistance",
      "guidanceId": "autofill-sign-up-form",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "register",
      "url": "https://www.alphapolis.co.jp/register"
    },
    {
      "id": "F38",
      "severity": "high",
      "confidence": "high",
      "summary": "Checkout, subscription, consent, authentication and account-management flows are clear, reversible, and proportionate: pricing and commitments are visible, cancellation is findable, sensitive actions re-authenticate when appropriate, and users are not tricked into continuity.",
      "evidence": "The sampled account flow relies on password-only registration and is obscured by consent; no passkey capability or clear privacy-preserving default is present.",
      "artifacts": [
        "evidence/register-mobile.png"
      ],
      "suggestedFix": "Make consent optional and reversible, add passkeys, and clearly explain account commitments and recovery before submission.",
      "effort": "medium",
      "principleId": "be-trustworthy",
      "principleCheckId": "safe-commercial-and-account-flows",
      "guidanceId": "passkey-registration",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "register",
      "url": "https://www.alphapolis.co.jp/register"
    },
    {
      "id": "F39",
      "severity": "critical",
      "confidence": "high",
      "summary": "Images and decorative assets are optimised and served at appropriate resolutions; decorative pseudo-element imagery and heavy decorative images are resolution-optimised rather than oversized.",
      "evidence": "The homepage transfers 11.86MB of images; 48 images use legacy formats, 10 are oversized, 22 lack srcset and 21 below-fold images are not lazy.",
      "artifacts": [
        "evidence/images.json"
      ],
      "suggestedFix": "Generate AVIF/WebP responsive variants, add srcset/sizes and lazy-load below-fold media while prioritizing only LCP.",
      "effort": "large",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "optimize-image-priority",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F40",
      "severity": "high",
      "confidence": "high",
      "summary": "Background work and fetching are not wasteful: background processing is efficient and de-prioritised, and the lightest technique that achieves the result is preferred over heavy or redundant work.",
      "evidence": "The homepage makes 201 requests, loads 39 scripts and sends traffic to 33 third-party origins, including multiple analytics systems before consent.",
      "artifacts": [
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Remove redundant vendors, defer background fetches and stop analytics/media work when hidden or unconsented.",
      "effort": "medium",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "deprioritize-background-fetches",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    },
    {
      "id": "F41",
      "severity": "critical",
      "confidence": "high",
      "summary": "Third-party scripts, fonts, video, audio, animation and heavy media are proportionate to the user value they provide; autoplay or background media is avoided unless essential and resource use is cached or deferred where possible.",
      "evidence": "Third parties account for 150 requests and 12.91MB; home imagery alone reaches 11.86MB and individual covers exceed 600KB.",
      "artifacts": [
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Set template budgets for total bytes/requests/third parties and enforce them in CI, with consent-gated loading.",
      "effort": "large",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "efficient-background-processing",
      "guidanceCategory": "modern-web-guidance",
      "pathId": "home",
      "url": "https://www.alphapolis.co.jp/"
    }
  ],
  "taskList": [
    {
      "id": "mobile",
      "title": "Build a genuine responsive mobile layout and accessible component system",
      "priority": 1,
      "findingIds": [
        "F09",
        "F10",
        "F11",
        "F22",
        "F23"
      ],
      "guidanceId": "fluid-scaling",
      "status": "open"
    },
    {
      "id": "privacy",
      "title": "Gate and minimize tracking; deploy complete browser security policies",
      "priority": 2,
      "findingIds": [
        "F30",
        "F31",
        "F32",
        "F33",
        "F35"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "perf",
      "title": "Cut image/network weight and stabilize the critical rendering path",
      "priority": 3,
      "findingIds": [
        "F14",
        "F15",
        "F16",
        "F17",
        "F18",
        "F39",
        "F40",
        "F41"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "consent",
      "title": "Replace the blocking asymmetric consent interstitial",
      "priority": 4,
      "findingIds": [
        "F06",
        "F07",
        "F35"
      ],
      "guidanceId": "privacy",
      "status": "open"
    },
    {
      "id": "a11y",
      "title": "Repair names, labels, landmarks, contrast and focus/error handling",
      "priority": 5,
      "findingIds": [
        "F13",
        "F19",
        "F20",
        "F21",
        "F22",
        "F23",
        "F36",
        "F37"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "quality",
      "title": "Clear console/deprecation/asset issues and improve metadata",
      "priority": 6,
      "findingIds": [
        "F24",
        "F25",
        "F26",
        "F27",
        "F28",
        "F29"
      ],
      "guidanceId": "html",
      "status": "open"
    }
  ],
  "budget": {
    "wallClockSeconds": 2400,
    "pathCount": 7,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-23T11-13-46-105Z"
}
