{
  "url": "https://zh.wikipedia.org",
  "auditedAt": "2026-07-19T04:19:20.711Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage-complete audit of five representative public templates/flows. Editing, authenticated contribution, donation/payment, and media-playback flows were not covered because they require state, credentials, or cross-site commitment beyond this public audit.",
  "page": {
    "appType": "mpa",
    "framework": "MediaWiki 1.47 / Vector 2022",
    "notes": "Server-rendered public encyclopaedia. Representative coverage includes portal, article, search/empty, login entry, and missing-content recovery."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "evaluate-probe",
    "layout",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "heap-summary",
    "Lighthouse",
    "curl robots/sitemap"
  ],
  "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",
    "touch target size hover fallback pointer input focus-visible",
    "direct user attention primary action visual hierarchy task success",
    "forms",
    "accessible-error-announcement",
    "identify-inp-causes",
    "visually-stable-font-fallbacks",
    "break-up-long-tasks",
    "optimize-image-priority",
    "identify-heavy-scripts",
    "color contrast WCAG text legibility",
    "move-dom-element-without-losing-state",
    "improve-text-layout-and-legibility",
    "avoid console errors uncaught exceptions",
    "css",
    "html",
    "page title meta description seo",
    "crawlable links viewport meta robots descriptive link text",
    "canonical hreflang http status robots sitemap noindex seo indexing",
    "structured data schema.org json-ld open graph social preview metadata",
    "security",
    "privacy",
    "passkeys",
    "flicker-free-client-side-ab-testing",
    "resilient-context-menus-and-nested-dropdowns",
    "offline fallback service worker web app manifest installable pwa",
    "persistent-toast-notifications",
    "translator",
    "support-global-calendar-systems",
    "coordinate-global-events",
    "custom-button-actions",
    "autofill-address-form",
    "autofill-payment-form",
    "deliver-optimized-decorative-images",
    "deprioritize-background-fetches",
    "webmcp",
    "language-model",
    "memory leak retained heap growth under repeated interaction long single-page-app session",
    "bounded memory footprint javascript heap size page weight proportionate allocations",
    "manage-recurring-intervals"
  ],
  "artifacts": [
    {
      "type": "other",
      "path": "evidence/404-probe.json",
      "caption": "404 probe"
    },
    {
      "type": "screenshot",
      "path": "evidence/404.png",
      "caption": "404"
    },
    {
      "type": "screenshot",
      "path": "evidence/article-discoverability-crawler.png",
      "caption": "article discoverability crawler"
    },
    {
      "type": "screenshot",
      "path": "evidence/article-discoverability-rendered.png",
      "caption": "article discoverability rendered",
      "findingIds": [
        "F016"
      ]
    },
    {
      "type": "discoverability",
      "path": "evidence/article-discoverability.json",
      "caption": "article discoverability"
    },
    {
      "type": "screenshot",
      "path": "evidence/article-high-contrast.png",
      "caption": "article high contrast",
      "condition": "prefers-contrast: more"
    },
    {
      "type": "other",
      "path": "evidence/article-images.json",
      "caption": "article images",
      "findingIds": [
        "F009",
        "F013"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/article-mobile.png",
      "caption": "article mobile",
      "findingIds": [
        "F002",
        "F004"
      ],
      "condition": "viewport: 360x800"
    },
    {
      "type": "other",
      "path": "evidence/article-probe.json",
      "caption": "article probe",
      "findingIds": [
        "F001",
        "F003",
        "F004",
        "F005",
        "F010",
        "F011",
        "F015",
        "F016"
      ]
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "cookies",
      "findingIds": [
        "F012"
      ]
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "headers",
      "findingIds": [
        "F012"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.json",
      "caption": "heap baseline"
    },
    {
      "type": "heap",
      "path": "evidence/heap-post.json",
      "caption": "heap post"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "home dark",
      "findingIds": [
        "F001"
      ],
      "condition": "prefers-color-scheme: dark"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "home desktop",
      "findingIds": [
        "F002",
        "F003"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "home dom"
    },
    {
      "type": "layout",
      "path": "evidence/home-mobile-layout.json",
      "caption": "home mobile layout",
      "findingIds": [
        "F004"
      ],
      "condition": "viewport: 360x800"
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "home mobile",
      "findingIds": [
        "F002",
        "F004"
      ],
      "condition": "viewport: 360x800"
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "home summary",
      "findingIds": [
        "F007"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "home trace summary",
      "findingIds": [
        "F006"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "home trace",
      "findingIds": [
        "F006"
      ]
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "home",
      "findingIds": [
        "F007"
      ]
    },
    {
      "type": "other",
      "path": "evidence/lighthouse-summary.json",
      "caption": "lighthouse summary",
      "findingIds": [
        "F005",
        "F006",
        "F008",
        "F009",
        "F010",
        "F011",
        "F014"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse.json",
      "caption": "lighthouse",
      "findingIds": [
        "F005",
        "F006",
        "F008",
        "F009",
        "F014"
      ]
    },
    {
      "type": "other",
      "path": "evidence/login-probe.json",
      "caption": "login probe"
    },
    {
      "type": "screenshot",
      "path": "evidence/login.png",
      "caption": "login"
    },
    {
      "type": "other",
      "path": "evidence/recon.json",
      "caption": "recon"
    },
    {
      "type": "other",
      "path": "evidence/reduced-motion-probe.json",
      "caption": "reduced motion probe"
    },
    {
      "type": "other",
      "path": "evidence/robots-headers.txt",
      "caption": "robots headers"
    },
    {
      "type": "other",
      "path": "evidence/robots.txt",
      "caption": "robots"
    },
    {
      "type": "screenshot",
      "path": "evidence/search-empty.png",
      "caption": "search empty"
    },
    {
      "type": "screenshot",
      "path": "evidence/search.png",
      "caption": "search"
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "secrets"
    },
    {
      "type": "other",
      "path": "evidence/sitemap-headers.txt",
      "caption": "sitemap headers"
    },
    {
      "type": "other",
      "path": "evidence/sitemap.xml",
      "caption": "sitemap"
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "trackers"
    }
  ],
  "config": {
    "loaded": false
  },
  "coverage": {
    "catalogVersion": "modern-web-guidance@0.0.172",
    "catalogChecksum": "sha256:78ccfdb2d483f4c57d9dafed80fd86c6265585a56457c8dcfddc254b80fb44d7",
    "expected": 58,
    "recorded": 58,
    "judged": 58,
    "blocked": 0,
    "notRun": 0,
    "missing": 0,
    "unknown": 0,
    "duplicates": 0,
    "complete": true
  },
  "checkOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-color-scheme",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review against the check and pinned Modern Web Guidance",
      "evidence": "The screenshot captured with prefers-color-scheme: dark remains a white, light-themed page, despite the CSS feature probe finding color-scheme rules.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/article-probe.json"
      ],
      "findingIds": [
        "F001"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "evaluate under prefers-reduced-motion: reduce found zero active animations and zero nonzero control transitions",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/reduced-motion-probe.json"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "high-contrast screenshot remained readable with visible controls; CSS probe found prefers-contrast/forced-colors support",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-high-contrast.png"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "medium",
      "method": "Direct artifact review against the check and pinned Modern Web Guidance",
      "evidence": "The stylesheet probe found no view-transition usage across the representative article while navigation is a central repeated interaction.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-probe.json"
      ],
      "findingIds": [
        "F015"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "stylesheet probe found no scroll-linked animation and the site uses native document scrolling, avoiding main-thread scroll animation work",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-probe.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "screenshots and DOM show standard browser scrolling and controls with no custom swipe/pointer gesture surface on tested paths",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-probe.json"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "medium",
      "method": "Direct artifact review against the check and pinned Modern Web Guidance",
      "evidence": "The long article screenshot and stylesheet probe show persistent table-of-contents/chrome but no scroll-state container query or scroll progress treatment.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-discoverability-rendered.png",
        "evidence/article-probe.json"
      ],
      "findingIds": [
        "F016"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "tested overlays are centered preference UI or fixed menus with no anchor-dependent tooltip placement requirement observed",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "article has a visible table of contents, headings, selected page tab, skip link, and clear link styling",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-discoverability-rendered.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review against the check and pinned Modern Web Guidance",
      "evidence": "Desktop and mobile screenshots show a large prompt over the homepage/article before interaction. On mobile it occupies the bottom of an already scaled-down viewport.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png",
        "evidence/article-mobile.png"
      ],
      "findingIds": [
        "F002"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review against the check and pinned Modern Web Guidance",
      "evidence": "The prompt is visible in screenshots, while the article DOM probe reports 0 dialog elements and 0 popover elements.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/article-probe.json"
      ],
      "findingIds": [
        "F003"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "article content remains the dominant central surface and optional side chrome can be hidden",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-discoverability-rendered.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review against the check and pinned Modern Web Guidance",
      "evidence": "The DOM reports meta viewport width=1120. The 360x800 layout records clientWidth 1120 and visual scale 0.321, and mobile screenshots show tiny desktop columns rather than reflowed content.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/home-mobile.png",
        "evidence/article-mobile.png",
        "evidence/article-probe.json"
      ],
      "findingIds": [
        "F004"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review against the check and pinned Modern Web Guidance",
      "evidence": "The DOM reports meta viewport width=1120. The 360x800 layout records clientWidth 1120 and visual scale 0.321, and mobile screenshots show tiny desktop columns rather than reflowed content.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/home-mobile.png",
        "evidence/article-mobile.png",
        "evidence/article-probe.json"
      ],
      "findingIds": [
        "F004"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review against the check and pinned Modern Web Guidance",
      "evidence": "Lighthouse reports target-size failures. The focus probe found multiple visible buttons, links, and the search input with outline none and no compensating box shadow.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/lighthouse-summary.json",
        "evidence/article-probe.json"
      ],
      "findingIds": [
        "F005"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "homepage, article, search and login screenshots each expose a descriptive heading and clear next action",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "article reading, exact search redirect, empty search, and login entry were reachable without dead ends",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/search-empty.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "empty search and missing-article paths explain the state and offer search, edit, refresh, and onward links",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/404-probe.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review against the check and pinned Modern Web Guidance",
      "evidence": "Lighthouse performance is 0.58 with FCP 4.2s, LCP 8.8s, Speed Index 5.3s, and TBT 210ms. The separate desktop trace was healthier at LCP 1.68s and TBT 24.81ms, showing a form-factor/network sensitivity.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json",
        "evidence/home-trace.json"
      ],
      "findingIds": [
        "F006"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "layout observer measured CLS 0.0199 and Lighthouse measured 0.0849, both within the good threshold",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review against the check and pinned Modern Web Guidance",
      "evidence": "Lighthouse performance is 0.58 with FCP 4.2s, LCP 8.8s, Speed Index 5.3s, and TBT 210ms. The separate desktop trace was healthier at LCP 1.68s and TBT 24.81ms, showing a form-factor/network sensitivity.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json",
        "evidence/home-trace.json"
      ],
      "findingIds": [
        "F006"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review against the check and pinned Modern Web Guidance",
      "evidence": "HAR captured 54 requests and 1,055,413 transferred bytes. Scripts account for 635,308 bytes, including a 357,929-byte bundle, and three parser-inserted VeryHigh-priority stylesheets are render-blocking candidates.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home.har"
      ],
      "findingIds": [
        "F007"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review against the check and pinned Modern Web Guidance",
      "evidence": "Lighthouse estimates 165 KiB unused JavaScript and 94 KiB unused CSS on the representative article.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F008"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review against the check and pinned Modern Web Guidance",
      "evidence": "Lighthouse fails image-alt, label, and link-name audits. The image probe reports 74 of 85 img elements without alt, including many content images, though some may be decorative.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/lighthouse-summary.json",
        "evidence/article-images.json"
      ],
      "findingIds": [
        "F009"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "Lighthouse accessibility review did not fail color-contrast and the high-contrast screenshot remains legible",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-high-contrast.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review against the check and pinned Modern Web Guidance",
      "evidence": "The focus probe found several buttons, links, and inputs with computed outline none and no visible box-shadow. Lighthouse also reports unnamed links, weakening navigation context.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F010"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review against the check and pinned Modern Web Guidance",
      "evidence": "The DOM reports meta viewport width=1120. The 360x800 layout records clientWidth 1120 and visual scale 0.321, and mobile screenshots show tiny desktop columns rather than reflowed content.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/home-mobile.png",
        "evidence/article-mobile.png",
        "evidence/article-probe.json"
      ],
      "findingIds": [
        "F004"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review against the check and pinned Modern Web Guidance",
      "evidence": "The DOM reports meta viewport width=1120. The 360x800 layout records clientWidth 1120 and visual scale 0.321, and mobile screenshots show tiny desktop columns rather than reflowed content. Lighthouse reports target-size failures. The focus probe found multiple visible buttons, links, and the search input with outline none and no compensating box shadow.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/home-mobile.png",
        "evidence/article-mobile.png",
        "evidence/article-probe.json",
        "evidence/lighthouse.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F004",
        "F005"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "Lighthouse errors-in-console audit scored 1 with an empty error table",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review against the check and pinned Modern Web Guidance",
      "evidence": "The image probe reports 73 below-fold images without loading=lazy, 79 legacy-format images, 3 missing dimensions, 5 missing srcset, and 2 oversized assets.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-images.json"
      ],
      "findingIds": [
        "F013"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review against the check and pinned Modern Web Guidance",
      "evidence": "Lighthouse reports missing source maps for large first-party JavaScript and Chrome inspector issues, lowering best-practices to 0.77.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F014"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review against the check and pinned Modern Web Guidance",
      "evidence": "The article DOM probe reports description null and Lighthouse fails meta-description, although the title is descriptive.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F011"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review against the check and pinned Modern Web Guidance",
      "evidence": "The DOM reports meta viewport width=1120. The 360x800 layout records clientWidth 1120 and visual scale 0.321, and mobile screenshots show tiny desktop columns rather than reflowed content.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/home-mobile.png",
        "evidence/article-mobile.png",
        "evidence/article-probe.json"
      ],
      "findingIds": [
        "F004"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "status 200 content has canonical and 10 hreflang links; robots.txt and sitemap.xml were fetched successfully",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-probe.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "article probe found one JSON-LD block and five Open Graph properties matching visible article content",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-probe.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review against the check and pinned Modern Web Guidance",
      "evidence": "Headers evidence finds CSP with unsafe-inline and unsafe-eval, no frame-ancestors/X-Frame-Options, no response Referrer-Policy, and no Permissions-Policy. Cookie evidence finds a non-Secure zhwikimwuser-sessionId cookie and six SameSite=None cookies.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "F012"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "tracker capture found no known tracker domains; third parties were Wikimedia infrastructure only",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/trackers.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "no permission prompt appeared on load; login uses username webauthn and current-password autocomplete tokens",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/login-probe.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review against the check and pinned Modern Web Guidance",
      "evidence": "Headers evidence finds CSP with unsafe-inline and unsafe-eval, no frame-ancestors/X-Frame-Options, no response Referrer-Policy, and no Permissions-Policy. Cookie evidence finds a non-Secure zhwikimwuser-sessionId cookie and six SameSite=None cookies.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "F012"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "discoverability capture found 100% rendered-content coverage in raw HTML and a fully meaningful crawler view",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-discoverability.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "navigation, preference chrome, search, and recovery states rendered without cut-off desktop overlays or blank runtime states",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/404.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement across representative paths",
      "evidence": "Wikipedia is a public content site rather than an installable app; offline installation was judged outside this representative scope.",
      "reason": "Wikipedia is a public content site rather than an installable app; offline installation was judged outside this representative scope.",
      "pathIds": [
        "home",
        "article",
        "search",
        "login"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "missing content and empty search both provide explicit, actionable recovery rather than a blank page",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/404.png"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "html lang=zh, dir=ltr, 10 hreflang variants, and logical CSS properties were observed",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "pass",
      "confidence": "low",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "Chinese-language article, date, count, and locale variants render in localized notation across tested pages",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement across representative paths",
      "evidence": "The audited reading, search, and login paths expose no scheduled event or user-entered time workflow to test.",
      "reason": "The audited reading, search, and login paths expose no scheduled event or user-entered time workflow to test.",
      "pathIds": [
        "home",
        "article",
        "search",
        "login"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "no ads, forced continuity, confirmshaming, checkout, or coercive consent appeared on any tested path",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/login.png"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "empty-search and missing-content errors use neutral language and give actionable recovery choices",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/search-empty.png"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "login username uses username webauthn and password uses current-password autocomplete with visible labels",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/login-probe.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "login is clearly labelled, offers password recovery and account creation, and does not expose commercial commitments",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/login.png"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review against the check and pinned Modern Web Guidance",
      "evidence": "The image probe reports 73 below-fold images without loading=lazy, 79 legacy-format images, 3 missing dimensions, 5 missing srcset, and 2 oversized assets.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-images.json"
      ],
      "findingIds": [
        "F013"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review against the check and pinned Modern Web Guidance",
      "evidence": "Lighthouse estimates 165 KiB unused JavaScript and 94 KiB unused CSS on the representative article.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F008"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "HAR found no video/audio/autoplay and third-party bytes were Wikimedia-hosted content infrastructure; no known trackers were found",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/home-summary.json"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement across representative paths",
      "evidence": "The emerging WebMCP-style capability check was judged not applicable to these public read/search pages; existing crawler and API access were assessed under discoverability.",
      "reason": "The emerging WebMCP-style capability check was judged not applicable to these public read/search pages; existing crawler and API access were assessed under discoverability.",
      "pathIds": [
        "home",
        "article",
        "search",
        "login"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and applicability judgement across representative paths",
      "evidence": "No user task in the audited reading, search, or login surfaces requires on-device inference.",
      "reason": "No user task in the audited reading, search, or login surfaces requires on-device inference.",
      "pathIds": [
        "home",
        "article",
        "search",
        "login"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "low",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "after 10 repeated menu toggles the heap remained bounded at 23.1 MB with no Detached constructor among top populations; comparison is low-confidence because snapshots used isolated sessions",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/heap-post.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "heap summaries measured 20.2 to 23.1 MB self size for a media-rich portal, proportionate to the tested page",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/heap-baseline.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "Targeted representative-path artifact/probe review",
      "evidence": "baseline and post summaries exposed no Detached constructor among top populations after repeated menu toggles",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/heap-post.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F001"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F015"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F016"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F002",
        "F003"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F004",
        "F005"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F006",
        "F007",
        "F008"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F009",
        "F010",
        "F004",
        "F005"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F013",
        "F014"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F011",
        "F004"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F012"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F013",
        "F008"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "The emerging WebMCP-style capability check was judged not applicable to these public read/search pages; existing crawler and API access were assessed under discoverability. No user task in the audited reading, search, or login surfaces requires on-device inference."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage and portal template, including initial language-variant prompt and primary navigation.",
      "url": "https://zh.wikipedia.org/wiki/Wikipedia:%E9%A6%96%E9%A1%B5",
      "conditions": [
        "desktop",
        "viewport: 360x800",
        "prefers-color-scheme: dark"
      ],
      "result": "issues"
    },
    {
      "id": "article",
      "description": "Long-form encyclopaedia article template, representative of the core reading task.",
      "url": "https://zh.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD",
      "conditions": [
        "desktop",
        "viewport: 360x800",
        "prefers-reduced-motion: reduce",
        "prefers-contrast: more",
        "JavaScript disabled crawler comparison"
      ],
      "result": "issues"
    },
    {
      "id": "search",
      "description": "Search result and empty-result state, representative of content discovery and recovery.",
      "url": "https://zh.wikipedia.org/w/index.php?search=unlikelyqueryzzzz1234&title=Special%3ASearch&ns0=1",
      "conditions": [
        "desktop"
      ],
      "result": "pass"
    },
    {
      "id": "login",
      "description": "Authentication form, representative of account input assistance and a sensitive flow.",
      "url": "https://zh.wikipedia.org/w/index.php?title=Special:UserLogin",
      "conditions": [
        "desktop"
      ],
      "result": "pass"
    },
    {
      "id": "missing",
      "description": "Missing-article state, representative of HTTP/content recovery and onward navigation.",
      "url": "https://zh.wikipedia.org/wiki/WebUpliftDefinitelyMissing404",
      "conditions": [
        "desktop"
      ],
      "result": "pass"
    }
  ],
  "findings": [
    {
      "id": "F001",
      "pathId": "home",
      "url": "https://zh.wikipedia.org/wiki/Wikipedia:%E9%A6%96%E9%A1%B5",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "guidanceCategory": "user-experience",
      "severity": "medium",
      "confidence": "high",
      "summary": "The default experience does not follow the system dark preference.",
      "evidence": "The screenshot captured with prefers-color-scheme: dark remains a white, light-themed page, despite the CSS feature probe finding color-scheme rules.",
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/article-probe.json"
      ],
      "suggestedFix": "Make the automatic theme the fresh-profile default, declare color-scheme: light dark, and ensure all page and community-content surfaces use preference-responsive tokens.",
      "effort": "medium"
    },
    {
      "id": "F002",
      "pathId": "home",
      "url": "https://zh.wikipedia.org/wiki/Wikipedia:%E9%A6%96%E9%A1%B5",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "no-intrusive-interruptions",
      "guidanceId": "light-dismiss-a-dialog",
      "guidanceCategory": "user-experience",
      "severity": "medium",
      "confidence": "high",
      "summary": "A language-variant prompt obscures core content on first load.",
      "evidence": "Desktop and mobile screenshots show a large prompt over the homepage/article before interaction. On mobile it occupies the bottom of an already scaled-down viewport.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png",
        "evidence/article-mobile.png"
      ],
      "suggestedFix": "Move the preference choice to non-blocking chrome or defer it until the user opens language settings; if retained, provide reliable light-dismiss and avoid covering content.",
      "effort": "medium"
    },
    {
      "id": "F003",
      "pathId": "home",
      "url": "https://zh.wikipedia.org/wiki/Wikipedia:%E9%A6%96%E9%A1%B5",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "guidanceCategory": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "The visible modal-like preference prompt is not exposed with a native dialog or popover primitive.",
      "evidence": "The prompt is visible in screenshots, while the article DOM probe reports 0 dialog elements and 0 popover elements.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/article-probe.json"
      ],
      "suggestedFix": "Use dialog for a genuinely modal decision or popover for transient UI, with declarative invocation, focus management, Escape handling, and light-dismiss as appropriate.",
      "effort": "medium"
    },
    {
      "id": "F004",
      "pathId": "article",
      "url": "https://zh.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "responsive-no-horizontal-scroll",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "css",
      "severity": "critical",
      "confidence": "high",
      "summary": "The site forces a 1120 CSS-pixel desktop layout into a 360-pixel mobile viewport.",
      "evidence": "The DOM reports meta viewport width=1120. The 360x800 layout records clientWidth 1120 and visual scale 0.321, and mobile screenshots show tiny desktop columns rather than reflowed content.",
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/home-mobile.png",
        "evidence/article-mobile.png",
        "evidence/article-probe.json"
      ],
      "suggestedFix": "Use width=device-width, initial-scale=1 and reflow Vector/article layouts at narrow widths with intrinsic sizing, wrapping, and collapsible secondary chrome.",
      "effort": "large"
    },
    {
      "id": "F005",
      "pathId": "article",
      "url": "https://zh.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "touch target size hover fallback pointer input focus-visible",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Touch targets and focus presentation are inconsistent.",
      "evidence": "Lighthouse reports target-size failures. The focus probe found multiple visible buttons, links, and the search input with outline none and no compensating box shadow.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/lighthouse-summary.json",
        "evidence/article-probe.json"
      ],
      "suggestedFix": "Provide at least 24 by 24 CSS-pixel targets with adequate spacing and a consistent high-contrast :focus-visible ring on every control.",
      "effort": "medium"
    },
    {
      "id": "F006",
      "pathId": "article",
      "url": "https://zh.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "guidanceCategory": "performance",
      "severity": "high",
      "confidence": "high",
      "summary": "The representative article loads too slowly under Lighthouse mobile conditions.",
      "evidence": "Lighthouse performance is 0.58 with FCP 4.2s, LCP 8.8s, Speed Index 5.3s, and TBT 210ms. The separate desktop trace was healthier at LCP 1.68s and TBT 24.81ms, showing a form-factor/network sensitivity.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json",
        "evidence/home-trace.json"
      ],
      "suggestedFix": "Prioritise the actual LCP resource, shorten critical request chains, and defer nonessential modules until after content and interaction readiness.",
      "effort": "large"
    },
    {
      "id": "F007",
      "pathId": "home",
      "url": "https://zh.wikipedia.org/wiki/Wikipedia:%E9%A6%96%E9%A1%B5",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-script-priority",
      "guidanceCategory": "performance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Critical delivery includes large scripts and render-blocking styles.",
      "evidence": "HAR captured 54 requests and 1,055,413 transferred bytes. Scripts account for 635,308 bytes, including a 357,929-byte bundle, and three parser-inserted VeryHigh-priority stylesheets are render-blocking candidates.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home.har"
      ],
      "suggestedFix": "Split route-specific ResourceLoader modules, defer noncritical scripts, reduce initial stylesheet scope, and ensure only above-the-fold styles and scripts join the critical path.",
      "effort": "large"
    },
    {
      "id": "F008",
      "pathId": "article",
      "url": "https://zh.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "guidanceCategory": "performance",
      "severity": "medium",
      "confidence": "high",
      "summary": "The article ships substantial unused JavaScript and CSS.",
      "evidence": "Lighthouse estimates 165 KiB unused JavaScript and 94 KiB unused CSS on the representative article.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Use ResourceLoader dependency data and coverage to split optional editor, discussion, popup, and gadget code from the reading path; conditionally load it when invoked.",
      "effort": "large"
    },
    {
      "id": "F009",
      "pathId": "article",
      "url": "https://zh.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Some images, controls, and links lack accessible alternatives or names.",
      "evidence": "Lighthouse fails image-alt, label, and link-name audits. The image probe reports 74 of 85 img elements without alt, including many content images, though some may be decorative.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/lighthouse-summary.json",
        "evidence/article-images.json"
      ],
      "suggestedFix": "Give meaningful images contextual alt text, use empty alt only for confirmed decoration, label every form control, and provide discernible text or accessible names for icon links.",
      "effort": "large"
    },
    {
      "id": "F010",
      "pathId": "article",
      "url": "https://zh.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "move-dom-element-without-losing-state",
      "guidanceCategory": "accessibility",
      "severity": "medium",
      "confidence": "high",
      "summary": "Keyboard focus is not consistently visible across interactive chrome.",
      "evidence": "The focus probe found several buttons, links, and inputs with computed outline none and no visible box-shadow. Lighthouse also reports unnamed links, weakening navigation context.",
      "artifacts": [
        "evidence/article-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Centralise :focus-visible styling in Codex/Vector tokens, preserve it through component states, and verify a full keyboard traversal in reading order.",
      "effort": "medium"
    },
    {
      "id": "F011",
      "pathId": "article",
      "url": "https://zh.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD",
      "principleId": "be-discoverable",
      "principleCheckId": "title-and-description",
      "guidanceId": "page title meta description seo",
      "guidanceCategory": "seo",
      "severity": "medium",
      "confidence": "high",
      "summary": "Public article pages omit a meta description.",
      "evidence": "The article DOM probe reports description null and Lighthouse fails meta-description, although the title is descriptive.",
      "artifacts": [
        "evidence/article-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Generate a concise, page-specific meta description from the lead section and keep it aligned with visible content.",
      "effort": "medium"
    },
    {
      "id": "F012",
      "pathId": "home",
      "url": "https://zh.wikipedia.org",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "severity": "high",
      "confidence": "high",
      "summary": "Browser defenses are incomplete and the CSP remains broadly permissive.",
      "evidence": "Headers evidence finds CSP with unsafe-inline and unsafe-eval, no frame-ancestors/X-Frame-Options, no response Referrer-Policy, and no Permissions-Policy. Cookie evidence finds a non-Secure zhwikimwuser-sessionId cookie and six SameSite=None cookies.",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "suggestedFix": "Move toward nonce/hash-based CSP without unsafe-eval, add frame-ancestors, Referrer-Policy and a least-privilege Permissions-Policy, and mark every state-bearing cookie Secure with the narrowest workable SameSite policy.",
      "effort": "large"
    },
    {
      "id": "F013",
      "pathId": "article",
      "url": "https://zh.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "optimize-image-priority",
      "guidanceCategory": "performance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Article media is not consistently lazy-loaded, modern-formatted, or fully dimensioned.",
      "evidence": "The image probe reports 73 below-fold images without loading=lazy, 79 legacy-format images, 3 missing dimensions, 5 missing srcset, and 2 oversized assets.",
      "artifacts": [
        "evidence/article-images.json"
      ],
      "suggestedFix": "Lazy-load below-fold media, preserve explicit dimensions, generate responsive srcset variants, and negotiate AVIF/WebP where source fidelity allows.",
      "effort": "large"
    },
    {
      "id": "F014",
      "pathId": "article",
      "url": "https://zh.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD",
      "principleId": "follow-best-practices",
      "principleCheckId": "browser-platform-hygiene",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "severity": "low",
      "confidence": "high",
      "summary": "Developer-facing browser hygiene is incomplete.",
      "evidence": "Lighthouse reports missing source maps for large first-party JavaScript and Chrome inspector issues, lowering best-practices to 0.77.",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Publish valid production source maps to authorized debugging channels and resolve the concrete Chrome Issues entries in the release pipeline.",
      "effort": "medium"
    },
    {
      "id": "F015",
      "pathId": "article",
      "url": "https://zh.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "cross-document-transitions",
      "guidanceCategory": "user-experience",
      "severity": "low",
      "confidence": "medium",
      "summary": "Article and route changes use abrupt full-document swaps without View Transitions.",
      "evidence": "The stylesheet probe found no view-transition usage across the representative article while navigation is a central repeated interaction.",
      "artifacts": [
        "evidence/article-probe.json"
      ],
      "suggestedFix": "Progressively enhance eligible same-origin article navigation with cross-document View Transitions, while fully respecting reduced motion.",
      "effort": "medium"
    },
    {
      "id": "F016",
      "pathId": "article",
      "url": "https://zh.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "shrinking-header-on-scroll",
      "guidanceCategory": "css",
      "severity": "low",
      "confidence": "medium",
      "summary": "Long-form navigation chrome does not visibly adapt to scroll state.",
      "evidence": "The long article screenshot and stylesheet probe show persistent table-of-contents/chrome but no scroll-state container query or scroll progress treatment.",
      "artifacts": [
        "evidence/article-discoverability-rendered.png",
        "evidence/article-probe.json"
      ],
      "suggestedFix": "Use a progressively enhanced scroll-state query or lightweight progress affordance to keep location clear on very long articles without adding main-thread scroll handlers.",
      "effort": "medium"
    }
  ],
  "taskList": [
    {
      "id": "T001",
      "title": "Replace the fixed 1120 viewport with genuine narrow-screen reflow",
      "priority": 1,
      "findingIds": [
        "F004",
        "F005"
      ],
      "guidanceId": "fluid-scaling",
      "status": "open"
    },
    {
      "id": "T002",
      "title": "Restore accessible names, labels, alt text, and consistent focus",
      "priority": 2,
      "findingIds": [
        "F005",
        "F009",
        "F010"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T003",
      "title": "Improve mobile LCP and split nonessential ResourceLoader payloads",
      "priority": 3,
      "findingIds": [
        "F006",
        "F007",
        "F008"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T004",
      "title": "Harden CSP, browser policies, and cookie attributes",
      "priority": 4,
      "findingIds": [
        "F012"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T005",
      "title": "Make the initial language choice non-blocking and semantic",
      "priority": 5,
      "findingIds": [
        "F002",
        "F003"
      ],
      "guidanceId": "declarative-dialog-popover-control",
      "status": "open"
    },
    {
      "id": "T006",
      "title": "Optimise and lazy-load article media",
      "priority": 6,
      "findingIds": [
        "F013"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "T007",
      "title": "Generate page-specific meta descriptions",
      "priority": 7,
      "findingIds": [
        "F011"
      ],
      "guidanceId": "page title meta description seo",
      "status": "open"
    },
    {
      "id": "T008",
      "title": "Respect automatic dark preference for fresh visitors",
      "priority": 8,
      "findingIds": [
        "F001"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T009",
      "title": "Resolve source-map and Chrome inspector issues",
      "priority": 9,
      "findingIds": [
        "F014"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T010",
      "title": "Progressively enhance article navigation and scroll orientation",
      "priority": 10,
      "findingIds": [
        "F015",
        "F016"
      ],
      "guidanceId": "cross-document-transitions",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 5,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-19T04-19-20-711Z"
}
