{
  "url": "https://sp.mbga.jp",
  "auditedAt": "2026-07-19T01:16:33.738Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage-complete model audit across five representative public paths. Authenticated account, gameplay, checkout/payment and post-login community surfaces were not covered because credentials were not provided.",
  "page": {
    "appType": "mpa",
    "framework": "Legacy server-rendered MPA with Mobage JavaScript utilities",
    "notes": "The mobile homepage is responsive, but several child routes redirect to a fixed-width desktop www.mbga.jp template. Registration redirects to ssl.sp.mbga.jp and dead-ends."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "evaluate-probe",
    "layout-metrics",
    "performance-trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "images",
    "secrets",
    "heap-summary",
    "lighthouse"
  ],
  "guidanceConsulted": [
    "accessibility",
    "break-up-long-tasks",
    "css",
    "dark-mode",
    "declarative-dialog-popover-control",
    "deliver-optimized-decorative-images",
    "fluid-scaling",
    "forms",
    "html",
    "identify-heavy-scripts",
    "improve-text-layout-and-legibility",
    "language-model",
    "light-dismiss-a-dialog",
    "manage-recurring-intervals",
    "optimize-image-priority",
    "passkey-authentication",
    "passkeys",
    "performance",
    "position-aware-tooltips",
    "privacy",
    "same-document-transitions",
    "scrollytelling",
    "search-hidden-content",
    "security",
    "shrinking-header-on-scroll",
    "size-aware-styling",
    "stabilize-reactive-state",
    "support-global-calendar-systems",
    "translator",
    "validate-input-after-interaction",
    "webmcp"
  ],
  "artifacts": [
    {
      "type": "other",
      "path": "evidence/accessibility-seo-probe.json",
      "caption": "accessibility seo probe",
      "findingIds": [
        "F07",
        "F13",
        "F16",
        "F18"
      ]
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "cookies",
      "findingIds": [
        "F19"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-crawler.png",
      "caption": "discoverability crawler",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-rendered.png",
      "caption": "discoverability rendered",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/discoverability.json",
      "caption": "discoverability",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/games-dom.json",
      "caption": "games dom",
      "findingIds": [
        "F05",
        "F06",
        "F17"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/games-mobile.png",
      "caption": "games mobile",
      "findingIds": [
        "F05",
        "F06",
        "F16",
        "F21"
      ]
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "headers",
      "findingIds": [
        "F19",
        "F20"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.heapsnapshot",
      "caption": "heap baseline",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-contrast.png",
      "caption": "home contrast",
      "findingIds": [
        "F02"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "home dark",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "home desktop",
      "findingIds": [
        "F09"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "home dom",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/home-layout-mobile.json",
      "caption": "home layout mobile",
      "findingIds": [
        "F04"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "home mobile",
      "findingIds": [
        "F01",
        "F04",
        "F09",
        "F22"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-probe.json",
      "caption": "home probe",
      "findingIds": [
        "F01",
        "F02",
        "F03",
        "F04",
        "F06",
        "F15"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-summary.json",
      "caption": "home summary",
      "findingIds": [
        "F11",
        "F22",
        "F24",
        "F25"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "home trace summary",
      "findingIds": [
        "F10"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "home trace",
      "findingIds": []
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "home",
      "findingIds": [
        "F11"
      ]
    },
    {
      "type": "other",
      "path": "evidence/images.json",
      "caption": "images",
      "findingIds": [
        "F13",
        "F24"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-detail.json",
      "caption": "lighthouse detail",
      "findingIds": [
        "F13",
        "F14",
        "F15",
        "F16"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-summary.json",
      "caption": "lighthouse summary",
      "findingIds": [
        "F10",
        "F11",
        "F12",
        "F25"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse.json",
      "caption": "lighthouse",
      "findingIds": [
        "F12"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/news-dom.json",
      "caption": "news dom",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/news-mobile.png",
      "caption": "news mobile",
      "findingIds": [
        "F05"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/ranking-dom.json",
      "caption": "ranking dom",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/ranking-mobile.png",
      "caption": "ranking mobile",
      "findingIds": [
        "F05",
        "F21"
      ]
    },
    {
      "type": "other",
      "path": "evidence/recon.json",
      "caption": "recon",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/register-dom.json",
      "caption": "register dom",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/register-mobile.png",
      "caption": "register mobile",
      "findingIds": [
        "F08",
        "F23"
      ]
    },
    {
      "type": "other",
      "path": "evidence/register-probe.json",
      "caption": "register probe",
      "findingIds": [
        "F08",
        "F21",
        "F23"
      ]
    },
    {
      "type": "other",
      "path": "evidence/robots-sitemap.json",
      "caption": "robots sitemap",
      "findingIds": [
        "F17"
      ]
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "secrets",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "trackers",
      "findingIds": []
    }
  ],
  "config": {
    "loaded": false
  },
  "coverage": {
    "catalogVersion": "modern-web-guidance@0.0.172",
    "catalogChecksum": "sha256:78ccfdb2d483f4c57d9dafed80fd86c6265585a56457c8dcfddc254b80fb44d7",
    "expected": 58,
    "recorded": 58,
    "judged": 58,
    "blocked": 0,
    "notRun": 0,
    "missing": 0,
    "unknown": 0,
    "duplicates": 0,
    "complete": true
  },
  "checkOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-color-scheme",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F01"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "The dark-mode screenshot is byte-identical to the normal mobile screenshot and remains a hard-coded white/green surface; the CSS probe found no prefers-color-scheme rule or color-scheme declaration.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/home-mobile.png",
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "confidence": "high",
      "status": "pass",
      "method": "evaluate getAnimations under reduced motion",
      "evidence": "Emulated prefers-reduced-motion: reduce; getAnimations() returned an empty list, so no non-essential motion continued.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F02"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "The prefers-contrast: more capture is visually/byte identical to the default capture, and CSS inspection found no contrast preference handling.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-contrast.png",
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F03"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "CSS inspection across the homepage found no view-transition rules or API signal; representative links perform full, abrupt navigations.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "confidence": "high",
      "status": "not-applicable",
      "method": "Applicability judgement from recon",
      "evidence": "No parallax, scrollytelling, reveal or other scroll-linked motion exists on the representative public surfaces.",
      "reason": "No parallax, scrollytelling, reveal or other scroll-linked motion exists on the representative public surfaces."
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "confidence": "high",
      "status": "not-applicable",
      "method": "Applicability judgement from recon",
      "evidence": "No swipe, pull, carousel-drag or gesture-driven control exists on the audited public paths.",
      "reason": "No swipe, pull, carousel-drag or gesture-driven control exists on the audited public paths."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F04"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "The mobile homepage is 2,882px tall, but the screenshot and CSS probe show static chrome with no progress indicator, shrinking header or scroll-state query.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-layout-mobile.json",
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "confidence": "high",
      "status": "not-applicable",
      "method": "Applicability judgement from recon",
      "evidence": "No tooltip, popover or edge-positioned menu was exposed on the audited guest paths.",
      "reason": "No tooltip, popover or edge-positioned menu was exposed on the audited guest paths."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "confidence": "high",
      "status": "pass",
      "method": "visual hierarchy review",
      "evidence": "Section headings, ranked numbering, explicit “more” links and registration/login controls provide visible attention cues on the homepage.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "confidence": "high",
      "status": "pass",
      "method": "load screenshot review",
      "evidence": "Load screenshots show content immediately with no full-page interstitial, consent wall or obscuring modal.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "confidence": "high",
      "status": "not-applicable",
      "method": "Applicability judgement from recon",
      "evidence": "No user-invoked overlay or disclosure control was present on the audited guest paths.",
      "reason": "No user-invoked overlay or disclosure control was present on the audited guest paths."
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "confidence": "high",
      "status": "pass",
      "method": "visual viewport review",
      "evidence": "The mobile homepage dedicates nearly all space below the 40px header to news and game content; chrome is compact.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F05"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "The new-games, ranking and news captures render the desktop www.mbga.jp layout as tiny scaled content at 360px; DOM evidence reports fixed 950px content and no viewport meta on the listing template.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/games-mobile.png",
        "evidence/ranking-mobile.png",
        "evidence/news-mobile.png",
        "evidence/games-dom.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F06"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "CSS inspection found no @container usage; listing DOM uses fixed 720/740/950px widths, producing miniature desktop cards on narrow screens.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/games-mobile.png",
        "evidence/games-dom.json",
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F07"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "The active probe found five visible footer links only 15.39px high, well below a comfortable touch target, although keyboard outlines were visible.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/accessibility-seo-probe.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "confidence": "high",
      "status": "pass",
      "method": "first-viewport screenshot review",
      "evidence": "The first viewport identifies Mobage, offers 会員登録/ログイン, and exposes three labeled game-discovery paths.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/register-mobile.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F08"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "The registration landing says 会員登録, but its only registration links resolve back to the same https://ssl.sp.mbga.jp/_reg URL and no form or next step exists.",
      "pathIds": [
        "register"
      ],
      "artifacts": [
        "evidence/register-mobile.png",
        "evidence/register-probe.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F09"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "Every homepage capture shows システムエラーが発生しました in a transient toast, with no cause, retry, dismiss or next action.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F10"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "Lighthouse measured LCP at 3.8s (score 0.55), while the separate warm trace measured 1.40s; the throttled Lighthouse result indicates a meaningful slow-network risk.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "confidence": "high",
      "status": "pass",
      "method": "layout observer",
      "evidence": "Mobile layout observer measured CLS 0.0000375 with image dimensions reserved.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-layout-mobile.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "confidence": "high",
      "status": "pass",
      "method": "trace and long-task observers",
      "evidence": "Trace and layout observers found zero long tasks and 0ms total blocking time.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/home-layout-mobile.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F11"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "HAR recorded 66 requests and 1,197,051 transferred bytes, including 1,038,487 image bytes and five parser-inserted blocking candidates; Lighthouse estimates 1,100KiB cache, 573KiB image and 1,060ms render-blocking savings.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home.har",
        "evidence/home-summary.json",
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F12"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "Lighthouse estimates 35KiB unused CSS and 42KiB unused JavaScript on the homepage.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F13"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "Lighthouse reports no main landmark; the active DOM probe found one image without alt and an empty visible anchor, while the image primitive found many hidden drawer images without alt.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-detail.json",
        "evidence/accessibility-seo-probe.json",
        "evidence/images.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F14"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "Lighthouse measured #0075ec on #d0d0d0 at 2.86:1 for 11px footer links, below WCAG’s 4.5:1 minimum.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-detail.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F13"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "Lighthouse reports no main landmark; the active DOM probe found one image without alt and an empty visible anchor, while the image primitive found many hidden drawer images without alt.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-detail.json",
        "evidence/accessibility-seo-probe.json",
        "evidence/images.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "confidence": "high",
      "status": "pass",
      "method": "mobile screenshot and layout review",
      "evidence": "Homepage body/game copy remains readable at 360px with no clipping or horizontal overflow; headings are visually distinct.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-layout-mobile.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F15"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "The live meta viewport contains maximum-scale=1.0 and user-scalable=no; Lighthouse fails the meta-viewport accessibility audit.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/lighthouse-detail.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "confidence": "high",
      "status": "pass",
      "method": "Lighthouse console audit",
      "evidence": "Lighthouse errors-in-console audit passed with no logged browser errors.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-detail.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "confidence": "high",
      "status": "pass",
      "method": "Lighthouse and DOM/image inspection",
      "evidence": "Lighthouse confirms a valid doctype; DOM shows UTF-8 and all visible layout images reserve dimensions with correct aspect ratio.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-detail.json",
        "evidence/images.json",
        "evidence/home-dom.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "confidence": "high",
      "status": "pass",
      "method": "Lighthouse and active path review",
      "evidence": "Lighthouse best-practices score is 1.0; no permission prompts appeared, and no paste-blocking form controls were present on audited guest paths.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/register-probe.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "confidence": "high",
      "status": "pass",
      "method": "DOM metadata inspection",
      "evidence": "Homepage title is モバゲー and has a descriptive Japanese meta description; representative listing title/description are specific.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/games-dom.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F16"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "Lighthouse found many javascript:void(0) links and the active probe counted 37; key game cards use onclick without href. Representative listing routes serve a desktop layout at 360px.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-detail.json",
        "evidence/accessibility-seo-probe.json",
        "evidence/games-mobile.png"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F17"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "The new-games route redirected from https://sp.mbga.jp to http://www.mbga.jp and declares an http canonical; sitemap.xml fetch failed while robots.txt was available.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/games-dom.json",
        "evidence/robots-sitemap.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F18"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "The probe found no JSON-LD and an empty og:description; the page represents games/news entities that could support accurate structured previews.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/accessibility-seo-probe.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F19"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "Header inspection found no CSP or HSTS. All four first-party cookies lack Secure and use SameSite=None; two are script-readable.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "confidence": "high",
      "status": "pass",
      "method": "tracker, HAR and secrets inspection",
      "evidence": "Tracker probe found no known trackers and only two third-party origins; secrets scan found no exposed credentials.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/trackers.json",
        "evidence/home-summary.json",
        "evidence/secrets.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "confidence": "high",
      "status": "pass",
      "method": "load and registration DOM review",
      "evidence": "No permission prompt or permission API use occurred on load; the audited guest registration surface contains no password form, so no password-only auth implementation was observed in scope.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/register-probe.json",
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F20"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "The main document lacks clickjacking protection, nosniff, Referrer-Policy and Permissions-Policy in addition to CSP/HSTS.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "confidence": "high",
      "status": "pass",
      "method": "raw HTML versus rendered DOM comparison",
      "evidence": "Discoverability comparison found 86% raw-HTML coverage, title/H1/description present, and no JS shell.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/discoverability-crawler.png",
        "evidence/discoverability-rendered.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F21"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "Home stays on sp.mbga.jp, but game/news/ranking routes redirect to a desktop www.mbga.jp template and registration moves to ssl.sp.mbga.jp, losing a consistent responsive context.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/games-mobile.png",
        "evidence/ranking-mobile.png",
        "evidence/register-probe.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "confidence": "high",
      "status": "not-applicable",
      "method": "Applicability judgement from recon",
      "evidence": "The audited public surface is a server-rendered game portal rather than an installable app; no offline claim or local-app journey is presented.",
      "reason": "The audited public surface is a server-rendered game portal rather than an installable app; no offline claim or local-app journey is presented."
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F22"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "A system-error toast appears during normal load with no retry, details, fallback content change or durable status; one analytics request also aborts in the HAR.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-summary.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "confidence": "high",
      "status": "not-applicable",
      "method": "Applicability judgement from recon",
      "evidence": "The service is explicitly Japanese-only, with html lang=ja and no localized variant discovered; cross-locale layout was not part of the public product surface.",
      "reason": "The service is explicitly Japanese-only, with html lang=ja and no localized variant discovered; cross-locale layout was not part of the public product surface."
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "confidence": "high",
      "status": "not-applicable",
      "method": "Applicability judgement from recon",
      "evidence": "No user-facing date, currency, duration or locale-switching data appears on the audited public paths.",
      "reason": "No user-facing date, currency, duration or locale-switching data appears on the audited public paths."
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "confidence": "high",
      "status": "not-applicable",
      "method": "Applicability judgement from recon",
      "evidence": "No event time or cross-time-zone scheduling data appears on the audited public paths.",
      "reason": "No event time or cross-time-zone scheduling data appears on the audited public paths."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "confidence": "high",
      "status": "pass",
      "method": "visual journey review",
      "evidence": "No consent wall, confirmshaming, preselected upsell or disguised advertisement appeared on the audited guest and registration surfaces.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/register-mobile.png"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "confidence": "high",
      "status": "not-applicable",
      "method": "Applicability judgement from recon",
      "evidence": "No editable user form or validation step is exposed before the registration dead-end.",
      "reason": "No editable user form or validation step is exposed before the registration dead-end."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "confidence": "high",
      "status": "not-applicable",
      "method": "Applicability judgement from recon",
      "evidence": "No editable sign-in, address, payment or signup fields are exposed on the audited guest registration surface.",
      "reason": "No editable sign-in, address, payment or signup fields are exposed on the audited guest registration surface."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F23"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "The account landing states normal registration is required, yet the registration control points back to the same page and exposes no next step.",
      "pathIds": [
        "register"
      ],
      "artifacts": [
        "evidence/register-mobile.png",
        "evidence/register-probe.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F24"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "Images account for 1,038,487 of 1,197,051 transferred bytes; 39 of 45 inspected images are PNG/GIF with no modern-format images, and 16 below-fold images are not lazy-loaded.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/images.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "confidence": "high",
      "status": "pass",
      "method": "trace, HAR and screenshot review",
      "evidence": "Trace found no long tasks, HAR shows only one XHR/fetch, and no autoplay media or continuous animation was observed.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/home-summary.json",
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "confidence": "high",
      "status": "issues",
      "findingIds": [
        "F25"
      ],
      "method": "Direct visual/objective evidence review against the mapped check",
      "evidence": "The five largest image resources alone transfer about 767KiB, mostly legacy @2x sprites; Lighthouse estimates 573KiB image-delivery savings.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "confidence": "high",
      "status": "not-applicable",
      "method": "Applicability judgement from recon",
      "evidence": "No declared agent-facing intent exists and the public guest portal does not expose a safe transaction flow for agents.",
      "reason": "No declared agent-facing intent exists and the public guest portal does not expose a safe transaction flow for agents."
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "confidence": "high",
      "status": "not-applicable",
      "method": "Applicability judgement from recon",
      "evidence": "No summarisation, language-model or other inference task is part of the audited public experience.",
      "reason": "No summarisation, language-model or other inference task is part of the audited public experience."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "confidence": "high",
      "status": "not-applicable",
      "method": "Applicability judgement from recon",
      "evidence": "The audited guest pages expose only full navigations and no representative same-page interaction suitable for a meaningful 10x leak cycle.",
      "reason": "The audited guest pages expose only full navigations and no representative same-page interaction suitable for a meaningful 10x leak cycle."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "confidence": "high",
      "status": "pass",
      "method": "heap summary",
      "evidence": "Single-state heap summary measured 91,650 nodes and 5,026,332 self-size bytes, proportionate for the rendered portal.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.heapsnapshot"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "confidence": "high",
      "status": "pass",
      "method": "heap constructor summary",
      "evidence": "The heap constructor summary contains no Detached* population; the page has no repeated same-document interaction in scope that could accumulate listeners or timers.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.heapsnapshot"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F01",
        "F02"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F05",
        "F06",
        "F07"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F08",
        "F09"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F10",
        "F11",
        "F12"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F13",
        "F14",
        "F15"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F16",
        "F17",
        "F18"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F19",
        "F20"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F21",
        "F22"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "The service is explicitly Japanese-only, with html lang=ja and no localized variant discovered; cross-locale layout was not part of the public product surface. No user-facing date, currency, duration or locale-switching data appears on the audited public paths. No event time or cross-time-zone scheduling data appears on the audited public paths."
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F23"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F24",
        "F25"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "No declared agent-facing intent exists and the public guest portal does not expose a safe transaction flow for agents. No summarisation, language-model or other inference task is part of the audited public experience."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Public mobile homepage: entry point, content discovery, global navigation, preferences, performance and security.",
      "url": "https://sp.mbga.jp/",
      "conditions": [
        "desktop",
        "viewport: 360x800",
        "prefers-color-scheme: dark",
        "prefers-contrast: more",
        "prefers-reduced-motion: reduce",
        "keyboard focus"
      ],
      "result": "issues"
    },
    {
      "id": "games",
      "description": "New-games listing archetype, selected to test the main browse journey and form-factor routing.",
      "url": "https://sp.mbga.jp/_game_newly_list",
      "conditions": [
        "viewport: 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "ranking",
      "description": "Ranking/listing archetype, selected as a second high-value discovery route.",
      "url": "https://sp.mbga.jp/_game_ranking?genre=1000&sex_type=A",
      "conditions": [
        "viewport: 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "news",
      "description": "News/content route, selected to represent editorial content.",
      "url": "https://sp.mbga.jp/_news_top",
      "conditions": [
        "viewport: 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "register",
      "description": "Primary conversion journey from the homepage to member registration/login.",
      "url": "https://sp.mbga.jp/_reg",
      "conditions": [
        "viewport: 360x800"
      ],
      "result": "issues"
    }
  ],
  "findings": [
    {
      "id": "F01",
      "severity": "medium",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "guidanceCategory": "user-experience",
      "summary": "The site ignores the user’s dark theme preference.",
      "evidence": "The dark-mode screenshot is byte-identical to the normal mobile screenshot and remains a hard-coded white/green surface; the CSS probe found no prefers-color-scheme rule or color-scheme declaration.",
      "suggestedFix": "Declare color-scheme and provide preference-driven dark surface, text, icon and browser-chrome colors.",
      "confidence": "high",
      "pathId": "home",
      "url": "https://sp.mbga.jp/",
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/home-mobile.png",
        "evidence/home-probe.json"
      ],
      "effort": "small"
    },
    {
      "id": "F02",
      "severity": "low",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-contrast",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "summary": "High-contrast preference receives no adaptation.",
      "evidence": "The prefers-contrast: more capture is visually/byte identical to the default capture, and CSS inspection found no contrast preference handling.",
      "suggestedFix": "Add forced-colors/prefers-contrast adaptations and preserve control boundaries and legible text.",
      "confidence": "high",
      "pathId": "home",
      "url": "https://sp.mbga.jp/",
      "artifacts": [
        "evidence/home-contrast.png",
        "evidence/home-probe.json"
      ],
      "effort": "small"
    },
    {
      "id": "F03",
      "severity": "low",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "same-document-transitions",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Navigation swaps are abrupt and do not use View Transitions.",
      "evidence": "CSS inspection across the homepage found no view-transition rules or API signal; representative links perform full, abrupt navigations.",
      "suggestedFix": "Use same-document or cross-document View Transitions for meaningful route/state changes, with reduced-motion handling.",
      "confidence": "high",
      "pathId": "home",
      "url": "https://sp.mbga.jp/",
      "artifacts": [
        "evidence/home-probe.json"
      ],
      "effort": "medium"
    },
    {
      "id": "F04",
      "severity": "low",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "shrinking-header-on-scroll",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Long pages provide no scroll-position feedback.",
      "evidence": "The mobile homepage is 2,882px tall, but the screenshot and CSS probe show static chrome with no progress indicator, shrinking header or scroll-state query.",
      "suggestedFix": "Add a lightweight scroll-state-aware header or progress affordance where it helps orientation.",
      "confidence": "high",
      "pathId": "home",
      "url": "https://sp.mbga.jp/",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-layout-mobile.json",
        "evidence/home-probe.json"
      ],
      "effort": "small"
    },
    {
      "id": "F05",
      "severity": "high",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "responsive-no-horizontal-scroll",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Core listing routes serve a desktop-only 950px layout into a 360px viewport.",
      "evidence": "The new-games, ranking and news captures render the desktop www.mbga.jp layout as tiny scaled content at 360px; DOM evidence reports fixed 950px content and no viewport meta on the listing template.",
      "suggestedFix": "Keep users on a responsive HTTPS route and replace fixed 950px desktop templates with intrinsic/fluid layouts and a valid viewport meta tag.",
      "confidence": "high",
      "pathId": "home",
      "url": "https://sp.mbga.jp/",
      "artifacts": [
        "evidence/games-mobile.png",
        "evidence/ranking-mobile.png",
        "evidence/news-mobile.png",
        "evidence/games-dom.json"
      ],
      "effort": "large"
    },
    {
      "id": "F06",
      "severity": "medium",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Reusable cards and navigation do not adapt at component level.",
      "evidence": "CSS inspection found no @container usage; listing DOM uses fixed 720/740/950px widths, producing miniature desktop cards on narrow screens.",
      "suggestedFix": "Use container queries and intrinsic card grids so reused listings adapt to their available inline size.",
      "confidence": "high",
      "pathId": "home",
      "url": "https://sp.mbga.jp/",
      "artifacts": [
        "evidence/games-mobile.png",
        "evidence/games-dom.json",
        "evidence/home-probe.json"
      ],
      "effort": "medium"
    },
    {
      "id": "F07",
      "severity": "medium",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Several footer targets are too short for touch.",
      "evidence": "The active probe found five visible footer links only 15.39px high, well below a comfortable touch target, although keyboard outlines were visible.",
      "suggestedFix": "Increase interactive target boxes to at least 24px minimum and preferably about 44px without shrinking text.",
      "confidence": "high",
      "pathId": "home",
      "url": "https://sp.mbga.jp/",
      "artifacts": [
        "evidence/accessibility-seo-probe.json"
      ],
      "effort": "small"
    },
    {
      "id": "F08",
      "severity": "high",
      "principleId": "support-core-task-success",
      "principleCheckId": "primary-flow-completion",
      "guidanceId": "forms",
      "guidanceCategory": "modern-web-guidance",
      "summary": "The public member-registration journey dead-ends.",
      "evidence": "The registration landing says 会員登録, but its only registration links resolve back to the same https://ssl.sp.mbga.jp/_reg URL and no form or next step exists.",
      "suggestedFix": "Provide a clear, functioning registration step or explain eligibility/availability and offer an actionable recovery route.",
      "confidence": "high",
      "pathId": "register",
      "url": "https://sp.mbga.jp/_reg",
      "artifacts": [
        "evidence/register-mobile.png",
        "evidence/register-probe.json"
      ],
      "effort": "large"
    },
    {
      "id": "F09",
      "severity": "medium",
      "principleId": "support-core-task-success",
      "principleCheckId": "clear-system-state-and-recovery",
      "guidanceId": "forms",
      "guidanceCategory": "modern-web-guidance",
      "summary": "A generic system error appears without a recovery action.",
      "evidence": "Every homepage capture shows システムエラーが発生しました in a transient toast, with no cause, retry, dismiss or next action.",
      "suggestedFix": "Replace the generic toast with contextual status and a retry/dismiss path; preserve the user’s location and input.",
      "confidence": "high",
      "pathId": "home",
      "url": "https://sp.mbga.jp/",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-desktop.png"
      ],
      "effort": "small"
    },
    {
      "id": "F10",
      "severity": "medium",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Mobile LCP is slower than the good threshold.",
      "evidence": "Lighthouse measured LCP at 3.8s (score 0.55), while the separate warm trace measured 1.40s; the throttled Lighthouse result indicates a meaningful slow-network risk.",
      "suggestedFix": "Prioritize the LCP asset, shorten render-blocking chains, and validate under mobile throttling.",
      "confidence": "high",
      "pathId": "home",
      "url": "https://sp.mbga.jp/",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "effort": "medium"
    },
    {
      "id": "F11",
      "severity": "medium",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-image-priority",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Caching, image delivery and render blocking waste load time.",
      "evidence": "HAR recorded 66 requests and 1,197,051 transferred bytes, including 1,038,487 image bytes and five parser-inserted blocking candidates; Lighthouse estimates 1,100KiB cache, 573KiB image and 1,060ms render-blocking savings.",
      "suggestedFix": "Set long immutable cache lifetimes on versioned assets, modernize image delivery, and defer/non-block non-critical scripts and styles.",
      "confidence": "high",
      "pathId": "home",
      "url": "https://sp.mbga.jp/",
      "artifacts": [
        "evidence/home.har",
        "evidence/home-summary.json",
        "evidence/lighthouse-summary.json"
      ],
      "effort": "medium"
    },
    {
      "id": "F12",
      "severity": "low",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "guidanceCategory": "modern-web-guidance",
      "summary": "The page ships avoidable unused CSS and JavaScript.",
      "evidence": "Lighthouse estimates 35KiB unused CSS and 42KiB unused JavaScript on the homepage.",
      "suggestedFix": "Split bundles by surface and remove legacy or unused rules and script paths.",
      "confidence": "high",
      "pathId": "home",
      "url": "https://sp.mbga.jp/",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/lighthouse.json"
      ],
      "effort": "medium"
    },
    {
      "id": "F13",
      "severity": "medium",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "summary": "The document lacks a main landmark and includes unnamed image/link content.",
      "evidence": "Lighthouse reports no main landmark; the active DOM probe found one image without alt and an empty visible anchor, while the image primitive found many hidden drawer images without alt.",
      "suggestedFix": "Add one main landmark and ensure every meaningful image/control has an accessible name; use empty alt only for decoration.",
      "confidence": "high",
      "pathId": "home",
      "url": "https://sp.mbga.jp/",
      "artifacts": [
        "evidence/lighthouse-detail.json",
        "evidence/accessibility-seo-probe.json",
        "evidence/images.json"
      ],
      "effort": "small"
    },
    {
      "id": "F14",
      "severity": "medium",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Footer links fail minimum text contrast.",
      "evidence": "Lighthouse measured #0075ec on #d0d0d0 at 2.86:1 for 11px footer links, below WCAG’s 4.5:1 minimum.",
      "suggestedFix": "Use a darker link color or lighter surface and retest all footer states.",
      "confidence": "high",
      "pathId": "home",
      "url": "https://sp.mbga.jp/",
      "artifacts": [
        "evidence/lighthouse-detail.json"
      ],
      "effort": "small"
    },
    {
      "id": "F15",
      "severity": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "summary": "The mobile viewport explicitly disables zoom.",
      "evidence": "The live meta viewport contains maximum-scale=1.0 and user-scalable=no; Lighthouse fails the meta-viewport accessibility audit.",
      "suggestedFix": "Remove user-scalable=no and restrictive maximum-scale so users can zoom; ensure layouts reflow at magnification.",
      "confidence": "high",
      "pathId": "home",
      "url": "https://sp.mbga.jp/",
      "artifacts": [
        "evidence/home-probe.json",
        "evidence/lighthouse-detail.json"
      ],
      "effort": "trivial"
    },
    {
      "id": "F16",
      "severity": "high",
      "principleId": "be-discoverable",
      "principleCheckId": "crawlable-and-mobile-friendly",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Important links are not crawlable and route templates are not mobile-friendly.",
      "evidence": "Lighthouse found many javascript:void(0) links and the active probe counted 37; key game cards use onclick without href. Representative listing routes serve a desktop layout at 360px.",
      "suggestedFix": "Use real href URLs for navigation and maintain responsive canonical route templates.",
      "confidence": "high",
      "pathId": "home",
      "url": "https://sp.mbga.jp/",
      "artifacts": [
        "evidence/lighthouse-detail.json",
        "evidence/accessibility-seo-probe.json",
        "evidence/games-mobile.png"
      ],
      "effort": "medium"
    },
    {
      "id": "F17",
      "severity": "medium",
      "principleId": "be-discoverable",
      "principleCheckId": "canonical-and-indexing-signals",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Canonical and route signals downgrade to HTTP and disagree with the requested mobile URL.",
      "evidence": "The new-games route redirected from https://sp.mbga.jp to http://www.mbga.jp and declares an http canonical; sitemap.xml fetch failed while robots.txt was available.",
      "suggestedFix": "Use HTTPS canonicals, eliminate host/protocol downgrade redirects, and publish a reachable sitemap consistent with robots.",
      "confidence": "high",
      "pathId": "home",
      "url": "https://sp.mbga.jp/",
      "artifacts": [
        "evidence/games-dom.json",
        "evidence/robots-sitemap.json"
      ],
      "effort": "medium"
    },
    {
      "id": "F18",
      "severity": "low",
      "principleId": "be-discoverable",
      "principleCheckId": "structured-and-shareable-metadata",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Share metadata is incomplete for a rich game portal.",
      "evidence": "The probe found no JSON-LD and an empty og:description; the page represents games/news entities that could support accurate structured previews.",
      "suggestedFix": "Add accurate Open Graph descriptions and schema.org JSON-LD for the visible WebSite, games and editorial entities.",
      "confidence": "high",
      "pathId": "home",
      "url": "https://sp.mbga.jp/",
      "artifacts": [
        "evidence/accessibility-seo-probe.json"
      ],
      "effort": "small"
    },
    {
      "id": "F19",
      "severity": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Transport is HTTPS, but CSP and cookie protections are missing.",
      "evidence": "Header inspection found no CSP or HSTS. All four first-party cookies lack Secure and use SameSite=None; two are script-readable.",
      "suggestedFix": "Deploy CSP and HSTS, mark HTTPS cookies Secure, use Lax/Strict where possible, and make sensitive cookies HttpOnly.",
      "confidence": "high",
      "pathId": "home",
      "url": "https://sp.mbga.jp/",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "effort": "medium"
    },
    {
      "id": "F20",
      "severity": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Browser-enforced defensive headers are absent.",
      "evidence": "The main document lacks clickjacking protection, nosniff, Referrer-Policy and Permissions-Policy in addition to CSP/HSTS.",
      "suggestedFix": "Add frame-ancestors or X-Frame-Options, nosniff, strict referrer policy and a least-privilege Permissions-Policy.",
      "confidence": "high",
      "pathId": "home",
      "url": "https://sp.mbga.jp/",
      "artifacts": [
        "evidence/headers.json"
      ],
      "effort": "small"
    },
    {
      "id": "F21",
      "severity": "medium",
      "principleId": "be-resilient",
      "principleCheckId": "resilient-runtime-behaviour",
      "guidanceId": "stabilize-reactive-state",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Runtime routing is inconsistent across public surfaces.",
      "evidence": "Home stays on sp.mbga.jp, but game/news/ranking routes redirect to a desktop www.mbga.jp template and registration moves to ssl.sp.mbga.jp, losing a consistent responsive context.",
      "suggestedFix": "Unify routing and templates so navigation preserves device-appropriate state and HTTPS origin expectations.",
      "confidence": "high",
      "pathId": "home",
      "url": "https://sp.mbga.jp/",
      "artifacts": [
        "evidence/games-mobile.png",
        "evidence/ranking-mobile.png",
        "evidence/register-probe.json"
      ],
      "effort": "large"
    },
    {
      "id": "F22",
      "severity": "medium",
      "principleId": "be-resilient",
      "principleCheckId": "network-and-http-failure-states",
      "guidanceId": "forms",
      "guidanceCategory": "modern-web-guidance",
      "summary": "The observed failure state is not actionable.",
      "evidence": "A system-error toast appears during normal load with no retry, details, fallback content change or durable status; one analytics request also aborts in the HAR.",
      "suggestedFix": "Provide explicit retry/offline/error states and keep core content/actions usable when secondary requests fail.",
      "confidence": "high",
      "pathId": "home",
      "url": "https://sp.mbga.jp/",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-summary.json"
      ],
      "effort": "small"
    },
    {
      "id": "F23",
      "severity": "medium",
      "principleId": "be-trustworthy",
      "principleCheckId": "safe-commercial-and-account-flows",
      "guidanceId": "forms",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Account creation is presented as available but cannot proceed.",
      "evidence": "The account landing states normal registration is required, yet the registration control points back to the same page and exposes no next step.",
      "suggestedFix": "Make account availability and requirements explicit and provide a reversible, functioning registration/login journey.",
      "confidence": "high",
      "pathId": "register",
      "url": "https://sp.mbga.jp/_reg",
      "artifacts": [
        "evidence/register-mobile.png",
        "evidence/register-probe.json"
      ],
      "effort": "large"
    },
    {
      "id": "F24",
      "severity": "medium",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "deliver-optimized-decorative-images",
      "guidanceCategory": "modern-web-guidance",
      "summary": "The image payload is disproportionate and uses legacy formats.",
      "evidence": "Images account for 1,038,487 of 1,197,051 transferred bytes; 39 of 45 inspected images are PNG/GIF with no modern-format images, and 16 below-fold images are not lazy-loaded.",
      "suggestedFix": "Convert photographic/decorative assets to AVIF/WebP where suitable, consolidate sprites, provide responsive sources, and lazy-load below-fold images.",
      "confidence": "high",
      "pathId": "home",
      "url": "https://sp.mbga.jp/",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/images.json"
      ],
      "effort": "medium"
    },
    {
      "id": "F25",
      "severity": "medium",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "deliver-optimized-decorative-images",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Decorative sprite and banner bytes dominate the mobile page.",
      "evidence": "The five largest image resources alone transfer about 767KiB, mostly legacy @2x sprites; Lighthouse estimates 573KiB image-delivery savings.",
      "suggestedFix": "Set an image/media budget and replace legacy oversized sprites with scoped SVG/modern raster assets loaded only where needed.",
      "confidence": "high",
      "pathId": "home",
      "url": "https://sp.mbga.jp/",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse-summary.json"
      ],
      "effort": "medium"
    }
  ],
  "taskList": [
    {
      "id": "T01",
      "title": "Keep users on a responsive HTTPS route and replace fixed 950px desktop templates with intrinsic/fluid layouts and a valid viewport meta tag.",
      "priority": 1,
      "findingIds": [
        "F05"
      ],
      "guidanceId": "fluid-scaling",
      "status": "open"
    },
    {
      "id": "T02",
      "title": "Provide a clear, functioning registration step or explain eligibility/availability and offer an actionable recovery route.",
      "priority": 2,
      "findingIds": [
        "F08"
      ],
      "guidanceId": "forms",
      "status": "open"
    },
    {
      "id": "T03",
      "title": "Deploy CSP and HSTS, mark HTTPS cookies Secure, use Lax/Strict where possible, and make sensitive cookies HttpOnly.",
      "priority": 3,
      "findingIds": [
        "F19"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T04",
      "title": "Remove user-scalable=no and restrictive maximum-scale so users can zoom; ensure layouts reflow at magnification.",
      "priority": 4,
      "findingIds": [
        "F15"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T05",
      "title": "Use real href URLs for navigation and maintain responsive canonical route templates.",
      "priority": 5,
      "findingIds": [
        "F16"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T06",
      "title": "Add frame-ancestors or X-Frame-Options, nosniff, strict referrer policy and a least-privilege Permissions-Policy.",
      "priority": 6,
      "findingIds": [
        "F20"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T07",
      "title": "Prioritize the LCP asset, shorten render-blocking chains, and validate under mobile throttling.",
      "priority": 7,
      "findingIds": [
        "F10"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T08",
      "title": "Set long immutable cache lifetimes on versioned assets, modernize image delivery, and defer/non-block non-critical scripts and styles.",
      "priority": 8,
      "findingIds": [
        "F11"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "T09",
      "title": "Add one main landmark and ensure every meaningful image/control has an accessible name; use empty alt only for decoration.",
      "priority": 9,
      "findingIds": [
        "F13"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T10",
      "title": "Use a darker link color or lighter surface and retest all footer states.",
      "priority": 10,
      "findingIds": [
        "F14"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T11",
      "title": "Use HTTPS canonicals, eliminate host/protocol downgrade redirects, and publish a reachable sitemap consistent with robots.",
      "priority": 11,
      "findingIds": [
        "F17"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T12",
      "title": "Unify routing and templates so navigation preserves device-appropriate state and HTTPS origin expectations.",
      "priority": 12,
      "findingIds": [
        "F21"
      ],
      "guidanceId": "stabilize-reactive-state",
      "status": "open"
    },
    {
      "id": "T13",
      "title": "Provide explicit retry/offline/error states and keep core content/actions usable when secondary requests fail.",
      "priority": 13,
      "findingIds": [
        "F22"
      ],
      "guidanceId": "forms",
      "status": "open"
    },
    {
      "id": "T14",
      "title": "Make account availability and requirements explicit and provide a reversible, functioning registration/login journey.",
      "priority": 14,
      "findingIds": [
        "F23"
      ],
      "guidanceId": "forms",
      "status": "open"
    },
    {
      "id": "T15",
      "title": "Convert photographic/decorative assets to AVIF/WebP where suitable, consolidate sprites, provide responsive sources, and lazy-load below-fold images.",
      "priority": 15,
      "findingIds": [
        "F24"
      ],
      "guidanceId": "deliver-optimized-decorative-images",
      "status": "open"
    },
    {
      "id": "T16",
      "title": "Set an image/media budget and replace legacy oversized sprites with scoped SVG/modern raster assets loaded only where needed.",
      "priority": 16,
      "findingIds": [
        "F25"
      ],
      "guidanceId": "deliver-optimized-decorative-images",
      "status": "open"
    },
    {
      "id": "T17",
      "title": "Use container queries and intrinsic card grids so reused listings adapt to their available inline size.",
      "priority": 17,
      "findingIds": [
        "F06"
      ],
      "guidanceId": "size-aware-styling",
      "status": "open"
    },
    {
      "id": "T18",
      "title": "Increase interactive target boxes to at least 24px minimum and preferably about 44px without shrinking text.",
      "priority": 18,
      "findingIds": [
        "F07"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T19",
      "title": "Replace the generic toast with contextual status and a retry/dismiss path; preserve the user’s location and input.",
      "priority": 19,
      "findingIds": [
        "F09"
      ],
      "guidanceId": "forms",
      "status": "open"
    },
    {
      "id": "T20",
      "title": "Declare color-scheme and provide preference-driven dark surface, text, icon and browser-chrome colors.",
      "priority": 20,
      "findingIds": [
        "F01"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T21",
      "title": "Add forced-colors/prefers-contrast adaptations and preserve control boundaries and legible text.",
      "priority": 21,
      "findingIds": [
        "F02"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T22",
      "title": "Use same-document or cross-document View Transitions for meaningful route/state changes, with reduced-motion handling.",
      "priority": 22,
      "findingIds": [
        "F03"
      ],
      "guidanceId": "same-document-transitions",
      "status": "open"
    },
    {
      "id": "T23",
      "title": "Add a lightweight scroll-state-aware header or progress affordance where it helps orientation.",
      "priority": 23,
      "findingIds": [
        "F04"
      ],
      "guidanceId": "shrinking-header-on-scroll",
      "status": "open"
    },
    {
      "id": "T24",
      "title": "Split bundles by surface and remove legacy or unused rules and script paths.",
      "priority": 24,
      "findingIds": [
        "F12"
      ],
      "guidanceId": "identify-heavy-scripts",
      "status": "open"
    },
    {
      "id": "T25",
      "title": "Add accurate Open Graph descriptions and schema.org JSON-LD for the visible WebSite, games and editorial entities.",
      "priority": 25,
      "findingIds": [
        "F18"
      ],
      "guidanceId": "html",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 5,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-19T01-16-33-738Z"
}
