{
  "url": "https://www.xbanxia.cc",
  "auditedAt": "2026-07-19T03:06:32.540Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage-complete agentic audit across four representative templates plus an HTTP failure state.",
  "page": {
    "appType": "mpa",
    "framework": "Server-rendered HTML with jQuery plugins",
    "notes": "Traditional Chinese free-novel catalog and reading site."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "evaluate-probe",
    "layout-metrics",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "heap-summary",
    "lighthouse"
  ],
  "guidanceConsulted": [
    "dark-mode",
    "accessibility",
    "adapt-scrollbar-to-contrast-preferences",
    "same-document-transitions",
    "scrollytelling",
    "physics-based-easing",
    "shrinking-header-on-scroll",
    "anchor-positioning-tab-underline",
    "directional-navigation-transitions",
    "light-dismiss-a-dialog",
    "declarative-dialog-popover-control",
    "complex-shapes",
    "fluid-scaling",
    "size-aware-styling",
    "improve-text-layout-and-legibility",
    "forms",
    "accessible-error-announcement",
    "identify-inp-causes",
    "visually-stable-font-fallbacks",
    "break-up-long-tasks",
    "optimize-image-priority",
    "identify-heavy-scripts",
    "move-dom-element-without-losing-state",
    "css",
    "html",
    "security",
    "privacy",
    "passkeys",
    "flicker-free-client-side-ab-testing",
    "resilient-context-menus-and-nested-dropdowns",
    "persistent-toast-notifications",
    "translator",
    "support-global-calendar-systems",
    "coordinate-global-events",
    "search-hidden-content",
    "autofill-address-form",
    "autofill-payment-form",
    "deliver-optimized-decorative-images",
    "deprioritize-background-fetches",
    "webmcp",
    "language-model",
    "manage-recurring-intervals"
  ],
  "artifacts": [
    {
      "type": "screenshot",
      "path": "evidence/home.png",
      "caption": "home.png",
      "findingIds": [
        "F-05",
        "F-06",
        "F-08",
        "F-20",
        "F-28"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "home mobile.png",
      "condition": "viewport 360x800",
      "findingIds": [
        "F-04",
        "F-05",
        "F-06",
        "F-08",
        "F-09",
        "F-13",
        "F-19",
        "F-20",
        "F-28",
        "F-29"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "home dom.json",
      "findingIds": [
        "F-05",
        "F-06",
        "F-08",
        "F-20",
        "F-28"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-probe.json",
      "caption": "home probe.json",
      "findingIds": [
        "F-05",
        "F-06",
        "F-08",
        "F-20",
        "F-28"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "home dark.png",
      "condition": "prefers-color-scheme: dark",
      "findingIds": [
        "F-01"
      ]
    },
    {
      "type": "other",
      "path": "evidence/css-signals.json",
      "caption": "css signals.json",
      "findingIds": [
        "F-01",
        "F-02",
        "F-03"
      ]
    },
    {
      "type": "other",
      "path": "evidence/preferences-probe.json",
      "caption": "preferences probe.json",
      "findingIds": [
        "F-02",
        "F-03"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/list-mobile.png",
      "caption": "list mobile.png",
      "condition": "viewport 360x800",
      "findingIds": [
        "F-04",
        "F-09"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/book-mobile.png",
      "caption": "book mobile.png",
      "condition": "viewport 360x800",
      "findingIds": [
        "F-04",
        "F-09"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/chapter-mobile.png",
      "caption": "chapter mobile.png",
      "condition": "viewport 360x800",
      "findingIds": [
        "F-04",
        "F-07",
        "F-09",
        "F-23"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/home-mobile-layout.json",
      "caption": "home mobile layout.json",
      "condition": "viewport 360x800",
      "findingIds": [
        "F-04",
        "F-09"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/list-layout.json",
      "caption": "list layout.json",
      "condition": "viewport 360x800",
      "findingIds": [
        "F-04",
        "F-09"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/book-layout.json",
      "caption": "book layout.json",
      "condition": "viewport 360x800",
      "findingIds": [
        "F-04",
        "F-09"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/chapter-layout.json",
      "caption": "chapter layout.json",
      "condition": "viewport 360x800",
      "findingIds": [
        "F-04",
        "F-09"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse.json",
      "caption": "lighthouse.json",
      "findingIds": [
        "F-10",
        "F-12",
        "F-16",
        "F-17",
        "F-18",
        "F-21"
      ]
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "home.har",
      "findingIds": [
        "F-14",
        "F-15",
        "F-30",
        "F-31"
      ]
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "home summary.json",
      "findingIds": [
        "F-14",
        "F-15",
        "F-25",
        "F-30",
        "F-31"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "home trace.json",
      "findingIds": []
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "home trace summary.json",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "headers.json",
      "findingIds": [
        "F-24",
        "F-26"
      ]
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "cookies.json",
      "findingIds": [
        "F-24",
        "F-26"
      ]
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "trackers.json",
      "findingIds": [
        "F-25"
      ]
    },
    {
      "type": "other",
      "path": "evidence/images.json",
      "caption": "images.json",
      "findingIds": [
        "F-13",
        "F-19",
        "F-29"
      ]
    },
    {
      "type": "discoverability",
      "path": "evidence/home-discoverability.json",
      "caption": "home discoverability.json",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-rendered.png",
      "caption": "home discoverability rendered.png",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-crawler.png",
      "caption": "home discoverability crawler.png",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/chapter-discoverability.json",
      "caption": "chapter discoverability.json",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/chapter-discoverability-rendered.png",
      "caption": "chapter discoverability rendered.png",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/chapter-discoverability-crawler.png",
      "caption": "chapter discoverability crawler.png",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/chapter-probe.json",
      "caption": "chapter probe.json",
      "findingIds": [
        "F-07",
        "F-22",
        "F-23"
      ]
    },
    {
      "type": "other",
      "path": "evidence/book-recon.json",
      "caption": "book recon.json",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/404-mobile.png",
      "caption": "404 mobile.png",
      "condition": "viewport 360x800",
      "findingIds": [
        "F-11",
        "F-27"
      ]
    },
    {
      "type": "other",
      "path": "evidence/404-probe.json",
      "caption": "404 probe.json",
      "findingIds": [
        "F-11",
        "F-27"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.json",
      "caption": "heap baseline.json",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/heap-post-valid.json",
      "caption": "heap post valid.json",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/focus-probe.json",
      "caption": "focus probe.json",
      "findingIds": [
        "F-10",
        "F-18"
      ]
    },
    {
      "type": "other",
      "path": "evidence/robots-sitemap.json",
      "caption": "robots sitemap.json",
      "findingIds": [
        "F-22"
      ]
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "secrets.json",
      "findingIds": []
    }
  ],
  "config": {
    "loaded": false
  },
  "coverage": {
    "catalogVersion": "modern-web-guidance@0.0.172",
    "catalogChecksum": "sha256:78ccfdb2d483f4c57d9dafed80fd86c6265585a56457c8dcfddc254b80fb44d7",
    "expected": 58,
    "recorded": 58,
    "judged": 58,
    "blocked": 0,
    "notRun": 0,
    "missing": 0,
    "unknown": 0,
    "duplicates": 0,
    "complete": true
  },
  "checkOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-color-scheme",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "The dark-condition screenshot is pixel-identical to the default screenshot, and the CSS signal probe found no color-scheme, prefers-color-scheme, or light-dark() usage.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/css-signals.json"
      ],
      "findingIds": [
        "F-01"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "Rendered DOM shows TouchSlide autoPlay:true, a 1s translated carousel, and a repeating jQuery interval; the preference probe confirms reduce is active while CSS contains no reduced-motion rule.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/preferences-probe.json",
        "evidence/css-signals.json"
      ],
      "findingIds": [
        "F-02"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "The preference probe matched prefers-contrast: more, but CSS inspection found no prefers-contrast or forced-colors handling; Lighthouse also found low-contrast text.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/preferences-probe.json",
        "evidence/css-signals.json"
      ],
      "findingIds": [
        "F-03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "DOM/CSS inspection across the MPA found no view-transition-name or @view-transition rule on the browse-to-book-to-chapter journey.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/list-mobile.png",
        "evidence/book-mobile.png",
        "evidence/chapter-mobile.png",
        "evidence/home-mobile-layout.json",
        "evidence/list-layout.json",
        "evidence/book-layout.json",
        "evidence/chapter-layout.json"
      ],
      "findingIds": [
        "F-04"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "Rendered source binds $(window).scroll(...) and jQuery animate() for the back-to-top behavior; CSS inspection found no scroll-driven timeline.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home.png",
        "evidence/home-mobile.png",
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F-05"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "Rendered DOM shows TouchSlide autoPlay:true, cloned slides, fixed 1000ms transforms, and numeric li indicators rather than native snap controls.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home.png",
        "evidence/home-mobile.png",
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F-06"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "The source runs a window scroll callback on every scroll to show/hide #gotop2; no scroll-state query or progress affordance exists on long 13,795px chapter pages.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/chapter-mobile.png",
        "evidence/chapter-probe.json"
      ],
      "findingIds": [
        "F-07"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "pass",
      "confidence": "high",
      "method": "DOM overlay inventory and multi-viewport screenshots",
      "evidence": "No tooltip/popover requiring anchored positioning was present; the drawer is assessed separately as a semantic overlay issue.",
      "pathIds": [
        "home",
        "listing",
        "book",
        "chapter"
      ],
      "artifacts": [
        "evidence/home.png",
        "evidence/home-mobile.png",
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "high",
      "method": "Manual journey review and mobile screenshots",
      "evidence": "Breadcrumbs on listing/book pages and clear previous/next chapter links preserve location and direction through the reading journey.",
      "pathIds": [
        "home",
        "book",
        "chapter"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/list-mobile.png",
        "evidence/book-mobile.png",
        "evidence/chapter-mobile.png",
        "evidence/home-mobile-layout.json",
        "evidence/list-layout.json",
        "evidence/book-layout.json",
        "evidence/chapter-layout.json"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "pass",
      "confidence": "high",
      "method": "Load screenshots and DOM overlay inventory",
      "evidence": "No load-time modal, full-viewport interstitial, or consent wall obscured content on any representative path.",
      "pathIds": [
        "home",
        "listing",
        "book",
        "chapter"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/list-mobile.png",
        "evidence/book-mobile.png",
        "evidence/chapter-mobile.png",
        "evidence/home-mobile-layout.json",
        "evidence/list-layout.json",
        "evidence/book-layout.json",
        "evidence/chapter-layout.json"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "DOM shows #simple-menu is a span with no role, name, or keyboard semantics, controlling a cloned #sidr-right div; there is no dialog or popover.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home.png",
        "evidence/home-mobile.png",
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F-08"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "pass",
      "confidence": "high",
      "method": "Visual review across representative paths",
      "evidence": "Mobile screenshots devote most space to books or chapter text; persistent chrome is limited to a compact header and reading-history control.",
      "pathIds": [
        "home",
        "listing",
        "book",
        "chapter"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/list-mobile.png",
        "evidence/book-mobile.png",
        "evidence/chapter-mobile.png",
        "evidence/home-mobile-layout.json",
        "evidence/list-layout.json",
        "evidence/book-layout.json",
        "evidence/chapter-layout.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "pass",
      "confidence": "high",
      "method": "Layout primitive at 360x800 on four templates",
      "evidence": "All four 360x800 layout captures report scrollWidth=clientWidth=360 and zero horizontal overflow; viewport meta is present.",
      "pathIds": [
        "home",
        "listing",
        "book",
        "chapter"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/list-mobile.png",
        "evidence/book-mobile.png",
        "evidence/chapter-mobile.png",
        "evidence/home-mobile-layout.json",
        "evidence/list-layout.json",
        "evidence/book-layout.json",
        "evidence/chapter-layout.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "CSS signal inspection across loaded stylesheets found no @container or container-type usage, despite reused book cards in listing and recommendation layouts.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/list-mobile.png",
        "evidence/book-mobile.png",
        "evidence/chapter-mobile.png",
        "evidence/home-mobile-layout.json",
        "evidence/list-layout.json",
        "evidence/book-layout.json",
        "evidence/chapter-layout.json"
      ],
      "findingIds": [
        "F-09"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "Focusing the first link produced outline-style none; the menu trigger is a non-focusable span. Lighthouse also reports unnamed interactive links.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/focus-probe.json",
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F-10"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "First-viewport screenshots and DOM journey review",
      "evidence": "The homepage immediately presents search and recommendations; book pages present description/chapters; chapter pages present previous/next reading controls.",
      "pathIds": [
        "home",
        "book",
        "chapter"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/list-mobile.png",
        "evidence/book-mobile.png",
        "evidence/chapter-mobile.png",
        "evidence/home-mobile-layout.json",
        "evidence/list-layout.json",
        "evidence/book-layout.json",
        "evidence/chapter-layout.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "pass",
      "confidence": "high",
      "method": "Manual representative journey with screenshots/DOM",
      "evidence": "The browse → book detail → chapter reading journey completed with real crawlable links and readable content, without an auth wall or upsell.",
      "pathIds": [
        "home",
        "book",
        "chapter"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/list-mobile.png",
        "evidence/book-mobile.png",
        "evidence/chapter-mobile.png",
        "evidence/home-mobile-layout.json",
        "evidence/list-layout.json",
        "evidence/book-layout.json",
        "evidence/chapter-layout.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "A representative missing URL displays only “404 Not Found / nginx” with no site navigation, search, explanation, or recovery action.",
      "pathIds": [
        "error-404"
      ],
      "artifacts": [
        "evidence/404-mobile.png",
        "evidence/404-probe.json"
      ],
      "findingIds": [
        "F-11"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "Lighthouse measured CLS 0.187, while LCP was 1.7s and TBT 0ms; CLS above 0.1 is not in the good range.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F-12"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "The images primitive found all 13 homepage images missing width and height attributes; Lighthouse measured CLS 0.187.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F-13"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "high",
      "method": "Trace summary and Lighthouse",
      "evidence": "Trace measured zero long tasks and 0ms TBT; Lighthouse also measured 0ms TBT.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace.json",
        "evidence/home-trace-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "HAR plus DOM confirmation found three synchronous scripts in head (jquery1.42, TouchSlide, jquery.lazyload) without async, defer, or module semantics.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home.har",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F-14"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "Rendered DOM loads jquery1.42 and jquery1.69 plus plugins; HAR shows 213KB script transfer and the 143KB Grow script as the largest request.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home.har",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F-15"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "Images audit found 7 missing alt attributes; Lighthouse failed image-alt and link-name, and the DOM probe found 6 empty links.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F-16"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "Lighthouse measured 2.84:1 for #999 text on #fffffc and also found footer links distinguished only by insufficient color difference.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F-17"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "Lighthouse found an H1-to-H3 heading-order failure and no main landmark; focus probing showed outline-style none.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/focus-probe.json",
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F-18"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "high",
      "method": "Computed font probe and chapter screenshot",
      "evidence": "The chapter uses 18px body text with generous line spacing and a restrained reading width; mobile screenshot shows no clipping.",
      "pathIds": [
        "chapter"
      ],
      "artifacts": [
        "evidence/chapter-mobile.png",
        "evidence/chapter-probe.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "pass",
      "confidence": "high",
      "method": "Viewport metadata, layouts, and DOM media inspection",
      "evidence": "Viewport allows scaling (no user-scalable=no), and all 360px layouts reflow without overflow; audited templates contain no audio/video requiring captions.",
      "pathIds": [
        "home",
        "listing",
        "book",
        "chapter"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/list-mobile.png",
        "evidence/book-mobile.png",
        "evidence/chapter-mobile.png",
        "evidence/home-mobile-layout.json",
        "evidence/list-layout.json",
        "evidence/book-layout.json",
        "evidence/chapter-layout.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse runtime audit",
      "evidence": "Lighthouse errors-in-console audit passed with no captured items.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "DOM confirms HTML doctype/UTF-8, but all 13 audited images omit dimensions and all are legacy JPG; Lighthouse also reports a low-resolution search icon.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F-19"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "Rendered source confirms jquery1.42.min.js and jquery1.69.js on the same page, plus old TouchSlide/sidr/lazyload plugins, although Lighthouse saw no runtime deprecations or console errors.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home.png",
        "evidence/home-mobile.png",
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F-20"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "pass",
      "confidence": "high",
      "method": "DOM and discoverability primitives",
      "evidence": "Homepage and chapter have descriptive titles and meta descriptions; raw HTML retains both without JavaScript.",
      "pathIds": [
        "home",
        "listing",
        "book",
        "chapter"
      ],
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/home-discoverability-rendered.png",
        "evidence/home-discoverability-crawler.png",
        "evidence/chapter-discoverability.json",
        "evidence/chapter-discoverability-rendered.png",
        "evidence/chapter-discoverability-crawler.png"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "Lighthouse failed crawlable-anchors for javascript:void(0), and found unnamed # carousel/history links; DOM shows many empty href=\"#\" links.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F-21"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "The homepage has no canonical; the HTTPS chapter declares an HTTP canonical; /sitemap.xml returns 404, while robots.txt contains only User-agent: * and pages otherwise return 200.",
      "pathIds": [
        "chapter"
      ],
      "artifacts": [
        "evidence/robots-sitemap.json",
        "evidence/chapter-probe.json"
      ],
      "findingIds": [
        "F-22"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "DOM probes found zero JSON-LD and zero Open Graph tags on homepage/chapter despite visible book/chapter entities.",
      "pathIds": [
        "chapter"
      ],
      "artifacts": [
        "evidence/chapter-mobile.png",
        "evidence/chapter-probe.json"
      ],
      "findingIds": [
        "F-23"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "Headers evidence confirms HTTPS and HSTS but no CSP, X-Content-Type-Options, clickjacking protection, or Permissions-Policy.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "F-24"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "Tracker/HAR evidence records 16 third-party requests and 239KB transferred, including Grow and Skimresources; this is 39% of total transfer. No cookies were set on initial load.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/trackers.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F-25"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon-based applicability judgement",
      "evidence": "The public catalog has no authentication flow and did not request notification/geolocation permissions on load; modern-auth requirements are not applicable.",
      "pathIds": [
        "home",
        "listing",
        "book",
        "chapter"
      ],
      "reason": "The public catalog has no authentication flow and did not request notification/geolocation permissions on load; modern-auth requirements are not applicable."
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "Headers evidence shows no CSP frame-ancestors/X-Frame-Options, no Permissions-Policy, and no X-Content-Type-Options; Referrer-Policy and HSTS are present.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "F-26"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "high",
      "method": "Raw HTML vs rendered discoverability comparison",
      "evidence": "Discoverability captures show 100% content visibility without JavaScript on homepage and chapter, including title/H1/description.",
      "pathIds": [
        "home",
        "listing",
        "book",
        "chapter"
      ],
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/home-discoverability-rendered.png",
        "evidence/home-discoverability-crawler.png",
        "evidence/chapter-discoverability.json",
        "evidence/chapter-discoverability-rendered.png",
        "evidence/chapter-discoverability-crawler.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "high",
      "method": "Repeated drawer interaction, layouts, Lighthouse console audit",
      "evidence": "The mobile drawer opened/closed repeatedly and representative pages rendered without clipped horizontal content; no runtime errors were captured.",
      "pathIds": [
        "home",
        "listing",
        "book",
        "chapter"
      ],
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/heap-post-valid.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon-based applicability judgement",
      "evidence": "This is a server-rendered public reading/catalog site, not an installed application; offline installability was judged out of scope while no-JS resilience remains assessed.",
      "pathIds": [
        "home",
        "listing",
        "book",
        "chapter"
      ],
      "reason": "This is a server-rendered public reading/catalog site, not an installed application; offline installability was judged out of scope while no-JS resilience remains assessed."
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "The tested 404 route is a bare nginx response with no navigation, retry, search, or explanation.",
      "pathIds": [
        "error-404"
      ],
      "artifacts": [
        "evidence/404-mobile.png",
        "evidence/404-probe.json"
      ],
      "findingIds": [
        "F-27"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "Pages declare zh or zh-TW, but CSS signal inspection found no logical inline/block properties and no dir declaration; layouts therefore depend on physical directions.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home.png",
        "evidence/home-mobile.png",
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ],
      "findingIds": [
        "F-28"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon-based applicability judgement",
      "evidence": "The representative content contains only an authored publication/update date and no user-locale numbers, currency, duration, calendar, or input requiring dynamic Intl formatting.",
      "pathIds": [
        "home",
        "listing",
        "book",
        "chapter"
      ],
      "reason": "The representative content contains only an authored publication/update date and no user-locale numbers, currency, duration, calendar, or input requiring dynamic Intl formatting."
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon-based applicability judgement",
      "evidence": "No events, appointments, recurring intervals, time-of-day values, or cross-zone coordination exist in the audited catalog/reading flows.",
      "pathIds": [
        "home",
        "listing",
        "book",
        "chapter"
      ],
      "reason": "No events, appointments, recurring intervals, time-of-day values, or cross-zone coordination exist in the audited catalog/reading flows."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "high",
      "method": "Visual journey review across representative paths",
      "evidence": "No consent wall, forced continuity, pricing deception, subscription, or disguised advertisement was encountered in the browse/read journey.",
      "pathIds": [
        "home",
        "book",
        "chapter"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/list-mobile.png",
        "evidence/book-mobile.png",
        "evidence/chapter-mobile.png",
        "evidence/home-mobile-layout.json",
        "evidence/list-layout.json",
        "evidence/book-layout.json",
        "evidence/chapter-layout.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon-based applicability judgement",
      "evidence": "The only form is an optional free-text search with no required or constrained fields, so there is no validation error state to announce.",
      "pathIds": [
        "home",
        "listing",
        "book",
        "chapter"
      ],
      "reason": "The only form is an optional free-text search with no required or constrained fields, so there is no validation error state to announce."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "pass",
      "confidence": "high",
      "method": "DOM form inventory",
      "evidence": "The only input is a book-search field with a descriptive placeholder; no address, payment, account, or identity fields require autofill tokens.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home.png",
        "evidence/home-mobile.png",
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon-based applicability judgement",
      "evidence": "No checkout, subscription, consent, authentication, or account-management flow exists on the audited public reading paths.",
      "pathIds": [
        "home",
        "listing",
        "book",
        "chapter"
      ],
      "reason": "No checkout, subscription, consent, authentication, or account-management flow exists on the audited public reading paths."
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "Images evidence found 13/13 legacy JPGs, 11 missing srcset, 13 missing dimensions, and 2 oversized; images transfer 376KB.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F-29"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "Source starts an autoplay carousel, a permanent 5-second interval, and third-party integrations on load; HAR records 16 third-party requests.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home.har",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F-30"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "Direct inspection using the cited artifact(s)",
      "evidence": "HAR totals 616KB, of which 239KB is third-party and 376KB is images; the largest request is a 143KB third-party script.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home.har",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F-31"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon-based applicability judgement",
      "evidence": "The site exposes public reading content rather than transactional/productivity capabilities; emerging WebMCP tools are not necessary for this scope, and raw content is already crawler-readable.",
      "pathIds": [
        "home",
        "listing",
        "book",
        "chapter"
      ],
      "reason": "The site exposes public reading content rather than transactional/productivity capabilities; emerging WebMCP tools are not necessary for this scope, and raw content is already crawler-readable."
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon-based applicability judgement",
      "evidence": "No summarization, generation, or language workflow is part of the current experience, so on-device inference would not serve an established user task.",
      "pathIds": [
        "home",
        "listing",
        "book",
        "chapter"
      ],
      "reason": "No summarization, generation, or language workflow is part of the current experience, so on-device inference would not serve an established user task."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "medium",
      "method": "Baseline/post heap-summary comparison after repeated drawer interaction",
      "evidence": "After 10 open/close attempts on the real drawer, snapshot size changed from 5.82MB to 6.04MB (+3.7%) with only 27 additional closures; no unbounded growth signal was established.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/heap-post-valid.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "high",
      "method": "Single-state heap-summary review",
      "evidence": "Heap summary reports 5.82MB self size and 117,382 nodes on a content-heavy homepage, proportionate to the rendered catalog and third-party widgets.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/heap-post-valid.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "Before/after heap constructor comparison",
      "evidence": "Neither heap summary lists Detached* among retained top constructors; after repeated drawer use closures rose only 8,608→8,635.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/heap-post-valid.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-01",
        "F-02",
        "F-03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-04",
        "F-05",
        "F-06"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-07"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-08"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-09",
        "F-10"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-11"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-12",
        "F-13",
        "F-14",
        "F-15"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-16",
        "F-17",
        "F-18"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-19",
        "F-20"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-21",
        "F-22",
        "F-23"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-24",
        "F-25",
        "F-26"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F-27"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F-28"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F-29",
        "F-30",
        "F-31"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "The site exposes public reading content rather than transactional/productivity capabilities; emerging WebMCP tools are not necessary for this scope, and raw content is already crawler-readable. No summarization, generation, or language workflow is part of the current experience, so on-device inference would not serve an established user task."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage and search/recommendation entry template; represents global chrome and discovery.",
      "url": "https://www.xbanxia.cc/",
      "conditions": [
        "desktop",
        "viewport 360x800",
        "prefers-color-scheme: dark",
        "prefers-reduced-motion: reduce",
        "prefers-contrast: more",
        "keyboard focus"
      ],
      "result": "issues"
    },
    {
      "id": "listing",
      "description": "Category listing template; represents browsing and repeated book cards.",
      "url": "https://www.xbanxia.cc/list/4_1.html",
      "conditions": [
        "viewport 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "book",
      "description": "Book detail and chapter-index template; represents content detail and entry to reading.",
      "url": "https://www.xbanxia.cc/books/143300.html",
      "conditions": [
        "viewport 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "chapter",
      "description": "Chapter reading template and previous/next journey.",
      "url": "https://www.xbanxia.cc/books/143300/28252478.html",
      "conditions": [
        "viewport 360x800",
        "JavaScript disabled crawler comparison"
      ],
      "result": "issues"
    },
    {
      "id": "error-404",
      "description": "Representative HTTP failure/recovery state.",
      "url": "https://www.xbanxia.cc/definitely-not-a-real-page-404",
      "conditions": [
        "viewport 360x800"
      ],
      "result": "issues"
    }
  ],
  "findings": [
    {
      "id": "F-01",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "guidanceCategory": "user-experience",
      "summary": "The site forces a light palette under the user’s dark preference.",
      "evidence": "The dark-condition screenshot is pixel-identical to the default screenshot, and the CSS signal probe found no color-scheme, prefers-color-scheme, or light-dark() usage.",
      "suggestedFix": "Declare color-scheme and provide dark surface/text tokens with prefers-color-scheme or light-dark().",
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/css-signals.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-02",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-reduced-motion",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "summary": "Autoplay motion has no reduced-motion override.",
      "evidence": "Rendered DOM shows TouchSlide autoPlay:true, a 1s translated carousel, and a repeating jQuery interval; the preference probe confirms reduce is active while CSS contains no reduced-motion rule.",
      "suggestedFix": "Disable autoplay and non-essential transitions inside prefers-reduced-motion: reduce, while retaining manual controls.",
      "artifacts": [
        "evidence/preferences-probe.json",
        "evidence/css-signals.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-03",
      "severity": "low",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-contrast",
      "guidanceId": "adapt-scrollbar-to-contrast-preferences",
      "guidanceCategory": "user-experience",
      "summary": "The fixed palette does not adapt to increased-contrast or forced-colors preferences.",
      "evidence": "The preference probe matched prefers-contrast: more, but CSS inspection found no prefers-contrast or forced-colors handling; Lighthouse also found low-contrast text.",
      "suggestedFix": "Use system colors in forced-colors and strengthen colors under prefers-contrast.",
      "artifacts": [
        "evidence/preferences-probe.json",
        "evidence/css-signals.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-04",
      "severity": "low",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "same-document-transitions",
      "guidanceCategory": "user-experience",
      "summary": "Navigation swaps pages abruptly without View Transitions.",
      "evidence": "DOM/CSS inspection across the MPA found no view-transition-name or @view-transition rule on the browse-to-book-to-chapter journey.",
      "suggestedFix": "Add cross-document View Transitions with a no-motion fallback for navigation continuity.",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/list-mobile.png",
        "evidence/book-mobile.png",
        "evidence/chapter-mobile.png",
        "evidence/home-mobile-layout.json",
        "evidence/list-layout.json",
        "evidence/book-layout.json",
        "evidence/chapter-layout.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-05",
      "severity": "low",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "scroll-driven-animations",
      "guidanceId": "scrollytelling",
      "guidanceCategory": "user-experience",
      "summary": "Scroll behavior is driven by a continuous JavaScript scroll handler.",
      "evidence": "Rendered source binds $(window).scroll(...) and jQuery animate() for the back-to-top behavior; CSS inspection found no scroll-driven timeline.",
      "suggestedFix": "Prefer CSS scroll-state/scroll-driven behavior or an IntersectionObserver rather than continuous scroll work.",
      "artifacts": [
        "evidence/home.png",
        "evidence/home-mobile.png",
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-06",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "physical-gestures",
      "guidanceId": "physics-based-easing",
      "guidanceCategory": "user-experience",
      "summary": "The carousel is a custom autoplaying jQuery/TouchSlide transform with weak platform semantics.",
      "evidence": "Rendered DOM shows TouchSlide autoPlay:true, cloned slides, fixed 1000ms transforms, and numeric li indicators rather than native snap controls.",
      "suggestedFix": "Use an overflow carousel with scroll-snap, semantic controls, and reduced-motion support.",
      "artifacts": [
        "evidence/home.png",
        "evidence/home-mobile.png",
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-07",
      "severity": "low",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "shrinking-header-on-scroll",
      "guidanceCategory": "user-experience",
      "summary": "Scroll-aware chrome is implemented with imperative toggling rather than declarative state.",
      "evidence": "The source runs a window scroll callback on every scroll to show/hide #gotop2; no scroll-state query or progress affordance exists on long 13,795px chapter pages.",
      "suggestedFix": "Use scroll-state/container queries where available and expose a lightweight reading-progress or back-to-top control.",
      "artifacts": [
        "evidence/chapter-mobile.png",
        "evidence/chapter-probe.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-08",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "guidanceCategory": "user-experience",
      "summary": "The mobile navigation drawer uses an inaccessible span and custom div rather than a semantic control/overlay.",
      "evidence": "DOM shows #simple-menu is a span with no role, name, or keyboard semantics, controlling a cloned #sidr-right div; there is no dialog or popover.",
      "suggestedFix": "Use a named button and a dialog/popover with declarative dismiss and managed focus.",
      "artifacts": [
        "evidence/home.png",
        "evidence/home-mobile.png",
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-09",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "guidanceCategory": "user-experience",
      "summary": "Components rely only on page-level responsive CSS, with no container-aware adaptation.",
      "evidence": "CSS signal inspection across loaded stylesheets found no @container or container-type usage, despite reused book cards in listing and recommendation layouts.",
      "suggestedFix": "Add container queries to reusable card/list components and retain viewport fallbacks.",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/list-mobile.png",
        "evidence/book-mobile.png",
        "evidence/chapter-mobile.png",
        "evidence/home-mobile-layout.json",
        "evidence/list-layout.json",
        "evidence/book-layout.json",
        "evidence/chapter-layout.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-10",
      "severity": "high",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "summary": "Keyboard focus and the menu trigger are not usable across input modalities.",
      "evidence": "Focusing the first link produced outline-style none; the menu trigger is a non-focusable span. Lighthouse also reports unnamed interactive links.",
      "suggestedFix": "Use semantic buttons/links, visible :focus-visible styles, and at least 44px touch targets.",
      "artifacts": [
        "evidence/focus-probe.json",
        "evidence/lighthouse.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-11",
      "severity": "medium",
      "confidence": "high",
      "pathId": "error-404",
      "url": "https://www.xbanxia.cc/",
      "principleId": "support-core-task-success",
      "principleCheckId": "clear-system-state-and-recovery",
      "guidanceId": "accessible-error-announcement",
      "guidanceCategory": "accessibility",
      "summary": "Failure recovery is a raw server dead end.",
      "evidence": "A representative missing URL displays only “404 Not Found / nginx” with no site navigation, search, explanation, or recovery action.",
      "suggestedFix": "Serve a branded 404 with search, home/category links, and preserved site navigation.",
      "artifacts": [
        "evidence/404-mobile.png",
        "evidence/404-probe.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-12",
      "severity": "high",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "identify-inp-causes",
      "guidanceCategory": "performance",
      "summary": "Measured layout stability misses the good Core Web Vitals range.",
      "evidence": "Lighthouse measured CLS 0.187, while LCP was 1.7s and TBT 0ms; CLS above 0.1 is not in the good range.",
      "suggestedFix": "Reserve all image/banner dimensions and identify the Lighthouse shift sources.",
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-13",
      "severity": "high",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "visual-stability",
      "guidanceId": "visually-stable-font-fallbacks",
      "guidanceCategory": "user-experience",
      "summary": "Images do not reserve intrinsic space.",
      "evidence": "The images primitive found all 13 homepage images missing width and height attributes; Lighthouse measured CLS 0.187.",
      "suggestedFix": "Set width/height or aspect-ratio for every image and carousel slot.",
      "artifacts": [
        "evidence/images.json",
        "evidence/home-mobile.png"
      ],
      "effort": "small"
    },
    {
      "id": "F-14",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-image-priority",
      "guidanceCategory": "performance",
      "summary": "Legacy parser-blocking scripts delay delivery unnecessarily.",
      "evidence": "HAR plus DOM confirmation found three synchronous scripts in head (jquery1.42, TouchSlide, jquery.lazyload) without async, defer, or module semantics.",
      "suggestedFix": "Remove unnecessary libraries and defer remaining non-critical scripts; keep critical CSS small.",
      "artifacts": [
        "evidence/home.har",
        "evidence/home-summary.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-15",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "guidanceCategory": "performance",
      "summary": "The page ships duplicated legacy jQuery and disproportionate third-party JavaScript.",
      "evidence": "Rendered DOM loads jquery1.42 and jquery1.69 plus plugins; HAR shows 213KB script transfer and the 143KB Grow script as the largest request.",
      "suggestedFix": "Consolidate to no dependency or one current library and load optional third parties only after user value/consent.",
      "artifacts": [
        "evidence/home.har",
        "evidence/home-summary.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-16",
      "severity": "high",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "summary": "Important images and interactive links lack accessible names.",
      "evidence": "Images audit found 7 missing alt attributes; Lighthouse failed image-alt and link-name, and the DOM probe found 6 empty links.",
      "suggestedFix": "Give functional images/links accessible names, use alt=\"\" for decorative images, and make the menu a named button.",
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-17",
      "severity": "high",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "summary": "Secondary text and links fail minimum contrast.",
      "evidence": "Lighthouse measured 2.84:1 for #999 text on #fffffc and also found footer links distinguished only by insufficient color difference.",
      "suggestedFix": "Use text colors meeting 4.5:1 and underline inline links rather than relying only on color.",
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-18",
      "severity": "high",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "move-dom-element-without-losing-state",
      "guidanceCategory": "user-experience",
      "summary": "Heading structure, landmarks, and focus visibility are incomplete.",
      "evidence": "Lighthouse found an H1-to-H3 heading-order failure and no main landmark; focus probing showed outline-style none.",
      "suggestedFix": "Use sequential headings, one main landmark, and clear :focus-visible styles; manage focus for the drawer.",
      "artifacts": [
        "evidence/focus-probe.json",
        "evidence/lighthouse.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-19",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "summary": "Asset markup is unsound despite a valid doctype and charset.",
      "evidence": "DOM confirms HTML doctype/UTF-8, but all 13 audited images omit dimensions and all are legacy JPG; Lighthouse also reports a low-resolution search icon.",
      "suggestedFix": "Add intrinsic dimensions, correct responsive sources, and modern formats while preserving aspect ratio.",
      "artifacts": [
        "evidence/images.json",
        "evidence/home-mobile.png"
      ],
      "effort": "small"
    },
    {
      "id": "F-20",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "follow-best-practices",
      "principleCheckId": "browser-platform-hygiene",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "summary": "The page loads multiple obsolete jQuery 1.x builds and legacy plugins.",
      "evidence": "Rendered source confirms jquery1.42.min.js and jquery1.69.js on the same page, plus old TouchSlide/sidr/lazyload plugins, although Lighthouse saw no runtime deprecations or console errors.",
      "suggestedFix": "Remove duplicate/stale libraries and replace plugin behavior with maintained platform features.",
      "artifacts": [
        "evidence/home.png",
        "evidence/home-mobile.png",
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-21",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "be-discoverable",
      "principleCheckId": "crawlable-and-mobile-friendly",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "summary": "Some interactive links are not crawlable or descriptive.",
      "evidence": "Lighthouse failed crawlable-anchors for javascript:void(0), and found unnamed # carousel/history links; DOM shows many empty href=\"#\" links.",
      "suggestedFix": "Use buttons for actions and real descriptive href destinations for navigation.",
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-22",
      "severity": "high",
      "confidence": "high",
      "pathId": "chapter",
      "url": "https://www.xbanxia.cc/books/143300/28252478.html",
      "principleId": "be-discoverable",
      "principleCheckId": "canonical-and-indexing-signals",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "summary": "Canonical and sitemap signals are inconsistent or missing.",
      "evidence": "The homepage has no canonical; the HTTPS chapter declares an HTTP canonical; /sitemap.xml returns 404, while robots.txt contains only User-agent: * and pages otherwise return 200.",
      "suggestedFix": "Publish HTTPS self-canonicals, a sitemap, and consistent robots/indexing signals.",
      "artifacts": [
        "evidence/robots-sitemap.json",
        "evidence/chapter-probe.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-23",
      "severity": "medium",
      "confidence": "high",
      "pathId": "chapter",
      "url": "https://www.xbanxia.cc/books/143300/28252478.html",
      "principleId": "be-discoverable",
      "principleCheckId": "structured-and-shareable-metadata",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "summary": "Book and chapter entities lack structured and social metadata.",
      "evidence": "DOM probes found zero JSON-LD and zero Open Graph tags on homepage/chapter despite visible book/chapter entities.",
      "suggestedFix": "Add accurate Book/CreativeWork JSON-LD and Open Graph metadata matching visible content.",
      "artifacts": [
        "evidence/chapter-mobile.png",
        "evidence/chapter-probe.json"
      ],
      "effort": "medium"
    },
    {
      "id": "F-24",
      "severity": "high",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "summary": "Core browser security headers are missing.",
      "evidence": "Headers evidence confirms HTTPS and HSTS but no CSP, X-Content-Type-Options, clickjacking protection, or Permissions-Policy.",
      "suggestedFix": "Deploy an enforcing CSP, nosniff, frame-ancestors (or X-Frame-Options), and a least-privilege Permissions-Policy.",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-25",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "guidanceCategory": "privacy",
      "summary": "A simple reading page contacts seven third-party origins.",
      "evidence": "Tracker/HAR evidence records 16 third-party requests and 239KB transferred, including Grow and Skimresources; this is 39% of total transfer. No cookies were set on initial load.",
      "suggestedFix": "Audit necessity, defer optional integrations, document them, and gate tracking behind an appropriate consent choice.",
      "artifacts": [
        "evidence/trackers.json",
        "evidence/home-summary.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-26",
      "severity": "high",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "summary": "Clickjacking and browser policy defenses are absent.",
      "evidence": "Headers evidence shows no CSP frame-ancestors/X-Frame-Options, no Permissions-Policy, and no X-Content-Type-Options; Referrer-Policy and HSTS are present.",
      "suggestedFix": "Add frame-ancestors, nosniff, and a restrictive Permissions-Policy; consider Trusted Types when tightening CSP.",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-27",
      "severity": "medium",
      "confidence": "high",
      "pathId": "error-404",
      "url": "https://www.xbanxia.cc/",
      "principleId": "be-resilient",
      "principleCheckId": "network-and-http-failure-states",
      "guidanceId": "persistent-toast-notifications",
      "guidanceCategory": "user-experience",
      "summary": "HTTP failures have no intentional recovery state.",
      "evidence": "The tested 404 route is a bare nginx response with no navigation, retry, search, or explanation.",
      "suggestedFix": "Route HTTP errors through the site shell and provide useful recovery actions.",
      "artifacts": [
        "evidence/404-mobile.png",
        "evidence/404-probe.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-28",
      "severity": "low",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "be-internationalised",
      "principleCheckId": "lang-dir-and-logical-properties",
      "guidanceId": "translator",
      "guidanceCategory": "built-in-ai",
      "summary": "The stylesheet is not writing-mode resilient.",
      "evidence": "Pages declare zh or zh-TW, but CSS signal inspection found no logical inline/block properties and no dir declaration; layouts therefore depend on physical directions.",
      "suggestedFix": "Use logical properties and set/derive dir so translated or bidi content can reflow safely.",
      "artifacts": [
        "evidence/home.png",
        "evidence/home-mobile.png",
        "evidence/home-dom.json",
        "evidence/home-probe.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-29",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "deliver-optimized-decorative-images",
      "guidanceCategory": "user-experience",
      "summary": "Image delivery wastes bytes and lacks responsive formats.",
      "evidence": "Images evidence found 13/13 legacy JPGs, 11 missing srcset, 13 missing dimensions, and 2 oversized; images transfer 376KB.",
      "suggestedFix": "Generate AVIF/WebP responsive sources, size them to display needs, and reserve dimensions.",
      "artifacts": [
        "evidence/images.json",
        "evidence/home-mobile.png"
      ],
      "effort": "small"
    },
    {
      "id": "F-30",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "deprioritize-background-fetches",
      "guidanceCategory": "performance",
      "summary": "Background and autoplay work runs without user request.",
      "evidence": "Source starts an autoplay carousel, a permanent 5-second interval, and third-party integrations on load; HAR records 16 third-party requests.",
      "suggestedFix": "Stop autoplay under user preferences, pause work when hidden, and lazy-load non-essential third parties.",
      "artifacts": [
        "evidence/home.har",
        "evidence/home-summary.json"
      ],
      "effort": "small"
    },
    {
      "id": "F-31",
      "severity": "medium",
      "confidence": "high",
      "pathId": "home",
      "url": "https://www.xbanxia.cc/",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "deliver-optimized-decorative-images",
      "guidanceCategory": "user-experience",
      "summary": "Third-party and decorative media cost is high relative to a text catalog.",
      "evidence": "HAR totals 616KB, of which 239KB is third-party and 376KB is images; the largest request is a 143KB third-party script.",
      "suggestedFix": "Set a text-site budget, defer third parties, and modernize decorative/cover image delivery.",
      "artifacts": [
        "evidence/home.har",
        "evidence/home-summary.json"
      ],
      "effort": "small"
    }
  ],
  "taskList": [
    {
      "id": "T-01",
      "title": "Repair semantics, accessible names, contrast, headings, landmarks, and focus",
      "priority": 1,
      "findingIds": [
        "F-10",
        "F-16",
        "F-17",
        "F-18"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T-02",
      "title": "Reserve and modernize every image asset",
      "priority": 2,
      "findingIds": [
        "F-12",
        "F-13",
        "F-19",
        "F-29"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "T-03",
      "title": "Deploy a complete browser security-header policy",
      "priority": 3,
      "findingIds": [
        "F-24",
        "F-26"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T-04",
      "title": "Remove duplicate legacy jQuery/plugins and defer optional scripts",
      "priority": 4,
      "findingIds": [
        "F-14",
        "F-15",
        "F-20"
      ],
      "guidanceId": "identify-heavy-scripts",
      "status": "open"
    },
    {
      "id": "T-05",
      "title": "Add dark, reduced-motion, and increased-contrast preference support",
      "priority": 5,
      "findingIds": [
        "F-01",
        "F-02",
        "F-03"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T-06",
      "title": "Fix canonical, sitemap, crawlable-link, and entity metadata signals",
      "priority": 6,
      "findingIds": [
        "F-21",
        "F-22",
        "F-23"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T-07",
      "title": "Replace the custom drawer and carousel with semantic platform controls",
      "priority": 7,
      "findingIds": [
        "F-06",
        "F-08"
      ],
      "guidanceId": "declarative-dialog-popover-control",
      "status": "open"
    },
    {
      "id": "T-08",
      "title": "Minimize and defer third-party/background work",
      "priority": 8,
      "findingIds": [
        "F-25",
        "F-30",
        "F-31"
      ],
      "guidanceId": "deprioritize-background-fetches",
      "status": "open"
    },
    {
      "id": "T-09",
      "title": "Provide a branded, actionable HTTP error experience",
      "priority": 9,
      "findingIds": [
        "F-11",
        "F-27"
      ],
      "guidanceId": "persistent-toast-notifications",
      "status": "open"
    },
    {
      "id": "T-10",
      "title": "Adopt modern responsive, navigation, and transition techniques",
      "priority": 10,
      "findingIds": [
        "F-04",
        "F-05",
        "F-07",
        "F-09",
        "F-28"
      ],
      "guidanceId": "size-aware-styling",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 5,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-19T03-06-32-540Z"
}
