{
  "url": "https://pt.wikipedia.org",
  "auditedAt": "2026-07-21T23:23:15.739Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage-complete representative audit of four MediaWiki templates/flows. Excluded authenticated editing/account flows and page archetypes sharing the same Vector/MediaWiki shell.",
  "page": {
    "appType": "mpa",
    "framework": "MediaWiki / Vector 2022",
    "notes": "Server-rendered Portuguese encyclopedia. Article, category, portal and empty-search templates sampled."
  },
  "evidenceUsed": [
    "screenshot",
    "DOM+computed styles",
    "layout metrics",
    "evaluate probes",
    "DevTools trace",
    "HAR",
    "Lighthouse",
    "discoverability raw HTML comparison",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "heap summaries"
  ],
  "guidanceConsulted": [
    "accessibility",
    "accessible-error-announcement",
    "language-detection",
    "language-model",
    "summarizer",
    "translator",
    "css",
    "highlight-text-ranges",
    "css-layout",
    "animated-select-picker",
    "autofill-address-form",
    "autofill-highlight-inputs",
    "autofill-payment-form",
    "autofill-sign-in-form",
    "autofill-sign-up-form",
    "brand-consistent-forms",
    "branded-select-styling",
    "custom-select-picker-layouts",
    "form-fields-automatically-fit-contents",
    "forms",
    "required-field-feedback",
    "rich-media-picker",
    "select-menu-interaction",
    "validate-input-after-interaction",
    "html",
    "passkey-authentication",
    "passkey-conditional-create",
    "passkey-management",
    "passkey-reauthentication",
    "passkey-registration",
    "passkeys",
    "batch-analytics-events",
    "break-up-long-tasks",
    "calculate-total-foreground-time",
    "conditional-async-dependencies",
    "defer-rendering-heavy-content",
    "defer-work-until-scroll-ends",
    "deprioritize-background-fetches",
    "detect-initial-visibility-state",
    "efficient-background-processing",
    "faster-spa-view-transitions",
    "full-session-analytics",
    "identify-heavy-scripts",
    "identify-inp-causes",
    "improve-next-page-load-performance",
    "interactions-in-complex-layouts",
    "optimize-image-priority",
    "optimize-preload-priority",
    "optimize-script-priority",
    "performance",
    "resolution-optimized-pseudo-elements",
    "schedule-tasks-by-priority",
    "sequence-distributed-events",
    "privacy",
    "security",
    "adapt-scrollbar-to-contrast-preferences",
    "anchor-positioning-tab-underline",
    "animate-element-entry-exit",
    "animate-to-from-top-layer",
    "animate-to-intrinsic-sizes",
    "apply-webgl-shaders",
    "calculate-event-differentials",
    "calculate-with-intrinsic-sizes",
    "capture-location-agnostic-data",
    "carousel-slide-effects",
    "carousel-snap-highlights",
    "child-state-based-styling",
    "complex-shapes",
    "component-specific-light-dark-theme",
    "consistent-cross-document-transitions",
    "content-based-styling",
    "coordinate-global-events",
    "cross-document-transitions",
    "customize-scrollbar-color-and-thickness",
    "dark-mode",
    "declarative-button-actions",
    "declarative-dialog-popover-control",
    "deliver-optimized-decorative-images",
    "design-token-reactivity",
    "directional-navigation-transitions",
    "dynamic-sibling-animations",
    "dynamic-sibling-styling",
    "export-html-media-from-canvas",
    "expose-canvas-content-to-browser-features",
    "flicker-free-client-side-ab-testing",
    "fluid-scaling",
    "format-human-readable-durations",
    "group-element-transitions",
    "improve-text-layout-and-legibility",
    "individual-transform-properties",
    "interactive-content-in-3d-scenes",
    "interactive-content-reveal",
    "interest-triggered-action-previews",
    "interest-triggered-tooltips",
    "light-dismiss-a-dialog",
    "manage-recurring-intervals",
    "model-partial-time-concepts",
    "move-dom-element-without-losing-state",
    "navigation-drawer",
    "overflow-clipping-control",
    "parallax-scroll-effects",
    "persistent-app-tours",
    "persistent-toast-notifications",
    "persistent-top-layer-ui",
    "physics-based-easing",
    "platform-controls-dismiss-dialog",
    "position-aware-tooltips",
    "precise-text-alignment",
    "prevent-text-wrapping",
    "pull-to-reveal",
    "reduce-style-repetition",
    "resilient-context-menus-and-nested-dropdowns",
    "same-document-transitions",
    "scroll-entry-exit-effects",
    "scroll-position-aware-elements",
    "scroll-progress-indicator",
    "scroll-snap-realtime-feedback",
    "scroll-snap-state-sync",
    "scroll-target-on-load",
    "scrollability-affordance-hints",
    "scrollytelling",
    "search-hidden-content",
    "shaped-cutouts",
    "shrinking-header-on-scroll",
    "size-aware-styling",
    "soft-edge-content-fade",
    "stabilize-reactive-state",
    "stack-drill-down",
    "style-parent-with-has",
    "support-global-calendar-systems",
    "swipe-to-remove",
    "visually-stable-font-fallbacks",
    "visually-stable-mixed-fonts",
    "visually-texture-content",
    "agentic-forms",
    "agentic-javascript-tools",
    "webmcp"
  ],
  "artifacts": [
    {
      "type": "screenshot",
      "path": "evidence/article-desktop.png",
      "caption": "article desktop",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/article-discoverability-crawler.png",
      "caption": "article discoverability crawler",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/article-discoverability-rendered.png",
      "caption": "article discoverability rendered",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/article-discoverability.json",
      "caption": "article discoverability",
      "findingIds": [
        "F-17",
        "F-22"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/article-dom.json",
      "caption": "article dom",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/article-layout-mobile.json",
      "caption": "article layout mobile",
      "condition": "viewport 360x800",
      "findingIds": [
        "F-05"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/article-mobile.png",
      "caption": "article mobile",
      "condition": "viewport 360x800",
      "findingIds": [
        "F-05",
        "F-07",
        "F-14"
      ]
    },
    {
      "type": "har-summary",
      "path": "evidence/article-summary.json",
      "caption": "article summary",
      "findingIds": [
        "F-09",
        "F-20",
        "F-21"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/article-trace-summary.json",
      "caption": "article trace summary",
      "findingIds": [
        "F-08"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/article-trace.json",
      "caption": "article trace",
      "findingIds": []
    },
    {
      "type": "har",
      "path": "evidence/article.har",
      "caption": "article",
      "findingIds": [
        "F-09",
        "F-21"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/category-desktop.png",
      "caption": "category desktop",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/category-dom.json",
      "caption": "category dom",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/category-layout-mobile.json",
      "caption": "category layout mobile",
      "condition": "viewport 360x800",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/category-mobile.png",
      "caption": "category mobile",
      "condition": "viewport 360x800",
      "findingIds": [
        "F-05"
      ]
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "cookies",
      "findingIds": [
        "F-18"
      ]
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "headers",
      "findingIds": [
        "F-18",
        "F-19"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.heapsnapshot",
      "caption": "heap baseline",
      "findingIds": [
        "F-23"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-post.heapsnapshot",
      "caption": "heap post",
      "findingIds": [
        "F-23"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-contrast-reduced.png",
      "caption": "home contrast reduced",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "home dark",
      "condition": "prefers-color-scheme: dark",
      "findingIds": [
        "F-01"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "home desktop",
      "findingIds": [
        "F-01"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "home dom",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/home-layout-mobile.json",
      "caption": "home layout mobile",
      "condition": "viewport 360x800",
      "findingIds": [
        "F-05"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "home mobile",
      "condition": "viewport 360x800",
      "findingIds": [
        "F-05"
      ]
    },
    {
      "type": "other",
      "path": "evidence/images.json",
      "caption": "images",
      "findingIds": [
        "F-11",
        "F-15",
        "F-20"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse.json",
      "caption": "lighthouse",
      "findingIds": [
        "F-07",
        "F-08",
        "F-09",
        "F-10",
        "F-11",
        "F-12",
        "F-13",
        "F-14",
        "F-15",
        "F-16",
        "F-17",
        "F-22"
      ]
    },
    {
      "type": "other",
      "path": "evidence/probe.json",
      "caption": "probe",
      "findingIds": [
        "F-02",
        "F-03",
        "F-06",
        "F-07",
        "F-11",
        "F-13",
        "F-14",
        "F-17",
        "F-22"
      ]
    },
    {
      "type": "other",
      "path": "evidence/scroll-overlay-probe.json",
      "caption": "scroll overlay probe",
      "findingIds": [
        "F-04"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/search-desktop.png",
      "caption": "search desktop",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/search-dom.json",
      "caption": "search dom",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/search-empty-dom.json",
      "caption": "search empty dom",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/search-empty-layout-mobile.json",
      "caption": "search empty layout mobile",
      "condition": "viewport 360x800",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/search-empty.png",
      "caption": "search empty",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/search-layout-mobile.json",
      "caption": "search layout mobile",
      "condition": "viewport 360x800",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/search-mobile.png",
      "caption": "search mobile",
      "condition": "viewport 360x800",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "secrets",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "trackers",
      "findingIds": []
    }
  ],
  "config": {
    "loaded": false
  },
  "coverage": {
    "catalogVersion": "modern-web-guidance@0.0.172",
    "catalogChecksum": "sha256:78ccfdb2d483f4c57d9dafed80fd86c6265585a56457c8dcfddc254b80fb44d7",
    "expected": 58,
    "recorded": 58,
    "judged": 58,
    "blocked": 0,
    "notRun": 0,
    "missing": 0,
    "unknown": 0,
    "duplicates": 0,
    "complete": true
  },
  "checkOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-color-scheme",
      "status": "issues",
      "confidence": "high",
      "method": "Direct review of evidence/home-dark.png, evidence/home-desktop.png.",
      "evidence": "The dark-condition screenshot is visually identical to the light screenshot, and computed styles report color-scheme: normal with a light body surface.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/home-desktop.png"
      ],
      "findingIds": [
        "F-01"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "pass",
      "confidence": "high",
      "method": "Emulated reduced motion screenshot and live animation probe.",
      "evidence": "Reduced-motion capture plus getAnimations() found no active animation or auto-advance.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Emulated prefers-contrast screenshot.",
      "evidence": "High-contrast preference capture retained visible text and controls.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "Direct review of evidence/probe.json.",
      "evidence": "The live CSS probe found no view-transition usage although the browser supports it.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/probe.json"
      ],
      "findingIds": [
        "F-02"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Live CSS and animation probe.",
      "evidence": "",
      "reason": "No scroll-linked visual motion exists on the representative templates, so there is no implementation to move off-thread."
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Interaction and CSS inspection.",
      "evidence": "",
      "reason": "The reading, category and search templates expose no custom swipe, pull, carousel or snap gesture."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "pass",
      "confidence": "high",
      "method": "Before/after scroll geometry probe.",
      "evidence": "After scrolling 1200px, the table of contents remained at y=72 while the article header moved offscreen.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "issues",
      "confidence": "high",
      "method": "Direct review of evidence/probe.json.",
      "evidence": "The live CSS probe found no anchor-name or position-anchor rules on an interface with multiple menus.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/probe.json"
      ],
      "findingIds": [
        "F-03"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "high",
      "method": "Cross-template screenshot review and scroll probe.",
      "evidence": "Screenshots show active page tabs, selected appearance controls, section hierarchy and persistent table of contents cues.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "pass",
      "confidence": "high",
      "method": "Initial-load screenshots across all paths.",
      "evidence": "No load-time overlay or interstitial obscured any of the four representative pages.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "Direct review of evidence/scroll-overlay-probe.json.",
      "evidence": "The live semantic probe found 0 dialog, 0 popover, and 0 details elements despite menu/disclosure controls in the page chrome.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/scroll-overlay-probe.json"
      ],
      "findingIds": [
        "F-04"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "pass",
      "confidence": "high",
      "method": "Cross-template screenshot review.",
      "evidence": "Article and category desktop screenshots prioritize content, with slim global chrome and no advertising.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "issues",
      "confidence": "high",
      "method": "Direct review of evidence/home-mobile.png, evidence/article-mobile.png, evidence/category-mobile.png, evidence/home-layout-mobile.json, evidence/article-layout-mobile.json.",
      "evidence": "At requested viewport 360x800, every layout capture reports innerWidth/clientWidth 1120 and meta viewport width=1120; mobile screenshots show unreadably small text and controls.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/article-mobile.png",
        "evidence/category-mobile.png",
        "evidence/home-layout-mobile.json",
        "evidence/article-layout-mobile.json"
      ],
      "findingIds": [
        "F-05"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "high",
      "method": "Direct review of evidence/probe.json.",
      "evidence": "The live CSS probe found no @container usage across the article interface.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/probe.json"
      ],
      "findingIds": [
        "F-06"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Direct review of evidence/probe.json, evidence/lighthouse.json, evidence/article-mobile.png.",
      "evidence": "The live probe counted 2,829 rendered targets below 24px in at least one dimension; Lighthouse target-size failed. Keyboard focus was visible.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/probe.json",
        "evidence/lighthouse.json",
        "evidence/article-mobile.png"
      ],
      "findingIds": [
        "F-07"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "First-viewport screenshot review.",
      "evidence": "Homepage, article, category and search screenshots have explicit headings and clear read/search/navigation actions.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "pass",
      "confidence": "high",
      "method": "Four-path navigation and search walkthrough.",
      "evidence": "Article reading, category navigation and search submission all completed without an account wall or dead end.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "pass",
      "confidence": "high",
      "method": "No-result search screenshot and DOM inspection.",
      "evidence": "The no-results search clearly states that no result was produced and preserves the query with controls to retry or refine.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Direct review of evidence/lighthouse.json, evidence/article-trace-summary.json.",
      "evidence": "Lighthouse measured LCP 5.6s (score 0.18), despite a warm desktop trace measuring 808ms, indicating a material mobile/cold-load problem.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/article-trace-summary.json"
      ],
      "findingIds": [
        "F-08"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "high",
      "method": "Layout-shift observers on all representative templates.",
      "evidence": "Layout observer measured CLS 0.00023 on the article and 0 on the other templates.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "high",
      "method": "DevTools trace summary and layout long-task observer.",
      "evidence": "Trace measured one 118.56ms task and 68.56ms TBT, with no sustained long-task pattern.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Direct review of evidence/article-summary.json, evidence/article.har, evidence/lighthouse.json.",
      "evidence": "HAR captured 130 requests and 3,193,306 transferred bytes, including 116 images/2,575,721 bytes; Lighthouse reports 177KiB cache and 150ms render-blocking savings.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-summary.json",
        "evidence/article.har",
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F-09"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Direct review of evidence/lighthouse.json.",
      "evidence": "Lighthouse estimates 49KiB unused CSS and 86KiB unused JavaScript.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F-10"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Direct review of evidence/lighthouse.json, evidence/images.json, evidence/probe.json.",
      "evidence": "Lighthouse failed image-alt and label; the live probe found one unlabelled form control, and the image audit reported many null alt values.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/images.json",
        "evidence/probe.json"
      ],
      "findingIds": [
        "F-11"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Direct review of evidence/lighthouse.json.",
      "evidence": "Lighthouse failed link-in-text-block, showing that links in body text are not distinguishable without color.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F-12"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Direct review of evidence/lighthouse.json, evidence/probe.json.",
      "evidence": "Lighthouse failed table-fake-caption and agent-accessibility-tree. The page otherwise has one main landmark and visible focused-link outline.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/probe.json"
      ],
      "findingIds": [
        "F-13"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "issues",
      "confidence": "high",
      "method": "Mobile screenshots and viewport probe.",
      "evidence": "At 360px the forced 1120px layout renders body text at roughly one-third scale, materially harming reading comfort.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/article-mobile.png",
        "evidence/category-mobile.png",
        "evidence/home-layout-mobile.json",
        "evidence/article-layout-mobile.json"
      ],
      "findingIds": [
        "F-05"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Direct review of evidence/article-mobile.png, evidence/probe.json, evidence/lighthouse.json.",
      "evidence": "The viewport probe returns width=1120 and Lighthouse target-size fails; 360px screenshots render a scaled-down desktop canvas.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-mobile.png",
        "evidence/probe.json",
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F-14"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse runtime/log audit.",
      "evidence": "Lighthouse console-errors audit passed with zero logged errors.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct review of evidence/images.json, evidence/lighthouse.json.",
      "evidence": "Image primitive reports 2 missing-dimension images and Lighthouse unsized-images fails; Lighthouse estimates 96KiB image-delivery savings.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/images.json",
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F-15"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "issues",
      "confidence": "high",
      "method": "Direct review of evidence/lighthouse.json.",
      "evidence": "Lighthouse failed inspector-issues and valid-source-maps, while deprecations, BFCache, permission-on-load and paste checks passed.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F-16"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "issues",
      "confidence": "high",
      "method": "Direct review of evidence/probe.json, evidence/article-discoverability.json, evidence/lighthouse.json.",
      "evidence": "The live probe and discoverability primitive found a descriptive title but no meta description; Lighthouse meta-description failed.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/probe.json",
        "evidence/article-discoverability.json",
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F-17"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "Live metadata/link probe plus Lighthouse SEO.",
      "evidence": "All 4,269 anchors have hrefs and robots allows indexing, but the viewport is fixed to width=1120 rather than mobile-friendly.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/article-mobile.png",
        "evidence/category-mobile.png",
        "evidence/home-layout-mobile.json",
        "evidence/article-layout-mobile.json"
      ],
      "findingIds": [
        "F-05"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "pass",
      "confidence": "high",
      "method": "Discoverability fetch, live metadata probe and Lighthouse SEO.",
      "evidence": "Article returned HTTP 200, canonical matched, robots allowed indexing and Lighthouse canonical/robots/hreflang audits passed.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "pass",
      "confidence": "high",
      "method": "Live metadata probe.",
      "evidence": "The article exposes one JSON-LD block and five Open Graph fields aligned to visible article content.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Direct review of evidence/headers.json, evidence/cookies.json.",
      "evidence": "Headers show CSP with unsafe-inline and unsafe-eval. Cookie evidence shows six Secure cookies all marked SameSite=None.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "F-18"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "pass",
      "confidence": "high",
      "method": "HAR, tracker and secret scans.",
      "evidence": "Tracker scan found no known trackers or analytics domains; third-party origins were Wikimedia infrastructure and no secrets were exposed.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse permission audits and path walkthrough.",
      "evidence": "Lighthouse confirms no notification or geolocation prompt on load; the audited public reading/search flows require no authentication.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Direct review of evidence/headers.json.",
      "evidence": "Header evidence finds no frame-ancestors/X-Frame-Options, Referrer-Policy, or Permissions-Policy, while HSTS and nosniff are present.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/headers.json"
      ],
      "findingIds": [
        "F-19"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "high",
      "method": "Discoverability raw-vs-rendered comparison.",
      "evidence": "Raw server HTML contains 100% of rendered content words and retains title and h1 without JavaScript.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "high",
      "method": "Interaction walkthrough, scroll probe and Lighthouse console audit.",
      "evidence": "Search, navigation and sticky table-of-contents behavior remained coherent in exercised states with no console errors.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Manifest/service-worker probe and site-type judgement.",
      "evidence": "",
      "reason": "Wikipedia is a public content MPA rather than an installable app; offline installation is not required for the audited reading journey."
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "confidence": "high",
      "method": "No-result search state plus discoverability evidence.",
      "evidence": "The search empty state provides an explicit message, retained query and retry/refinement controls; server-rendered pages avoid a blank client shell.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "pass",
      "confidence": "high",
      "method": "Live DOM metadata and screenshots.",
      "evidence": "The Portuguese article declares html lang=pt and dir=ltr and renders localized navigation/content.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "pass",
      "confidence": "medium",
      "method": "Rendered article/home screenshot review.",
      "evidence": "Portuguese labels, numeric separators and article date presentation are localized consistently on sampled templates.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Content and flow inspection.",
      "evidence": "",
      "reason": "The representative encyclopedia reading, category and search paths do not schedule events or expose user-sensitive time-zone calculations."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "high",
      "method": "Cross-template screenshot and flow review.",
      "evidence": "No ads, consent wall, confirmshaming, forced continuity or disguised controls appeared on any sampled path.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "pass",
      "confidence": "high",
      "method": "Search empty-state exercise.",
      "evidence": "The no-results search uses neutral language, preserves the query, and offers advanced-search refinement rather than blaming the user.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "pass",
      "confidence": "high",
      "method": "Live form probe and submitted search state.",
      "evidence": "The only user-entered field in scope is search; it has type=search, an accessible search interface and retained query state.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon of representative public paths.",
      "evidence": "",
      "reason": "No checkout, subscription, payment, consent, or account-management flow is part of the audited public encyclopedia journey."
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct review of evidence/images.json, evidence/article-summary.json.",
      "evidence": "Images evidence reports 80 below-fold images without lazy loading and 98 legacy-format derivatives; HAR attributes 2.58MB to images.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/images.json",
        "evidence/article-summary.json"
      ],
      "findingIds": [
        "F-20"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "pass",
      "confidence": "high",
      "method": "Trace, HAR and tracker scan.",
      "evidence": "Trace showed only one bounded long task and tracker scan found no analytics/background beacon churn.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "Direct review of evidence/article-summary.json, evidence/article.har.",
      "evidence": "The HAR transfers 3.19MB, of which 2.54MB is from upload.wikimedia.org, before the reader scrolls through the long article.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-summary.json",
        "evidence/article.har"
      ],
      "findingIds": [
        "F-21"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "issues",
      "confidence": "high",
      "method": "Direct review of evidence/article-discoverability.json, evidence/lighthouse.json, evidence/probe.json.",
      "evidence": "Discoverability reports 100% raw-HTML coverage and JSON-LD exists, but Lighthouse agent-accessibility-tree fails and no structured agent tool interface was detected.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-discoverability.json",
        "evidence/lighthouse.json",
        "evidence/probe.json"
      ],
      "findingIds": [
        "F-22"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Capability and use-case probe.",
      "evidence": "",
      "reason": "Server-rendered reference content does not need on-device generation or summarization to complete its core reading/search tasks."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "medium",
      "method": "Baseline and post-interaction heap-summary comparison.",
      "evidence": "After ten menu toggles the snapshot delta was +1,427 nodes (+0.36%) and +2.09MB; no unbounded trend or Detached constructor appeared in the retained summary.",
      "pathIds": [
        "article"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "issues",
      "confidence": "high",
      "method": "Direct review of evidence/heap-baseline.heapsnapshot, evidence/heap-post.heapsnapshot.",
      "evidence": "Post-interaction heap summary contains 395,360 nodes and 30,547,712 self-size bytes. Ten menu toggles changed totals by +1,427 nodes and +2,087,663 bytes, without a clear Detached constructor signal.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/heap-baseline.heapsnapshot",
        "evidence/heap-post.heapsnapshot"
      ],
      "findingIds": [
        "F-23"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "Before/after heap constructor comparison.",
      "evidence": "Neither baseline nor post summary exposed a Detached constructor among retained top constructors after ten toggles.",
      "pathIds": [
        "article"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-01"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-02"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-03"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-04"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-05",
        "F-06",
        "F-07"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-08",
        "F-09",
        "F-10"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-11",
        "F-12",
        "F-13",
        "F-05",
        "F-14"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-15",
        "F-16"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-17",
        "F-05"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-18",
        "F-19"
      ]
    },
    {
      "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": [
        "F-20",
        "F-21"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F-22"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-23"
      ]
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Portuguese Wikipedia landing page, representing portal navigation and featured-content discovery.",
      "url": "https://pt.wikipedia.org/wiki/Wikipédia:Página_principal",
      "conditions": [
        "desktop",
        "viewport 360x800",
        "prefers-color-scheme: dark",
        "prefers-reduced-motion: reduce",
        "prefers-contrast: more"
      ],
      "result": "issues"
    },
    {
      "id": "article",
      "description": "Portugal article, representing the primary long-form reading journey and MediaWiki article template.",
      "url": "https://pt.wikipedia.org/wiki/Portugal",
      "conditions": [
        "desktop",
        "viewport 360x800",
        "keyboard focus",
        "no JavaScript crawler",
        "repeated menu interaction"
      ],
      "result": "issues"
    },
    {
      "id": "category",
      "description": "Category:Portugal, representing category/listing navigation.",
      "url": "https://pt.wikipedia.org/wiki/Categoria:Portugal",
      "conditions": [
        "desktop",
        "viewport 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "search-empty",
      "description": "No-results search, representing search form submission, empty state and recovery.",
      "url": "https://pt.wikipedia.org/wiki/Especial:Pesquisar?search=zxqvnotfoundaudit",
      "conditions": [
        "desktop",
        "viewport 360x800"
      ],
      "result": "issues"
    }
  ],
  "findings": [
    {
      "id": "F-01",
      "severity": "high",
      "confidence": "high",
      "summary": "The interface does not follow the system dark-color preference.",
      "evidence": "The dark-condition screenshot is visually identical to the light screenshot, and computed styles report color-scheme: normal with a light body surface.",
      "suggestedFix": "Apply color-scheme: light dark and preference-driven surface/text tokens, while retaining the existing explicit appearance control.",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/home-desktop.png"
      ],
      "effort": "medium",
      "pathId": "home",
      "url": "https://pt.wikipedia.org/wiki/Wikipédia:Página_principal"
    },
    {
      "id": "F-02",
      "severity": "low",
      "confidence": "high",
      "summary": "Page navigations and state changes swap without View Transitions.",
      "evidence": "The live CSS probe found no view-transition usage although the browser supports it.",
      "suggestedFix": "Progressively enhance eligible article and route navigations with same-document or cross-document View Transitions and a non-animated fallback.",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "cross-document-transitions",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/probe.json"
      ],
      "effort": "medium",
      "pathId": "article",
      "url": "https://pt.wikipedia.org/wiki/Portugal"
    },
    {
      "id": "F-03",
      "severity": "low",
      "confidence": "high",
      "summary": "Menus and transient controls do not use CSS anchor positioning.",
      "evidence": "The live CSS probe found no anchor-name or position-anchor rules on an interface with multiple menus.",
      "suggestedFix": "Use CSS anchor positioning and position-try fallbacks for menus/tooltips where edge-aware attachment is needed.",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "anchored-positioning",
      "guidanceId": "position-aware-tooltips",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/probe.json"
      ],
      "effort": "medium",
      "pathId": "article",
      "url": "https://pt.wikipedia.org/wiki/Portugal"
    },
    {
      "id": "F-04",
      "severity": "low",
      "confidence": "high",
      "summary": "Transient/disclosure UI is not built with modern semantic overlay primitives.",
      "evidence": "The live semantic probe found 0 dialog, 0 popover, and 0 details elements despite menu/disclosure controls in the page chrome.",
      "suggestedFix": "Migrate transient menus to popover and suitable disclosures to details, preserving accessible fallback behavior.",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/scroll-overlay-probe.json"
      ],
      "effort": "medium",
      "pathId": "article",
      "url": "https://pt.wikipedia.org/wiki/Portugal"
    },
    {
      "id": "F-05",
      "severity": "critical",
      "confidence": "high",
      "summary": "The site forces a 1120 CSS-pixel viewport on phones, producing a tiny scaled desktop layout.",
      "evidence": "At requested viewport 360x800, every layout capture reports innerWidth/clientWidth 1120 and meta viewport width=1120; mobile screenshots show unreadably small text and controls.",
      "suggestedFix": "Use width=device-width, initial-scale=1 and responsive layout rules so article, category, search and portal templates reflow at the device width.",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "responsive-no-horizontal-scroll",
      "guidanceId": "responsive layout adapt viewport mobile",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/article-mobile.png",
        "evidence/category-mobile.png",
        "evidence/home-layout-mobile.json",
        "evidence/article-layout-mobile.json"
      ],
      "effort": "large",
      "pathId": "home",
      "url": "https://pt.wikipedia.org/wiki/Wikipédia:Página_principal"
    },
    {
      "id": "F-06",
      "severity": "medium",
      "confidence": "high",
      "summary": "Components do not use container-level adaptation.",
      "evidence": "The live CSS probe found no @container usage across the article interface.",
      "suggestedFix": "Add container queries to reusable navigation, infobox, search and content modules that appear in differently sized regions.",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/probe.json"
      ],
      "effort": "large",
      "pathId": "article",
      "url": "https://pt.wikipedia.org/wiki/Portugal"
    },
    {
      "id": "F-07",
      "severity": "high",
      "confidence": "high",
      "summary": "Thousands of links and controls are too small for reliable touch input.",
      "evidence": "The live probe counted 2,829 rendered targets below 24px in at least one dimension; Lighthouse target-size failed. Keyboard focus was visible.",
      "suggestedFix": "Increase target boxes and spacing for dense links and controls, especially at narrow widths, while retaining visible :focus-visible styles.",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/probe.json",
        "evidence/lighthouse.json",
        "evidence/article-mobile.png"
      ],
      "effort": "large",
      "pathId": "article",
      "url": "https://pt.wikipedia.org/wiki/Portugal"
    },
    {
      "id": "F-08",
      "severity": "high",
      "confidence": "high",
      "summary": "Mobile Largest Contentful Paint is slow.",
      "evidence": "Lighthouse measured LCP 5.6s (score 0.18), despite a warm desktop trace measuring 808ms, indicating a material mobile/cold-load problem.",
      "suggestedFix": "Profile the LCP request chain, prioritize the LCP resource, and reduce render-blocking and eager below-fold work.",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/article-trace-summary.json"
      ],
      "effort": "large",
      "pathId": "article",
      "url": "https://pt.wikipedia.org/wiki/Portugal"
    },
    {
      "id": "F-09",
      "severity": "medium",
      "confidence": "high",
      "summary": "The article loads a large eager image set and avoidable blocking/cache cost.",
      "evidence": "HAR captured 130 requests and 3,193,306 transferred bytes, including 116 images/2,575,721 bytes; Lighthouse reports 177KiB cache and 150ms render-blocking savings.",
      "suggestedFix": "Lazy-load below-fold media, tighten cache lifetimes where possible, and reduce the confirmed critical CSS chain.",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-image-priority",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/article-summary.json",
        "evidence/article.har",
        "evidence/lighthouse.json"
      ],
      "effort": "large",
      "pathId": "article",
      "url": "https://pt.wikipedia.org/wiki/Portugal"
    },
    {
      "id": "F-10",
      "severity": "medium",
      "confidence": "high",
      "summary": "The page ships avoidable unused CSS and JavaScript.",
      "evidence": "Lighthouse estimates 49KiB unused CSS and 86KiB unused JavaScript.",
      "suggestedFix": "Split ResourceLoader modules by page capability and defer optional editing/gadget code until requested.",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "conditional-async-dependencies",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "effort": "large",
      "pathId": "article",
      "url": "https://pt.wikipedia.org/wiki/Portugal"
    },
    {
      "id": "F-11",
      "severity": "high",
      "confidence": "high",
      "summary": "Images and a form control lack accessible alternatives or labels.",
      "evidence": "Lighthouse failed image-alt and label; the live probe found one unlabelled form control, and the image audit reported many null alt values.",
      "suggestedFix": "Give informative images concise alt text, decorative images alt=\"\", and every control a programmatic label.",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/images.json",
        "evidence/probe.json"
      ],
      "effort": "large",
      "pathId": "article",
      "url": "https://pt.wikipedia.org/wiki/Portugal"
    },
    {
      "id": "F-12",
      "severity": "medium",
      "confidence": "high",
      "summary": "Inline links rely on color alone.",
      "evidence": "Lighthouse failed link-in-text-block, showing that links in body text are not distinguishable without color.",
      "suggestedFix": "Add a non-color cue such as a persistent underline with an accessible underline treatment.",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "effort": "medium",
      "pathId": "article",
      "url": "https://pt.wikipedia.org/wiki/Portugal"
    },
    {
      "id": "F-13",
      "severity": "medium",
      "confidence": "high",
      "summary": "Parts of the accessibility structure are malformed.",
      "evidence": "Lighthouse failed table-fake-caption and agent-accessibility-tree. The page otherwise has one main landmark and visible focused-link outline.",
      "suggestedFix": "Use real table captions and repair the nodes identified in the accessibility tree while preserving the sound landmark and focus behavior.",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/probe.json"
      ],
      "effort": "medium",
      "pathId": "article",
      "url": "https://pt.wikipedia.org/wiki/Portugal"
    },
    {
      "id": "F-14",
      "severity": "high",
      "confidence": "high",
      "summary": "The fixed 1120px viewport prevents normal mobile reflow and leaves targets undersized.",
      "evidence": "The viewport probe returns width=1120 and Lighthouse target-size fails; 360px screenshots render a scaled-down desktop canvas.",
      "suggestedFix": "Restore a device-width scalable viewport and redesign dense navigation/infobox content to reflow with sufficiently spaced targets.",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/article-mobile.png",
        "evidence/probe.json",
        "evidence/lighthouse.json"
      ],
      "effort": "large",
      "pathId": "article",
      "url": "https://pt.wikipedia.org/wiki/Portugal"
    },
    {
      "id": "F-15",
      "severity": "medium",
      "confidence": "high",
      "summary": "Some images omit intrinsic dimensions and image delivery is inefficient.",
      "evidence": "Image primitive reports 2 missing-dimension images and Lighthouse unsized-images fails; Lighthouse estimates 96KiB image-delivery savings.",
      "suggestedFix": "Emit width and height for every image and select appropriately sized responsive derivatives.",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/images.json",
        "evidence/lighthouse.json"
      ],
      "effort": "medium",
      "pathId": "article",
      "url": "https://pt.wikipedia.org/wiki/Portugal"
    },
    {
      "id": "F-16",
      "severity": "low",
      "confidence": "high",
      "summary": "DevTools reports unresolved inspector and source-map hygiene issues.",
      "evidence": "Lighthouse failed inspector-issues and valid-source-maps, while deprecations, BFCache, permission-on-load and paste checks passed.",
      "suggestedFix": "Resolve the reported browser issue and publish valid production source maps, or intentionally suppress map references.",
      "principleId": "follow-best-practices",
      "principleCheckId": "browser-platform-hygiene",
      "guidanceId": "security",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "effort": "medium",
      "pathId": "article",
      "url": "https://pt.wikipedia.org/wiki/Portugal"
    },
    {
      "id": "F-17",
      "severity": "medium",
      "confidence": "high",
      "summary": "Public article pages omit a meta description.",
      "evidence": "The live probe and discoverability primitive found a descriptive title but no meta description; Lighthouse meta-description failed.",
      "suggestedFix": "Generate an accurate article-specific meta description from the lead, with sensible length and escaping.",
      "principleId": "be-discoverable",
      "principleCheckId": "title-and-description",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/probe.json",
        "evidence/article-discoverability.json",
        "evidence/lighthouse.json"
      ],
      "effort": "medium",
      "pathId": "article",
      "url": "https://pt.wikipedia.org/wiki/Portugal"
    },
    {
      "id": "F-18",
      "severity": "medium",
      "confidence": "high",
      "summary": "The CSP permits unsafe script/style execution and cookies use SameSite=None broadly.",
      "evidence": "Headers show CSP with unsafe-inline and unsafe-eval. Cookie evidence shows six Secure cookies all marked SameSite=None.",
      "suggestedFix": "Remove unsafe-eval/unsafe-inline through nonces or hashes where feasible and narrow cookie SameSite attributes to the actual cross-site requirement.",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "effort": "large",
      "pathId": "article",
      "url": "https://pt.wikipedia.org/wiki/Portugal"
    },
    {
      "id": "F-19",
      "severity": "medium",
      "confidence": "high",
      "summary": "Several defensive browser policies are absent.",
      "evidence": "Header evidence finds no frame-ancestors/X-Frame-Options, Referrer-Policy, or Permissions-Policy, while HSTS and nosniff are present.",
      "suggestedFix": "Set frame-ancestors, Referrer-Policy and a least-privilege Permissions-Policy; consider Trusted Types for high-risk script surfaces.",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/headers.json"
      ],
      "effort": "medium",
      "pathId": "article",
      "url": "https://pt.wikipedia.org/wiki/Portugal"
    },
    {
      "id": "F-20",
      "severity": "medium",
      "confidence": "high",
      "summary": "The article eagerly requests many legacy-format, below-fold images.",
      "evidence": "Images evidence reports 80 below-fold images without lazy loading and 98 legacy-format derivatives; HAR attributes 2.58MB to images.",
      "suggestedFix": "Lazy-load below-fold images and negotiate efficient modern formats while preserving Wikimedia responsive derivatives and compatibility.",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "deliver-optimized-decorative-images",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/images.json",
        "evidence/article-summary.json"
      ],
      "effort": "large",
      "pathId": "article",
      "url": "https://pt.wikipedia.org/wiki/Portugal"
    },
    {
      "id": "F-21",
      "severity": "medium",
      "confidence": "high",
      "summary": "Resource use is disproportionate for an initial text-article view.",
      "evidence": "The HAR transfers 3.19MB, of which 2.54MB is from upload.wikimedia.org, before the reader scrolls through the long article.",
      "suggestedFix": "Defer below-fold Commons media and keep only above-the-fold, user-valued assets on the initial critical path.",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "deprioritize-background-fetches",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/article-summary.json",
        "evidence/article.har"
      ],
      "effort": "large",
      "pathId": "article",
      "url": "https://pt.wikipedia.org/wiki/Portugal"
    },
    {
      "id": "F-22",
      "severity": "low",
      "confidence": "high",
      "summary": "Machine-readable content is strong, but interactive semantics are not fully agent-ready.",
      "evidence": "Discoverability reports 100% raw-HTML coverage and JSON-LD exists, but Lighthouse agent-accessibility-tree fails and no structured agent tool interface was detected.",
      "suggestedFix": "First repair the accessibility tree; then evaluate narrowly scoped, safe structured tools for search or citation retrieval rather than requiring agents to infer UI actions.",
      "principleId": "be-agent-ready",
      "principleCheckId": "structured-agent-capabilities",
      "guidanceId": "agentic-forms",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/article-discoverability.json",
        "evidence/lighthouse.json",
        "evidence/probe.json"
      ],
      "effort": "large",
      "pathId": "article",
      "url": "https://pt.wikipedia.org/wiki/Portugal"
    },
    {
      "id": "F-23",
      "severity": "medium",
      "confidence": "high",
      "summary": "The memory footprint is heavy for a mostly static article.",
      "evidence": "Post-interaction heap summary contains 395,360 nodes and 30,547,712 self-size bytes. Ten menu toggles changed totals by +1,427 nodes and +2,087,663 bytes, without a clear Detached constructor signal.",
      "suggestedFix": "Reduce eagerly constructed article/UI nodes and optional modules; repeat same-session heap testing to distinguish one-time warm-up from retained growth.",
      "principleId": "be-memory-efficient",
      "principleCheckId": "bounded-footprint",
      "guidanceId": "defer-rendering-heavy-content",
      "guidanceCategory": "modern-web-guidance",
      "artifacts": [
        "evidence/heap-baseline.heapsnapshot",
        "evidence/heap-post.heapsnapshot"
      ],
      "effort": "large",
      "pathId": "article",
      "url": "https://pt.wikipedia.org/wiki/Portugal"
    }
  ],
  "taskList": [
    {
      "id": "T-01",
      "title": "Use width=device-width, initial-scale=1 and responsive layout rules so article, category, search and portal templates reflow at the device width.",
      "priority": 1,
      "findingIds": [
        "F-05"
      ],
      "guidanceId": "responsive layout adapt viewport mobile",
      "status": "open"
    },
    {
      "id": "T-02",
      "title": "Apply color-scheme: light dark and preference-driven surface/text tokens, while retaining the existing explicit appearance control.",
      "priority": 2,
      "findingIds": [
        "F-01"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T-03",
      "title": "Increase target boxes and spacing for dense links and controls, especially at narrow widths, while retaining visible :focus-visible styles.",
      "priority": 3,
      "findingIds": [
        "F-07"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T-04",
      "title": "Profile the LCP request chain, prioritize the LCP resource, and reduce render-blocking and eager below-fold work.",
      "priority": 4,
      "findingIds": [
        "F-08"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T-05",
      "title": "Give informative images concise alt text, decorative images alt=\"\", and every control a programmatic label.",
      "priority": 5,
      "findingIds": [
        "F-11"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T-06",
      "title": "Restore a device-width scalable viewport and redesign dense navigation/infobox content to reflow with sufficiently spaced targets.",
      "priority": 6,
      "findingIds": [
        "F-14"
      ],
      "guidanceId": "fluid-scaling",
      "status": "open"
    },
    {
      "id": "T-07",
      "title": "Add container queries to reusable navigation, infobox, search and content modules that appear in differently sized regions.",
      "priority": 7,
      "findingIds": [
        "F-06"
      ],
      "guidanceId": "size-aware-styling",
      "status": "open"
    },
    {
      "id": "T-08",
      "title": "Lazy-load below-fold media, tighten cache lifetimes where possible, and reduce the confirmed critical CSS chain.",
      "priority": 8,
      "findingIds": [
        "F-09"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "T-09",
      "title": "Split ResourceLoader modules by page capability and defer optional editing/gadget code until requested.",
      "priority": 9,
      "findingIds": [
        "F-10"
      ],
      "guidanceId": "conditional-async-dependencies",
      "status": "open"
    },
    {
      "id": "T-10",
      "title": "Add a non-color cue such as a persistent underline with an accessible underline treatment.",
      "priority": 10,
      "findingIds": [
        "F-12"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T-11",
      "title": "Use real table captions and repair the nodes identified in the accessibility tree while preserving the sound landmark and focus behavior.",
      "priority": 11,
      "findingIds": [
        "F-13"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T-12",
      "title": "Emit width and height for every image and select appropriately sized responsive derivatives.",
      "priority": 12,
      "findingIds": [
        "F-15"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T-13",
      "title": "Generate an accurate article-specific meta description from the lead, with sensible length and escaping.",
      "priority": 13,
      "findingIds": [
        "F-17"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T-14",
      "title": "Remove unsafe-eval/unsafe-inline through nonces or hashes where feasible and narrow cookie SameSite attributes to the actual cross-site requirement.",
      "priority": 14,
      "findingIds": [
        "F-18"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T-15",
      "title": "Set frame-ancestors, Referrer-Policy and a least-privilege Permissions-Policy; consider Trusted Types for high-risk script surfaces.",
      "priority": 15,
      "findingIds": [
        "F-19"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T-16",
      "title": "Lazy-load below-fold images and negotiate efficient modern formats while preserving Wikimedia responsive derivatives and compatibility.",
      "priority": 16,
      "findingIds": [
        "F-20"
      ],
      "guidanceId": "deliver-optimized-decorative-images",
      "status": "open"
    },
    {
      "id": "T-17",
      "title": "Defer below-fold Commons media and keep only above-the-fold, user-valued assets on the initial critical path.",
      "priority": 17,
      "findingIds": [
        "F-21"
      ],
      "guidanceId": "deprioritize-background-fetches",
      "status": "open"
    },
    {
      "id": "T-18",
      "title": "Reduce eagerly constructed article/UI nodes and optional modules; repeat same-session heap testing to distinguish one-time warm-up from retained growth.",
      "priority": 18,
      "findingIds": [
        "F-23"
      ],
      "guidanceId": "defer-rendering-heavy-content",
      "status": "open"
    },
    {
      "id": "T-19",
      "title": "Progressively enhance eligible article and route navigations with same-document or cross-document View Transitions and a non-animated fallback.",
      "priority": 19,
      "findingIds": [
        "F-02"
      ],
      "guidanceId": "cross-document-transitions",
      "status": "open"
    },
    {
      "id": "T-20",
      "title": "Use CSS anchor positioning and position-try fallbacks for menus/tooltips where edge-aware attachment is needed.",
      "priority": 20,
      "findingIds": [
        "F-03"
      ],
      "guidanceId": "position-aware-tooltips",
      "status": "open"
    },
    {
      "id": "T-21",
      "title": "Migrate transient menus to popover and suitable disclosures to details, preserving accessible fallback behavior.",
      "priority": 21,
      "findingIds": [
        "F-04"
      ],
      "guidanceId": "declarative-dialog-popover-control",
      "status": "open"
    },
    {
      "id": "T-22",
      "title": "Resolve the reported browser issue and publish valid production source maps, or intentionally suppress map references.",
      "priority": 22,
      "findingIds": [
        "F-16"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T-23",
      "title": "First repair the accessibility tree; then evaluate narrowly scoped, safe structured tools for search or citation retrieval rather than requiring agents to infer UI actions.",
      "priority": 23,
      "findingIds": [
        "F-22"
      ],
      "guidanceId": "agentic-forms",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 4,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-21T23-23-15-739Z"
}
