{
  "url": "https://pl.wikipedia.org",
  "auditedAt": "2026-07-20T19:47:49.295Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage-complete representative audit of five public templates and one recovery state.",
  "page": {
    "appType": "mpa",
    "framework": "MediaWiki",
    "notes": "Polish Wikipedia public content site. Representative templates: main page, long article, category listing, search/direct result, login form, and nonexistent-page recovery. Editing, account creation, authenticated preferences, and destructive account actions were not exercised because they require mutation or credentials."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "layout-metrics",
    "evaluate-probe",
    "lighthouse",
    "raw HTTP headers/robots",
    "heap-summary",
    "Modern Web Guidance search/retrieve"
  ],
  "guidanceConsulted": [
    "dark-mode",
    "accessibility",
    "adapt-scrollbar-to-contrast-preferences",
    "same-document-transitions",
    "shrinking-header-on-scroll",
    "fluid-scaling",
    "size-aware-styling",
    "performance",
    "optimize-preload-priority",
    "identify-heavy-scripts",
    "improve-text-layout-and-legibility",
    "html",
    "security",
    "privacy",
    "optimize-image-priority",
    "efficient-background-processing"
  ],
  "artifacts": [
    {
      "type": "screenshot",
      "path": "evidence/article-desktop.png",
      "caption": "desktop evidence for the representative Wikipedia audit."
    },
    {
      "type": "screenshot",
      "path": "evidence/article-dark.png",
      "caption": "dark evidence for the representative Wikipedia audit.",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/article-contrast.png",
      "caption": "contrast evidence for the representative Wikipedia audit.",
      "findingIds": [
        "F02"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/article-mobile.png",
      "caption": "mobile evidence for the representative Wikipedia audit.",
      "findingIds": [
        "F05",
        "F06"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/article-layout.json",
      "caption": "layout evidence for the representative Wikipedia audit.",
      "findingIds": [
        "F04",
        "F05"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/article-mobile-layout.json",
      "caption": "mobileLayout evidence for the representative Wikipedia audit.",
      "findingIds": [
        "F05"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse.json",
      "caption": "lh evidence for the representative Wikipedia audit.",
      "findingIds": [
        "F07",
        "F08",
        "F09",
        "F10",
        "F11",
        "F12",
        "F13",
        "F14",
        "F15",
        "F16",
        "F18",
        "F20"
      ]
    },
    {
      "type": "other",
      "path": "evidence/runtime-probe.json",
      "caption": "runtime evidence for the representative Wikipedia audit.",
      "findingIds": [
        "F03",
        "F06",
        "F07",
        "F16"
      ]
    },
    {
      "type": "other",
      "path": "evidence/response-headers.txt",
      "caption": "headers evidence for the representative Wikipedia audit.",
      "findingIds": [
        "F17",
        "F18",
        "F19"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/login-desktop.png",
      "caption": "login evidence for the representative Wikipedia audit."
    },
    {
      "type": "other",
      "path": "evidence/login-form-probe.json",
      "caption": "loginProbe evidence for the representative Wikipedia audit."
    },
    {
      "type": "screenshot",
      "path": "evidence/error-page.png",
      "caption": "error evidence for the representative Wikipedia audit."
    },
    {
      "type": "screenshot",
      "path": "evidence/search-desktop.png",
      "caption": "search evidence for the representative Wikipedia audit."
    },
    {
      "type": "screenshot",
      "path": "evidence/category-desktop.png",
      "caption": "category evidence for the representative Wikipedia audit."
    },
    {
      "type": "heap",
      "path": "evidence/login-heap-baseline.heapsnapshot",
      "caption": "heap0 evidence for the representative Wikipedia audit."
    },
    {
      "type": "heap",
      "path": "evidence/login-heap-post.heapsnapshot",
      "caption": "heap1 evidence for the representative Wikipedia audit."
    },
    {
      "type": "other",
      "path": "evidence/reduced-motion.json",
      "caption": "reduced evidence for the representative Wikipedia audit."
    },
    {
      "type": "other",
      "path": "evidence/robots.txt",
      "caption": "robots evidence for the representative Wikipedia audit."
    },
    {
      "type": "other",
      "path": "evidence/sitemap.xml",
      "caption": "sitemap evidence for the representative Wikipedia audit."
    },
    {
      "type": "other",
      "path": "evidence/evidence-summary.json",
      "caption": "summary evidence for the representative Wikipedia audit."
    }
  ],
  "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 using the modality named in the linked finding.",
      "evidence": "The dark-condition screenshot is visually identical to the default light surface: white page, near-black text, and light infobox chrome.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-dark.png"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "pass",
      "confidence": "high",
      "method": "Reduced-motion runtime probe",
      "evidence": "Reduced-motion emulation matched true and document.getAnimations() returned an empty list on the article.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/reduced-motion.json"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review using the modality named in the linked finding.",
      "evidence": "The prefers-contrast: more screenshot is pixel-equivalent in visible styling to the default capture, and captured CSS contained no prefers-contrast or forced-colors rule.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-contrast.png"
      ],
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review using the modality named in the linked finding.",
      "evidence": "Runtime/CSS inspection found no view-transition usage, while navigation among home, article, category, search and login is entirely cross-document.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/runtime-probe.json"
      ],
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-template recon.",
      "evidence": "No scroll-linked animation, parallax, carousel, or scrollytelling surface exists on the representative templates, so there is no scroll animation implementation to assess.",
      "reason": "No scroll-linked animation, parallax, carousel, or scrollytelling surface exists on the representative templates, so there is no scroll animation implementation to assess.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "pass",
      "confidence": "high",
      "method": "Visual and runtime inspection",
      "evidence": "Screenshots and runtime inspection show standard browser scrolling/links and no custom pointer-driven gesture layer that fights platform behavior.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-desktop.png"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review using the modality named in the linked finding.",
      "evidence": "The 90,608px article layout has static top chrome and no scroll-state container-query/progress implementation in captured CSS.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-layout.json"
      ],
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-template recon.",
      "evidence": "No tooltip, contextual popover, or viewport-edge floating menu was exposed in the representative read, search, login, category, and error states.",
      "reason": "No tooltip, contextual popover, or viewport-edge floating menu was exposed in the representative read, search, login, category, and error states.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "high",
      "method": "Representative screenshots",
      "evidence": "Article/category/search templates expose descriptive headings, active tab underlines, in-page contents, and clear blue link affordances.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-desktop.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "pass",
      "confidence": "high",
      "method": "Multi-path screenshot review",
      "evidence": "Home, article, category, search, login and error captures load directly into content with no interstitial or obscuring banner.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-desktop.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-template recon.",
      "evidence": "No content-obscuring modal, dialog, picker, or transient popover appears in the exercised states; standard navigation disclosures do not take over the content.",
      "reason": "No content-obscuring modal, dialog, picker, or transient popover appears in the exercised states; standard navigation disclosures do not take over the content.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "pass",
      "confidence": "high",
      "method": "Representative screenshots",
      "evidence": "The article and main page dedicate the viewport to text and reference material; global chrome is compact and secondary.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-desktop.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review using the modality named in the linked finding.",
      "evidence": "At the 360x800 condition the screenshot compresses the full desktop layout into tiny text; layout measured scrollWidth 2,539 CSS px and 1,099px horizontal overflow (desktop capture also measured 1,519px overflow).",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-mobile.png",
        "evidence/article-mobile-layout.json",
        "evidence/article-layout.json"
      ],
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review using the modality named in the linked finding.",
      "evidence": "Captured CSS reported no @container/container-type usage; the large infobox remains desktop-sized and contributes to the scaled mobile presentation.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-mobile.png",
        "evidence/runtime-probe.json"
      ],
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review using the modality named in the linked finding.",
      "evidence": "Lighthouse target-size failed; citation links were measured at 12x12px with 0-3px safe spacing, and the runtime probe listed many visible targets under 24px high.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/runtime-probe.json"
      ],
      "findingIds": [
        "F07"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "First-viewport screenshot review",
      "evidence": "Each template has a specific title and obvious read, search, login, or create action; the Poland article opens directly on content.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-desktop.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "pass",
      "confidence": "high",
      "method": "Search and login walkthrough",
      "evidence": "The search URL resolves directly to the Warszawa article, article links are real URLs, and the login form exposes a single predictable submit flow.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/search-desktop.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "pass",
      "confidence": "high",
      "method": "Error-state screenshot",
      "evidence": "The nonexistent-page state clearly says the article does not exist and offers create, search, sister-project, and home recovery links.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/error-page.png"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review using the modality named in the linked finding.",
      "evidence": "Lighthouse measured LCP 3.4s and FCP 2.7s on the representative Poland article; CLS was 0 and TBT was 0ms.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F08"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse and layout observer",
      "evidence": "Lighthouse measured CLS 0 and the layout observer measured only 0.0045, both within the good range.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-layout.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse and long-task observer",
      "evidence": "Lighthouse measured 0ms TBT; the layout observer saw only two load tasks at 125ms and 63ms on a very large article.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review using the modality named in the linked finding.",
      "evidence": "Lighthouse found render-blocking requests with about 250ms potential savings, a network dependency chain, and about 51KiB of cache-lifetime savings across 48 requests.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review using the modality named in the linked finding.",
      "evidence": "Lighthouse estimated 54KiB unused CSS and 89KiB unused JavaScript on a 697KB transfer.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review using the modality named in the linked finding.",
      "evidence": "Lighthouse/axe reported the main-menu checkbox label as hidden and its aria-labelledby target as hidden/empty, leaving the form control unnamed.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse contrast audit",
      "evidence": "Lighthouse/axe color-contrast audit passed and text remained legible in default and contrast captures.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review using the modality named in the linked finding.",
      "evidence": "Lighthouse/axe found the Poland infobox uses a colspan cell as its caption instead of a caption element, reducing table navigation context for screen readers.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F12"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "high",
      "method": "Desktop article screenshot",
      "evidence": "Desktop article typography uses readable line length, clear serif headings and stable body text without clipping.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-desktop.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "360x800 screenshot/layout plus Lighthouse target-size and viewport audits.",
      "evidence": "User scaling is allowed, but the 360x800 capture scales a desktop-width article to tiny text and Lighthouse finds undersized touch targets.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-mobile.png",
        "evidence/article-mobile-layout.json",
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F05",
        "F07"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse best-practices audit",
      "evidence": "Lighthouse reported no browser console errors.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review using the modality named in the linked finding.",
      "evidence": "Lighthouse found donate-banner__gif without explicit width and height. Although current measured CLS is low, the element has no reserved aspect ratio.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review using the modality named in the linked finding.",
      "evidence": "Lighthouse failed valid-source-maps for large first-party JavaScript; console errors, BFCache, paste and permission-on-load checks passed.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review using the modality named in the linked finding.",
      "evidence": "Lighthouse SEO failed meta-description on the Poland article, while the title was descriptive and unique.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review using the modality named in the linked finding.",
      "evidence": "Lighthouse found five rendered interlanguage anchors with href=javascript:void(0), so crawlers cannot follow those destinations; robots and viewport audits otherwise passed.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/runtime-probe.json"
      ],
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "pass",
      "confidence": "high",
      "method": "Runtime metadata, headers and robots review",
      "evidence": "The page returned HTTP 200, exposed a valid canonical URL, a non-blocking robots meta policy, and Lighthouse passed canonical/robots checks.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/runtime-probe.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "pass",
      "confidence": "high",
      "method": "Runtime metadata probe",
      "evidence": "Runtime inspection found one JSON-LD block and five Open Graph properties describing the article.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/runtime-probe.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review using the modality named in the linked finding.",
      "evidence": "The HTTPS response has HSTS and nosniff, but its CSP script-src includes unsafe-inline and unsafe-eval plus many third-party host wildcards.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/response-headers.txt"
      ],
      "findingIds": [
        "F17"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review using the modality named in the linked finding.",
      "evidence": "Lighthouse reported NetworkProbeLimit and WMF-Uniq on auth.wikimedia.org and intake-analytics.wikimedia.org; response headers also set SameSite=None cookies, including WMF-Uniq with a one-year expiry.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/response-headers.txt"
      ],
      "findingIds": [
        "F18"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse and login-form probe",
      "evidence": "Lighthouse passed notification/geolocation-on-load checks; login uses autocomplete=\"username webauthn\" and current-password, exposing conditional WebAuthn assistance.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/login-form-probe.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review using the modality named in the linked finding.",
      "evidence": "The main response has HSTS, CSP and nosniff but no frame-ancestors/X-Frame-Options, Referrer-Policy, or Permissions-Policy header.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/response-headers.txt"
      ],
      "findingIds": [
        "F19"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "high",
      "method": "Raw HTTP response and rendered DOM",
      "evidence": "The server returned 2,044,082 bytes of complete article HTML with HTTP 200, and article content is present before enhancement rather than in an empty app shell.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/response-headers.txt"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "high",
      "method": "Representative visual/DOM review",
      "evidence": "Read, category, search and login states rendered coherently; no cut-off overlay or blank reactive shell was observed.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/category-desktop.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-template recon.",
      "evidence": "Wikipedia is a public content MPA rather than an installed app flow; offline/installability is contextual and was not treated as a requirement.",
      "reason": "Wikipedia is a public content MPA rather than an installed app flow; offline/installability is contextual and was not treated as a requirement.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "confidence": "high",
      "method": "Error-state walkthrough",
      "evidence": "The nonexistent article route renders an actionable recovery page rather than a blank shell or misleading success state.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/error-page.png"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "pass",
      "confidence": "high",
      "method": "Runtime/CSS and screenshot review",
      "evidence": "The document declares lang=\"pl\" and dir=\"ltr\"; captured CSS includes logical inline/block properties, and the UI exposes 306 language variants.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/runtime-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "pass",
      "confidence": "high",
      "method": "Localized article screenshot",
      "evidence": "Dates, numbers and labels on the representative Polish article are rendered in Polish conventions, and language switching is prominently available.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-desktop.png"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-template recon.",
      "evidence": "The audited templates render encyclopedic content and login/search controls but no time-zone-sensitive scheduling or event flow.",
      "reason": "The audited templates render encyclopedic content and login/search controls but no time-zone-sensitive scheduling or event flow.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "high",
      "method": "Multi-path screenshot review",
      "evidence": "No consent wall, disguised advertising, forced continuity, confirmshaming, or nagging interruption appeared on any exercised path.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-desktop.png"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "pass",
      "confidence": "high",
      "method": "Login and error screenshots",
      "evidence": "The login form uses visible labels, preserves a conventional single-submit flow, and provides password/login help links; the nonexistent-page state offers recovery choices.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/login-desktop.png"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "pass",
      "confidence": "high",
      "method": "Login-form runtime probe",
      "evidence": "Login fields use username webauthn and current-password autocomplete tokens and have associated visible labels.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/login-form-probe.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-template recon.",
      "evidence": "No checkout, subscription, cancellation, or sensitive account-management action was in scope; login itself was inspected under the dedicated auth checks.",
      "reason": "No checkout, subscription, cancellation, or sensitive account-management action was in scope; login itself was inspected under the dedicated auth checks.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse image/network audits",
      "evidence": "Lighthouse passed responsive image sizing and total transfer was 697KB for a very long, image-rich national article; the sole unsized image was an empty lazy donation asset.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Direct artifact review using the modality named in the linked finding.",
      "evidence": "For a text article, Lighthouse identified 143KiB combined unused CSS/JS, about one fifth of the 697KB load.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F20"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse network and screenshot review",
      "evidence": "The 48-request, 697KB load contains no autoplay background video and no third-party media payload dominating the article; visible media supports the encyclopedic content.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-template recon.",
      "evidence": "No declared agent-facing transactional capability or WebMCP surface was present; this emerging capability is optional for a read-oriented encyclopedia.",
      "reason": "No declared agent-facing transactional capability or WebMCP surface was present; this emerging capability is optional for a read-oriented encyclopedia.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-template recon.",
      "evidence": "The read/search experience does not require an on-device inference feature; absence is an emerging opportunity rather than a failure.",
      "reason": "The read/search experience does not require an on-device inference feature; absence is an emerging opportunity rather than a failure.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "high",
      "method": "Baseline/post heap comparison",
      "evidence": "After ten open/close menu cycles, heap nodes decreased from 155,695 to 155,440 and self-size decreased from 10,102,133 to 10,077,479 bytes.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/login-heap-post.heapsnapshot"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "high",
      "method": "Baseline heap summary",
      "evidence": "The login page heap was about 10.1MB across roughly 155k nodes, proportionate to the rendered MediaWiki shell and form.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/login-heap-baseline.heapsnapshot"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "high",
      "method": "Baseline/post heap constructor comparison",
      "evidence": "Repeated menu interaction did not produce total retained growth; closure count changed only from 5,956 to 5,969 while overall nodes and bytes fell.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/login-heap-post.heapsnapshot"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F01",
        "F02"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F05",
        "F06",
        "F07"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F08",
        "F09",
        "F10"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F11",
        "F12",
        "F05",
        "F07"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F13",
        "F14"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F15",
        "F16"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F17",
        "F18",
        "F19"
      ]
    },
    {
      "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": [
        "F20"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "No declared agent-facing transactional capability or WebMCP surface was present; this emerging capability is optional for a read-oriented encyclopedia. The read/search experience does not require an on-device inference feature; absence is an emerging opportunity rather than a failure."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Landing-page template and global navigation; represents homepage content hierarchy and interruption review.",
      "url": "https://pl.wikipedia.org",
      "conditions": [
        "desktop default"
      ],
      "result": "pass"
    },
    {
      "id": "article",
      "description": "Long, image/table-heavy article template and primary reading journey; highest-risk layout, performance, metadata, accessibility and memory surface.",
      "url": "https://pl.wikipedia.org/wiki/Polska",
      "conditions": [
        "desktop default",
        "viewport 360x800",
        "prefers-color-scheme: dark",
        "prefers-contrast: more",
        "prefers-reduced-motion: reduce",
        "keyboard/accessibility via Lighthouse"
      ],
      "result": "issues"
    },
    {
      "id": "category",
      "description": "Category/listing template; represents browse and index navigation.",
      "url": "https://pl.wikipedia.org/wiki/Kategoria:Polska",
      "conditions": [
        "desktop default",
        "viewport 360x800 layout"
      ],
      "result": "pass"
    },
    {
      "id": "search",
      "description": "Search journey using a known entity; represents discovery and direct-result behavior.",
      "url": "https://pl.wikipedia.org/w/index.php?search=Warszawa",
      "conditions": [
        "desktop default",
        "viewport 360x800"
      ],
      "result": "pass"
    },
    {
      "id": "login",
      "description": "Authentication form; represents labels, autofill/WebAuthn tokens, humane input assistance and repeatable menu interaction.",
      "url": "https://pl.wikipedia.org/wiki/Specjalna:Zaloguj",
      "conditions": [
        "desktop default",
        "10x menu toggle heap comparison"
      ],
      "result": "pass"
    },
    {
      "id": "error",
      "description": "Nonexistent article route; represents error messaging and recovery options.",
      "url": "https://pl.wikipedia.org/wiki/Nieistniejaca_strona_audit_987654",
      "conditions": [
        "desktop default"
      ],
      "result": "pass"
    }
  ],
  "findings": [
    {
      "id": "F01",
      "pathId": "article",
      "url": "https://pl.wikipedia.org/wiki/Polska",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "guidanceCategory": "user-experience",
      "severity": "medium",
      "confidence": "high",
      "summary": "System dark preference leaves the article in a light theme",
      "evidence": "The dark-condition screenshot is visually identical to the default light surface: white page, near-black text, and light infobox chrome.",
      "suggestedFix": "Bind the existing theme system to prefers-color-scheme and declare color-scheme so browser and page chrome follow the system default.",
      "effort": "medium",
      "artifacts": [
        "evidence/article-dark.png"
      ]
    },
    {
      "id": "F02",
      "pathId": "article",
      "url": "https://pl.wikipedia.org/wiki/Polska",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-contrast",
      "guidanceId": "adapt-scrollbar-to-contrast-preferences",
      "guidanceCategory": "user-experience",
      "severity": "low",
      "confidence": "high",
      "summary": "High-contrast preference is not reflected in the rendered theme",
      "evidence": "The prefers-contrast: more screenshot is pixel-equivalent in visible styling to the default capture, and captured CSS contained no prefers-contrast or forced-colors rule.",
      "suggestedFix": "Add forced-colors/prefers-contrast adaptations for essential controls and borders while preserving system colors.",
      "effort": "small",
      "artifacts": [
        "evidence/article-contrast.png"
      ]
    },
    {
      "id": "F03",
      "pathId": "article",
      "url": "https://pl.wikipedia.org/wiki/Polska",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "same-document-transitions",
      "guidanceCategory": "user-experience",
      "severity": "low",
      "confidence": "high",
      "summary": "Article and route changes swap abruptly",
      "evidence": "Runtime/CSS inspection found no view-transition usage, while navigation among home, article, category, search and login is entirely cross-document.",
      "suggestedFix": "Use cross-document View Transitions for eligible same-origin navigation, with a reduced-motion fallback.",
      "effort": "medium",
      "artifacts": [
        "evidence/runtime-probe.json"
      ]
    },
    {
      "id": "F04",
      "pathId": "article",
      "url": "https://pl.wikipedia.org/wiki/Polska",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "shrinking-header-on-scroll",
      "guidanceCategory": "user-experience",
      "severity": "low",
      "confidence": "high",
      "summary": "Long articles lack scroll-state-aware orientation chrome",
      "evidence": "The 90,608px article layout has static top chrome and no scroll-state container-query/progress implementation in captured CSS.",
      "suggestedFix": "Add a restrained reading-progress or shrinking-header treatment using scroll-state queries where supported, with a simple fallback.",
      "effort": "medium",
      "artifacts": [
        "evidence/article-layout.json"
      ]
    },
    {
      "id": "F05",
      "pathId": "article",
      "url": "https://pl.wikipedia.org/wiki/Polska",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "responsive-no-horizontal-scroll",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "css",
      "severity": "critical",
      "confidence": "high",
      "summary": "The article is rendered as a scaled desktop canvas on a phone-sized viewport",
      "evidence": "At the 360x800 condition the screenshot compresses the full desktop layout into tiny text; layout measured scrollWidth 2,539 CSS px and 1,099px horizontal overflow (desktop capture also measured 1,519px overflow).",
      "suggestedFix": "Use width=device-width rather than a minimum desktop viewport policy, make infoboxes/tables intrinsically responsive, and allow wide data tables to scroll locally instead of scaling the whole document.",
      "effort": "large",
      "artifacts": [
        "evidence/article-mobile.png",
        "evidence/article-mobile-layout.json",
        "evidence/article-layout.json"
      ]
    },
    {
      "id": "F06",
      "pathId": "article",
      "url": "https://pl.wikipedia.org/wiki/Polska",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "guidanceCategory": "css",
      "severity": "medium",
      "confidence": "high",
      "summary": "Reused content components do not adapt at component level",
      "evidence": "Captured CSS reported no @container/container-type usage; the large infobox remains desktop-sized and contributes to the scaled mobile presentation.",
      "suggestedFix": "Add container queries to infobox and article-layout components so they stack or constrain themselves based on available inline size.",
      "effort": "medium",
      "artifacts": [
        "evidence/article-mobile.png",
        "evidence/runtime-probe.json"
      ]
    },
    {
      "id": "F07",
      "pathId": "article",
      "url": "https://pl.wikipedia.org/wiki/Polska",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Many article links and citations are too small for touch",
      "evidence": "Lighthouse target-size failed; citation links were measured at 12x12px with 0-3px safe spacing, and the runtime probe listed many visible targets under 24px high.",
      "suggestedFix": "Increase the interactive area and spacing of citations and compact links to at least the WCAG/Lighthouse target-size floor without enlarging visible glyphs unnecessarily.",
      "effort": "medium",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/runtime-probe.json"
      ]
    },
    {
      "id": "F08",
      "pathId": "article",
      "url": "https://pl.wikipedia.org/wiki/Polska",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "guidanceCategory": "performance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Largest Contentful Paint is outside the good range in the lab run",
      "evidence": "Lighthouse measured LCP 3.4s and FCP 2.7s on the representative Poland article; CLS was 0 and TBT was 0ms.",
      "suggestedFix": "Prioritise the LCP resource and reduce critical-path latency, then verify LCP below 2.5s under the same Lighthouse profile.",
      "effort": "medium",
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "id": "F09",
      "pathId": "article",
      "url": "https://pl.wikipedia.org/wiki/Polska",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-preload-priority",
      "guidanceCategory": "performance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Render-blocking and cache-lifetime opportunities delay first render",
      "evidence": "Lighthouse found render-blocking requests with about 250ms potential savings, a network dependency chain, and about 51KiB of cache-lifetime savings across 48 requests.",
      "suggestedFix": "Shorten the critical chain, defer non-critical styles/scripts, and assign durable cache lifetimes to immutable assets.",
      "effort": "medium",
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "id": "F10",
      "pathId": "article",
      "url": "https://pl.wikipedia.org/wiki/Polska",
      "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 CSS and JavaScript",
      "evidence": "Lighthouse estimated 54KiB unused CSS and 89KiB unused JavaScript on a 697KB transfer.",
      "suggestedFix": "Split skin and feature bundles by route/capability and defer optional code until the relevant control is used.",
      "effort": "medium",
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "id": "F11",
      "pathId": "article",
      "url": "https://pl.wikipedia.org/wiki/Polska",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "The mobile main-menu checkbox has no usable associated label",
      "evidence": "Lighthouse/axe reported the main-menu checkbox label as hidden and its aria-labelledby target as hidden/empty, leaving the form control unnamed.",
      "suggestedFix": "Use a real button with an accessible name for menu disclosure, or keep the referenced label exposed to the accessibility tree and synchronize expanded state.",
      "effort": "small",
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "id": "F12",
      "pathId": "article",
      "url": "https://pl.wikipedia.org/wiki/Polska",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "medium",
      "confidence": "high",
      "summary": "The article infobox uses a fake table caption",
      "evidence": "Lighthouse/axe found the Poland infobox uses a colspan cell as its caption instead of a caption element, reducing table navigation context for screen readers.",
      "suggestedFix": "Emit a semantic caption for data tables and keep visual styling on that caption rather than a spanning data cell.",
      "effort": "medium",
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "id": "F13",
      "pathId": "article",
      "url": "https://pl.wikipedia.org/wiki/Polska",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "optimize-image-priority",
      "guidanceCategory": "performance",
      "severity": "low",
      "confidence": "high",
      "summary": "A lazy donation image lacks intrinsic dimensions",
      "evidence": "Lighthouse found donate-banner__gif without explicit width and height. Although current measured CLS is low, the element has no reserved aspect ratio.",
      "suggestedFix": "Add width/height or aspect-ratio to reserve the image box before loading.",
      "effort": "trivial",
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "id": "F14",
      "pathId": "article",
      "url": "https://pl.wikipedia.org/wiki/Polska",
      "principleId": "follow-best-practices",
      "principleCheckId": "browser-platform-hygiene",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "severity": "low",
      "confidence": "high",
      "summary": "Large first-party JavaScript lacks valid source maps",
      "evidence": "Lighthouse failed valid-source-maps for large first-party JavaScript; console errors, BFCache, paste and permission-on-load checks passed.",
      "suggestedFix": "Publish production source maps to an appropriately access-controlled endpoint and ensure sourceMappingURL references resolve.",
      "effort": "small",
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "id": "F15",
      "pathId": "article",
      "url": "https://pl.wikipedia.org/wiki/Polska",
      "principleId": "be-discoverable",
      "principleCheckId": "title-and-description",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "Public article pages have no meta description",
      "evidence": "Lighthouse SEO failed meta-description on the Poland article, while the title was descriptive and unique.",
      "suggestedFix": "Generate a concise article-specific meta description from the lead summary.",
      "effort": "small",
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "id": "F16",
      "pathId": "article",
      "url": "https://pl.wikipedia.org/wiki/Polska",
      "principleId": "be-discoverable",
      "principleCheckId": "crawlable-and-mobile-friendly",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "Some interlanguage links use javascript:void(0)",
      "evidence": "Lighthouse found five rendered interlanguage anchors with href=javascript:void(0), so crawlers cannot follow those destinations; robots and viewport audits otherwise passed.",
      "suggestedFix": "Render real destination URLs in href and layer any client-side behavior on top with event handlers.",
      "effort": "medium",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/runtime-probe.json"
      ]
    },
    {
      "id": "F17",
      "pathId": "article",
      "url": "https://pl.wikipedia.org/wiki/Polska",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "severity": "high",
      "confidence": "high",
      "summary": "The CSP permits unsafe inline script and eval across a very broad source list",
      "evidence": "The HTTPS response has HSTS and nosniff, but its CSP script-src includes unsafe-inline and unsafe-eval plus many third-party host wildcards.",
      "suggestedFix": "Move inline code to nonce/hash-authorized scripts, remove unsafe-eval, and narrow allowed origins using report-only rollout before enforcement.",
      "effort": "large",
      "artifacts": [
        "evidence/response-headers.txt"
      ]
    },
    {
      "id": "F18",
      "pathId": "article",
      "url": "https://pl.wikipedia.org/wiki/Polska",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "guidanceCategory": "privacy",
      "severity": "medium",
      "confidence": "high",
      "summary": "Cross-site authentication and analytics set third-party cookies",
      "evidence": "Lighthouse reported NetworkProbeLimit and WMF-Uniq on auth.wikimedia.org and intake-analytics.wikimedia.org; response headers also set SameSite=None cookies, including WMF-Uniq with a one-year expiry.",
      "suggestedFix": "Eliminate non-essential cross-site cookies, partition state where cross-site use is required, and shorten identifiers to the minimum useful lifetime.",
      "effort": "medium",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/response-headers.txt"
      ]
    },
    {
      "id": "F19",
      "pathId": "article",
      "url": "https://pl.wikipedia.org/wiki/Polska",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "severity": "high",
      "confidence": "high",
      "summary": "Clickjacking and privacy-policy response headers are absent",
      "evidence": "The main response has HSTS, CSP and nosniff but no frame-ancestors/X-Frame-Options, Referrer-Policy, or Permissions-Policy header.",
      "suggestedFix": "Add frame-ancestors (or X-Frame-Options fallback), a restrictive Referrer-Policy, and a least-privilege Permissions-Policy.",
      "effort": "small",
      "artifacts": [
        "evidence/response-headers.txt"
      ]
    },
    {
      "id": "F20",
      "pathId": "article",
      "url": "https://pl.wikipedia.org/wiki/Polska",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "efficient-background-processing",
      "guidanceCategory": "performance",
      "severity": "low",
      "confidence": "high",
      "summary": "Unused front-end code creates avoidable transfer and processing",
      "evidence": "For a text article, Lighthouse identified 143KiB combined unused CSS/JS, about one fifth of the 697KB load.",
      "suggestedFix": "Conditionally load editing, donation and advanced skin features and remove unused route-level CSS/JS from the article baseline.",
      "effort": "medium",
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    }
  ],
  "taskList": [
    {
      "id": "T01",
      "title": "Fix the mobile viewport, article reflow, infobox containers and touch targets",
      "priority": 1,
      "findingIds": [
        "F05",
        "F06",
        "F07"
      ],
      "guidanceId": "fluid-scaling",
      "status": "open"
    },
    {
      "id": "T02",
      "title": "Tighten CSP and add missing browser defense/privacy headers",
      "priority": 2,
      "findingIds": [
        "F17",
        "F19"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T03",
      "title": "Repair accessible menu naming and semantic infobox captions",
      "priority": 3,
      "findingIds": [
        "F11",
        "F12"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T04",
      "title": "Reduce LCP and the critical resource chain",
      "priority": 4,
      "findingIds": [
        "F08",
        "F09"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T05",
      "title": "Split unused article CSS/JavaScript and avoid wasteful delivery",
      "priority": 5,
      "findingIds": [
        "F10",
        "F20"
      ],
      "guidanceId": "identify-heavy-scripts",
      "status": "open"
    },
    {
      "id": "T06",
      "title": "Replace javascript interlanguage links and add article descriptions",
      "priority": 6,
      "findingIds": [
        "F15",
        "F16"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T07",
      "title": "Minimise and partition cross-site cookies",
      "priority": 7,
      "findingIds": [
        "F18"
      ],
      "guidanceId": "privacy",
      "status": "open"
    },
    {
      "id": "T08",
      "title": "Honor automatic dark and high-contrast preferences",
      "priority": 8,
      "findingIds": [
        "F01",
        "F02"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T09",
      "title": "Add restrained transition and scroll orientation enhancements",
      "priority": 9,
      "findingIds": [
        "F03",
        "F04"
      ],
      "guidanceId": "same-document-transitions",
      "status": "open"
    },
    {
      "id": "T10",
      "title": "Reserve lazy-image dimensions and publish source maps",
      "priority": 10,
      "findingIds": [
        "F13",
        "F14"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 6,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-20T19-36-31-839Z"
}
