{
  "url": "https://www.uol.com.br",
  "auditedAt": "2026-07-22T15:50:28.735Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage-complete audit across homepage, section, article, and invalid-route recovery. Noticias subdomain returned Access Denied, so equivalent www.uol.com.br sports templates were used. Search, authenticated account, subscription checkout/cancellation, and payment were not covered because they require broader cross-property or credentialed flows.",
  "page": {
    "appType": "hybrid",
    "framework": "Vue-like server-rendered homepage plus newer component system on article templates",
    "notes": "Large Brazilian news portal. Core content is server-rendered. Distinct legacy homepage and responsive article/section templates show inconsistent behavior."
  },
  "evidenceUsed": [
    "screenshot",
    "dom/evaluate-probe",
    "layout-metrics",
    "trace",
    "har",
    "headers",
    "cookies",
    "trackers",
    "images",
    "secrets",
    "discoverability",
    "heap-summary-before-after",
    "axe-core",
    "lighthouse",
    "Modern Web Guidance search/list"
  ],
  "guidanceConsulted": [
    "accessibility",
    "autofill-sign-in-form",
    "conditional-async-dependencies",
    "cross-document-transitions",
    "css",
    "dark-mode",
    "declarative-dialog-popover-control",
    "defer-rendering-heavy-content",
    "deprioritize-background-fetches",
    "efficient-background-processing",
    "fluid-scaling",
    "forms",
    "html",
    "light-dismiss-a-dialog",
    "optimize-image-priority",
    "optimize-script-priority",
    "passkey-authentication",
    "performance",
    "persistent-toast-notifications",
    "privacy",
    "scroll-position-aware-elements",
    "security",
    "size-aware-styling",
    "webmcp"
  ],
  "artifacts": [
    {
      "type": "other",
      "path": "evidence/404-probe.json",
      "caption": "404 probe",
      "findingIds": [
        "F13",
        "F31"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/404.png",
      "caption": "404",
      "findingIds": [
        "F13",
        "F31"
      ]
    },
    {
      "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": [
        "F37"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/article-layout-mobile.json",
      "caption": "article layout mobile",
      "findingIds": [
        "F09",
        "F12",
        "F22"
      ]
    },
    {
      "type": "other",
      "path": "evidence/article-mobile-probe.json",
      "caption": "article mobile probe",
      "findingIds": [
        "F10",
        "F21"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/article-mobile.png",
      "caption": "article mobile",
      "findingIds": [
        "F09",
        "F10",
        "F12",
        "F21"
      ]
    },
    {
      "type": "other",
      "path": "evidence/consent-probe.json",
      "caption": "consent probe",
      "findingIds": [
        "F06",
        "F07",
        "F28",
        "F32"
      ]
    },
    {
      "type": "other",
      "path": "evidence/feature-probe.json",
      "caption": "feature probe",
      "findingIds": [
        "F04",
        "F05",
        "F10",
        "F29",
        "F37"
      ]
    },
    {
      "type": "other",
      "path": "evidence/guidance-list.json",
      "caption": "guidance list",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-accessibility-contrast-focus-labels-text-zoom.json",
      "caption": "guidance search accessibility contrast focus labels text zoom",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-dark-mode-reduced-motion-contrast-accessibili.json",
      "caption": "guidance search dark mode reduced motion contrast accessibili",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-dark-patterns-humane-forms-autocomplete-accou.json",
      "caption": "guidance search dark patterns humane forms autocomplete accou",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-dialog-popover-intrusive-content-clutter.json",
      "caption": "guidance search dialog popover intrusive content clutter",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-forms-task-success-errors-recovery.json",
      "caption": "guidance search forms task success errors recovery",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-guided-navigation-anchor-positioning-attentio.json",
      "caption": "guidance search guided navigation anchor positioning attentio",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-html-css-console-errors-browser-platform-hygi.json",
      "caption": "guidance search html css console errors browser platform hygi",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-internationalization-locale-timezone-logical-.json",
      "caption": "guidance search internationalization locale timezone logical ",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/guidance-search-memory-leak-heap-detached-dom-listeners.json",
      "caption": "guidance search memory leak heap detached dom listeners",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-performance-core-web-vitals-resource-delivery.json",
      "caption": "guidance search performance core web vitals resource delivery",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-progressive-enhancement-offline-network-failu.json",
      "caption": "guidance search progressive enhancement offline network failu",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/guidance-search-responsive-layout-container-queries-touch-foc.json",
      "caption": "guidance search responsive layout container queries touch foc",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-security-privacy-headers-cookies-passkeys.json",
      "caption": "guidance search security privacy headers cookies passkeys",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-seo-title-metadata-crawl-canonical-structured.json",
      "caption": "guidance search seo title metadata crawl canonical structured",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-sustainable-assets-background-work-third-part.json",
      "caption": "guidance search sustainable assets background work third part",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-view-transitions-scroll-animations-gestures.json",
      "caption": "guidance search view transitions scroll animations gestures",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-webmcp-agentic-on-device-AI.json",
      "caption": "guidance search webmcp agentic on device AI",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.json",
      "caption": "heap baseline",
      "findingIds": [
        "F38"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-post-scroll.json",
      "caption": "heap post scroll",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-axe.json",
      "caption": "home axe",
      "findingIds": [
        "F18",
        "F19",
        "F20",
        "F24"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-cookies.json",
      "caption": "home cookies",
      "findingIds": [
        "F27"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "home dark",
      "findingIds": [
        "F01"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "home desktop",
      "findingIds": [
        "F08",
        "F32"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-crawler.png",
      "caption": "home discoverability crawler",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-rendered.png",
      "caption": "home discoverability rendered",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/home-discoverability.json",
      "caption": "home discoverability",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-headers.json",
      "caption": "home headers",
      "findingIds": [
        "F27",
        "F30"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-high-contrast.png",
      "caption": "home high contrast",
      "findingIds": [
        "F03"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-images.json",
      "caption": "home images",
      "findingIds": [
        "F24",
        "F34"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/home-layout-mobile.json",
      "caption": "home layout mobile",
      "findingIds": [
        "F05",
        "F09"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/home-lighthouse-summary.json",
      "caption": "home lighthouse summary",
      "findingIds": [
        "F14",
        "F15",
        "F17",
        "F23",
        "F25",
        "F26",
        "F35"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/home-lighthouse.json",
      "caption": "home lighthouse",
      "findingIds": [
        "F14"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "home mobile",
      "findingIds": [
        "F08",
        "F09"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-quality-probe.json",
      "caption": "home quality probe",
      "findingIds": [
        "F18",
        "F29",
        "F33"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-reduced-motion.json",
      "caption": "home reduced motion",
      "findingIds": [
        "F02"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-secrets.json",
      "caption": "home secrets",
      "findingIds": []
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "home summary",
      "findingIds": [
        "F16",
        "F28",
        "F35",
        "F36"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "home trace summary",
      "findingIds": [
        "F14",
        "F15"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "home trace",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-trackers.json",
      "caption": "home trackers",
      "findingIds": [
        "F28",
        "F36"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-ui-probe.json",
      "caption": "home ui probe",
      "findingIds": [
        "F11",
        "F20",
        "F22"
      ]
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "home.har",
      "findingIds": [
        "F16"
      ]
    },
    {
      "type": "other",
      "path": "evidence/platform-probe.json",
      "caption": "platform probe",
      "findingIds": [
        "F16",
        "F37"
      ]
    },
    {
      "type": "other",
      "path": "evidence/preferences-default.json",
      "caption": "preferences default",
      "findingIds": [
        "F01",
        "F03"
      ]
    },
    {
      "type": "other",
      "path": "evidence/recon.json",
      "caption": "recon",
      "findingIds": [
        "F26"
      ]
    },
    {
      "type": "other",
      "path": "evidence/section-recon.json",
      "caption": "section recon",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/sports-desktop.png",
      "caption": "sports desktop",
      "findingIds": [
        "F06"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/sports-mobile.png",
      "caption": "sports mobile",
      "findingIds": [
        "F06",
        "F32"
      ]
    },
    {
      "type": "other",
      "path": "evidence/sports-recon.json",
      "caption": "sports recon",
      "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": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "The dark-condition screenshot is visually the same white interface as the default and the feature probe found zero prefers-color-scheme rules.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/preferences-default.json"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "With prefers-reduced-motion: reduce active, 13 animations remained running with durations of 1 to 3 seconds.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-reduced-motion.json"
      ],
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "The CSS feature probe found no prefers-contrast or forced-colors rules; the high-contrast screenshot retained the same low-emphasis chrome.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-high-contrast.png",
        "evidence/preferences-default.json"
      ],
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "Rendered HTML and accessible CSS contained no view-transition or startViewTransition usage across the homepage navigation surface.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/feature-probe.json"
      ],
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and representative-path applicability judgement.",
      "evidence": "No scroll-linked animation was observed, so there is no scroll-handler implementation to assess.",
      "reason": "No scroll-linked animation was observed, so there is no scroll-handler implementation to assess."
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "pass",
      "confidence": "medium",
      "method": "Representative screenshot plus DOM/evaluate or objective primitive inspection.",
      "evidence": "Feature probe found platform overscroll behavior and no inline pointer/touch-move handlers; reading uses native scrolling.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-quality-probe.json"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "The homepage is 17,705 CSS pixels tall, while the feature probe found no scroll-state queries or scroll-timeline indicator.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/feature-probe.json"
      ],
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and representative-path applicability judgement.",
      "evidence": "No tooltip, anchored popover, or edge-positioned menu was exercised in the representative core reading paths.",
      "reason": "No tooltip, anchored popover, or edge-positioned menu was exercised in the representative core reading paths."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "medium",
      "method": "Representative screenshot plus DOM/evaluate or objective primitive inspection.",
      "evidence": "Desktop and mobile screenshots show strong lead-headline hierarchy, section labels, and clear article context.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/article-desktop.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "Fresh sports loads are covered by a modal on desktop and mobile; body scrolling is locked and the dialog describes sharing with 211 partners.",
      "pathIds": [
        "sports"
      ],
      "artifacts": [
        "evidence/sports-desktop.png",
        "evidence/sports-mobile.png",
        "evidence/consent-probe.json"
      ],
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "The consent probe found role=dialog on a DIV without aria-modal; no dialog or popover primitive exists on the homepage.",
      "pathIds": [
        "sports"
      ],
      "artifacts": [
        "evidence/consent-probe.json"
      ],
      "findingIds": [
        "F07"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "The desktop first viewport gives roughly 300px to a blank advertising slot plus multiple header rows before the lead headline, and the mobile page remains dense.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F08"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "The homepage forces a 1210px layout viewport at 360px, while the article reports 85px horizontal overflow and visibly overlaps the title, navigation, currency, and subscription controls.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-layout-mobile.json",
        "evidence/article-mobile.png",
        "evidence/article-layout-mobile.json"
      ],
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "The feature probe found no container queries, and the article header components overlap at 360px instead of re-composing.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-mobile.png",
        "evidence/article-mobile-probe.json",
        "evidence/feature-probe.json"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "Homepage focus sampling found top navigation links only about 14px high and multiple links/inputs with outline none; some controls are 24x24.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-ui-probe.json"
      ],
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "medium",
      "method": "Representative screenshot plus DOM/evaluate or objective primitive inspection.",
      "evidence": "Homepage and article screenshots present a clear news portal purpose and prominent lead/article reading actions.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/article-desktop.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "At 360px the article headline and header controls overlap, the page is wider than the viewport, and the cookie banner obscures the opening paragraphs.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-mobile.png",
        "evidence/article-layout-mobile.json"
      ],
      "findingIds": [
        "F12"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "A deliberately invalid path redirected to https://www.uol.com.br/#404 but displayed normal homepage content, with no not-found heading, explanation, search, or recovery state.",
      "pathIds": [
        "404"
      ],
      "artifacts": [
        "evidence/404.png",
        "evidence/404-probe.json"
      ],
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "Lighthouse measured LCP 6.7s, Speed Index 10.1s, TTI 17.2s, and performance score 0.56.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/home-lighthouse-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "medium",
      "method": "Representative screenshot plus DOM/evaluate or objective primitive inspection.",
      "evidence": "Layout observer measured CLS 0.000069 on home and 0 on the article during the observation windows.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/home-trace-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "Lighthouse measured 280ms TBT; the trace found four long tasks, up to 113ms, and 99.89ms trace TBT.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/home-lighthouse-summary.json"
      ],
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "The HAR captured 192 requests and 2.61MB transferred, including 56 scripts/1.90MB; fonts took about 2.1s. Parser-discovered candidates were confirmed async where sampled, but the network dependency volume remains high.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/platform-probe.json",
        "evidence/home.har"
      ],
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "Lighthouse estimated 897KiB unused JavaScript, led by player, advertising, analytics, consent, and bidding bundles.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json"
      ],
      "findingIds": [
        "F17"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "axe found critical missing image alt, two unnamed links, 24 prohibited ARIA uses, and focusable controls inside aria-hidden carousels; the DOM probe found unlabeled email/password inputs.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-axe.json",
        "evidence/home-quality-probe.json"
      ],
      "findingIds": [
        "F18"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "axe reported 54 color-contrast failures, including weather text and promoted headline text.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-axe.json"
      ],
      "findingIds": [
        "F19"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "axe found no main landmark, incorrect heading order, empty headings, non-unique/nested landmarks, and aria-hidden focusable carousel content.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-axe.json",
        "evidence/home-ui-probe.json"
      ],
      "findingIds": [
        "F20"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "At 360px the article title is covered by header/navigation controls and body content is clipped/obscured.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-mobile.png",
        "evidence/article-mobile-probe.json"
      ],
      "findingIds": [
        "F21"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "The article overflows by 85px at 360px and homepage target sampling found links around 14px high and 24x24 controls.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/article-layout-mobile.json",
        "evidence/home-ui-probe.json"
      ],
      "findingIds": [
        "F22"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "Lighthouse captured CORS errors and failed Adnxs network requests in the console.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json"
      ],
      "findingIds": [
        "F23"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "The images audit found 90 of 100 images missing dimensions, 21 below-fold images not lazy-loaded, and two missing alts; axe also flagged a delayed meta refresh.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home-axe.json"
      ],
      "findingIds": [
        "F24"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "Lighthouse found an unload handler that blocks BFCache and missing/broken maps for large first-party/player JavaScript.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json"
      ],
      "findingIds": [
        "F25"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "pass",
      "confidence": "medium",
      "method": "Representative screenshot plus DOM/evaluate or objective primitive inspection.",
      "evidence": "DOM and Lighthouse confirm descriptive titles and meta descriptions on home and article.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/article-discoverability.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "Lighthouse found an anchor without href, and the homepage viewport is hard-coded to width=1210 rather than device width.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/recon.json"
      ],
      "findingIds": [
        "F26"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "pass",
      "confidence": "medium",
      "method": "Representative screenshot plus DOM/evaluate or objective primitive inspection.",
      "evidence": "Home and article return 200, expose canonical URLs, index/follow metadata, and robots.txt lists section news sitemaps.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/article-discoverability.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "pass",
      "confidence": "medium",
      "method": "Representative screenshot plus DOM/evaluate or objective primitive inspection.",
      "evidence": "DOM probes found JSON-LD WebSite/Organization on home, two JSON-LD blocks on article, and Open Graph metadata.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/article-discoverability.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "Although HTTPS, HSTS, and frame-ancestors are present, X-Content-Type-Options is missing and all 19 observed cookies were flagged insecure by the primitive; several analytics/consent cookies lack Secure.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json"
      ],
      "findingIds": [
        "F27"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "The tracker probe saw 62 third-party origins and 12 known trackers; the HAR attributed 185/192 requests and 2.44MB to non-main origins, while consent copy names 211 partners.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trackers.json",
        "evidence/home-summary.json",
        "evidence/consent-probe.json"
      ],
      "findingIds": [
        "F28"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "The homepage sign-in markup exposes email/password fields with no autocomplete tokens and no WebAuthn/passkey signal was observed.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-quality-probe.json",
        "evidence/feature-probe.json"
      ],
      "findingIds": [
        "F29"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "Headers lack Permissions-Policy and nosniff; Referrer-Policy remains no-referrer-when-downgrade, and CSP only specifies frame-ancestors.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-headers.json"
      ],
      "findingIds": [
        "F30"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "medium",
      "method": "Representative screenshot plus DOM/evaluate or objective primitive inspection.",
      "evidence": "Discoverability captures show 97% home and 89% article word coverage in raw server HTML with title, h1, and description present.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/article-discoverability.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "medium",
      "method": "Representative screenshot plus DOM/evaluate or objective primitive inspection.",
      "evidence": "Representative screenshots, DOM/evaluate probes, and active path inspection found the check outcome satisfied without a conflicting signal.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/article-discoverability.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and representative-path applicability judgement.",
      "evidence": "UOL is a continuously updated news service; full offline/installable behavior is not necessary for the audited reading journey, although progressive rendering remains applicable.",
      "reason": "UOL is a continuously updated news service; full offline/installable behavior is not necessary for the audited reading journey, although progressive rendering remains applicable."
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "An invalid URL is rewritten to #404 and then renders ordinary homepage content rather than a clear error and recovery state.",
      "pathIds": [
        "404"
      ],
      "artifacts": [
        "evidence/404-probe.json",
        "evidence/404.png"
      ],
      "findingIds": [
        "F31"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "pass",
      "confidence": "medium",
      "method": "Representative screenshot plus DOM/evaluate or objective primitive inspection.",
      "evidence": "The document declares lang=pt-br and the feature probe found logical CSS properties.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/recon.json",
        "evidence/article-mobile-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "pass",
      "confidence": "medium",
      "method": "Representative screenshot plus DOM/evaluate or objective primitive inspection.",
      "evidence": "Rendered currency uses Brazilian decimal comma and article dates use the expected Brazilian day/month/year format.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/recon.json",
        "evidence/article-mobile-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "pass",
      "confidence": "medium",
      "method": "Representative screenshot plus DOM/evaluate or objective primitive inspection.",
      "evidence": "Article publication context states São Paulo and presents an unambiguous dated local publication time.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/recon.json",
        "evidence/article-mobile-probe.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "The first consent layer offers Consent and Manage options, but no equally prominent Reject choice; it describes 211 partners. The homepage fallback says continued browsing is agreement and offers only OK.",
      "pathIds": [
        "sports"
      ],
      "artifacts": [
        "evidence/sports-mobile.png",
        "evidence/consent-probe.json",
        "evidence/home-desktop.png"
      ],
      "findingIds": [
        "F32"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and representative-path applicability judgement.",
      "evidence": "No user-submitted primary form was part of the public reading journey; authentication submission was not attempted with credentials.",
      "reason": "No user-submitted primary form was part of the public reading journey; authentication submission was not attempted with credentials."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "The DOM probe found email and password inputs with empty autocomplete values and no programmatic labels.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-quality-probe.json"
      ],
      "findingIds": [
        "F33"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and representative-path applicability judgement.",
      "evidence": "Checkout, subscription completion, cancellation, and authenticated account management were explicitly outside this public, credential-free audit.",
      "reason": "Checkout, subscription completion, cancellation, and authenticated account management were explicitly outside this public, credential-free audit."
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "Of 100 images, 90 lacked dimensions, 40 lacked srcset, 21 below-fold images were not lazy, and four were oversized.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-images.json"
      ],
      "findingIds": [
        "F34"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "Lighthouse estimated 897KiB unused JS and the HAR recorded 64 fetch/XHR requests on initial load.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F35"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "Third parties accounted for 185 requests and 2.44MB of 2.61MB transferred; 62 third-party origins were observed.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trackers.json"
      ],
      "findingIds": [
        "F36"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "Content is server-rendered (89 to 97 percent crawler coverage), but robots.txt explicitly disallows major agent/search user agents and no structured WebMCP capability is exposed.",
      "pathIds": [
        "article"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/article-discoverability.json",
        "evidence/feature-probe.json"
      ],
      "findingIds": [
        "F37"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and representative-path applicability judgement.",
      "evidence": "Built-in on-device inference is an emerging optional enhancement and is not required to deliver the audited news reading journey.",
      "reason": "Built-in on-device inference is an emerging optional enhancement and is not required to deliver the audited news reading journey."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "medium",
      "method": "Representative screenshot plus DOM/evaluate or objective primitive inspection.",
      "evidence": "After 10 full-feed scroll down/up cycles, heap self size rose only 3.6% (61.1MB to 63.3MB) and node count 3.0%, bounded for newly loaded feed content.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/heap-post-scroll.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "issues",
      "confidence": "high",
      "method": "Active browser evidence and targeted probe described in evidence.",
      "evidence": "The baseline heap contained 1,318,836 nodes and 61.1MB self size before user interaction, with 236,636 closures.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json"
      ],
      "findingIds": [
        "F38"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "Representative screenshot plus DOM/evaluate or objective primitive inspection.",
      "evidence": "Before/after heap summaries show modest bounded growth and no Detached constructor among top retained constructors; Promise count decreased.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/heap-post-scroll.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F01",
        "F02",
        "F03"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F06",
        "F07",
        "F08"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F09",
        "F10",
        "F11"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F12",
        "F13"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F14",
        "F15",
        "F16",
        "F17"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F18",
        "F19",
        "F20",
        "F21",
        "F22"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F23",
        "F24",
        "F25"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F26"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F27",
        "F28",
        "F29",
        "F30"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F31"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F32",
        "F33"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F34",
        "F35",
        "F36"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F37"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F38"
      ]
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage and primary news-discovery surface; desktop, narrow viewport, preference emulation, keyboard focus, performance, security, network, accessibility and memory.",
      "url": "https://www.uol.com.br/",
      "conditions": [
        "1440x1000",
        "360x800",
        "prefers-color-scheme: dark",
        "prefers-reduced-motion: reduce",
        "prefers-contrast: more",
        "keyboard focus",
        "10 repeated full-page scroll cycles"
      ],
      "result": "issues"
    },
    {
      "id": "sports",
      "description": "Sports section listing, representing section/index templates and the consent-entry experience.",
      "url": "https://www.uol.com.br/esporte/",
      "conditions": [
        "1440x1000",
        "360x800",
        "fresh storage/consent state"
      ],
      "result": "issues"
    },
    {
      "id": "article",
      "description": "Current sports article, representing article/detail templates and the core reading journey.",
      "url": "https://www.uol.com.br/esporte/ultimas-noticias/2026/07/22/japao-brasil-liga-das-nacoes-volei-vnl.ghtm",
      "conditions": [
        "1440x1000",
        "360x800",
        "crawler/no-JavaScript comparison"
      ],
      "result": "issues"
    },
    {
      "id": "404",
      "description": "Invalid URL used to inspect HTTP/not-found recovery behavior.",
      "url": "https://www.uol.com.br/definitely-not-a-page-404",
      "conditions": [
        "desktop",
        "fresh navigation"
      ],
      "result": "issues"
    }
  ],
  "findings": [
    {
      "id": "F01",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "guidanceCategory": "user-experience",
      "severity": "medium",
      "confidence": "high",
      "summary": "System dark mode is ignored",
      "evidence": "The dark-condition screenshot is visually the same white interface as the default and the feature probe found zero prefers-color-scheme rules.",
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/preferences-default.json"
      ],
      "suggestedFix": "Declare color-scheme and provide preference-driven light/dark surface and text tokens.",
      "effort": "medium"
    },
    {
      "id": "F02",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-reduced-motion",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "medium",
      "confidence": "high",
      "summary": "Motion continues under reduced-motion preference",
      "evidence": "With prefers-reduced-motion: reduce active, 13 animations remained running with durations of 1 to 3 seconds.",
      "artifacts": [
        "evidence/home-reduced-motion.json"
      ],
      "suggestedFix": "Use prefers-reduced-motion to remove non-essential animation and auto-advance while preserving state feedback.",
      "effort": "small"
    },
    {
      "id": "F03",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-contrast",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "low",
      "confidence": "high",
      "summary": "No explicit high-contrast adaptation",
      "evidence": "The CSS feature probe found no prefers-contrast or forced-colors rules; the high-contrast screenshot retained the same low-emphasis chrome.",
      "artifacts": [
        "evidence/home-high-contrast.png",
        "evidence/preferences-default.json"
      ],
      "suggestedFix": "Add forced-colors and prefers-contrast adaptations for essential text, focus, controls, and scroll affordances.",
      "effort": "small"
    },
    {
      "id": "F04",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "cross-document-transitions",
      "guidanceCategory": "user-experience",
      "severity": "low",
      "confidence": "high",
      "summary": "Route changes do not use View Transitions",
      "evidence": "Rendered HTML and accessible CSS contained no view-transition or startViewTransition usage across the homepage navigation surface.",
      "artifacts": [
        "evidence/feature-probe.json"
      ],
      "suggestedFix": "Progressively enhance eligible same-origin navigation with cross-document View Transitions and reduced-motion handling.",
      "effort": "medium"
    },
    {
      "id": "F05",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "scroll-position-aware-elements",
      "guidanceCategory": "user-experience",
      "severity": "low",
      "confidence": "high",
      "summary": "Long news feed has no scroll-state guidance",
      "evidence": "The homepage is 17,705 CSS pixels tall, while the feature probe found no scroll-state queries or scroll-timeline indicator.",
      "artifacts": [
        "evidence/home-layout-mobile.json",
        "evidence/feature-probe.json"
      ],
      "suggestedFix": "Add a lightweight reading/scroll position affordance or responsive sticky chrome that reacts declaratively to scroll state.",
      "effort": "medium"
    },
    {
      "id": "F06",
      "pathId": "sports",
      "url": "https://www.uol.com.br/esporte/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "no-intrusive-interruptions",
      "guidanceId": "light-dismiss-a-dialog",
      "guidanceCategory": "user-experience",
      "severity": "high",
      "confidence": "high",
      "summary": "Consent modal blocks the section before content can be used",
      "evidence": "Fresh sports loads are covered by a modal on desktop and mobile; body scrolling is locked and the dialog describes sharing with 211 partners.",
      "artifacts": [
        "evidence/sports-desktop.png",
        "evidence/sports-mobile.png",
        "evidence/consent-probe.json"
      ],
      "suggestedFix": "Make the consent surface compact and content-first, with equivalent accept/reject controls and access to content without unnecessary interruption.",
      "effort": "medium"
    },
    {
      "id": "F07",
      "pathId": "sports",
      "url": "https://www.uol.com.br/esporte/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "guidanceCategory": "user-experience",
      "severity": "medium",
      "confidence": "high",
      "summary": "Consent overlay is a custom div rather than a modal primitive",
      "evidence": "The consent probe found role=dialog on a DIV without aria-modal; no dialog or popover primitive exists on the homepage.",
      "artifacts": [
        "evidence/consent-probe.json"
      ],
      "suggestedFix": "Use a native dialog where modality is required, with correct focus containment, Escape/cancel handling, and an explicit close/reject path.",
      "effort": "medium"
    },
    {
      "id": "F08",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "reduced-chrome",
      "guidanceId": "defer-rendering-heavy-content",
      "guidanceCategory": "performance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Advertising and service chrome crowds the primary news content",
      "evidence": "The desktop first viewport gives roughly 300px to a blank advertising slot plus multiple header rows before the lead headline, and the mobile page remains dense.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Collapse empty ad inventory, reduce stacked navigation chrome, and move the lead content higher.",
      "effort": "medium"
    },
    {
      "id": "F09",
      "pathId": "article",
      "url": "https://www.uol.com.br/esporte/ultimas-noticias/2026/07/22/japao-brasil-liga-das-nacoes-volei-vnl.ghtm",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "responsive-no-horizontal-scroll",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "css",
      "severity": "critical",
      "confidence": "high",
      "summary": "Mobile layouts are broken or scaled down",
      "evidence": "The homepage forces a 1210px layout viewport at 360px, while the article reports 85px horizontal overflow and visibly overlaps the title, navigation, currency, and subscription controls.",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-layout-mobile.json",
        "evidence/article-mobile.png",
        "evidence/article-layout-mobile.json"
      ],
      "suggestedFix": "Use width=device-width, fluid intrinsic layouts, and responsive header composition; eliminate the article overflow at 320 to 400px.",
      "effort": "large"
    },
    {
      "id": "F10",
      "pathId": "article",
      "url": "https://www.uol.com.br/esporte/ultimas-noticias/2026/07/22/japao-brasil-liga-das-nacoes-volei-vnl.ghtm",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "guidanceCategory": "css",
      "severity": "high",
      "confidence": "high",
      "summary": "Shared components do not adapt to their available space",
      "evidence": "The feature probe found no container queries, and the article header components overlap at 360px instead of re-composing.",
      "artifacts": [
        "evidence/article-mobile.png",
        "evidence/article-mobile-probe.json",
        "evidence/feature-probe.json"
      ],
      "suggestedFix": "Give reusable header/article components containment and size-aware styles, with viewport fallbacks where needed.",
      "effort": "medium"
    },
    {
      "id": "F11",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Several controls are too small or lose visible focus",
      "evidence": "Homepage focus sampling found top navigation links only about 14px high and multiple links/inputs with outline none; some controls are 24x24.",
      "artifacts": [
        "evidence/home-ui-probe.json"
      ],
      "suggestedFix": "Provide at least 24x24 CSS-pixel targets (prefer 44x44), preserve visible :focus-visible styling, and avoid hover-only affordances.",
      "effort": "medium"
    },
    {
      "id": "F12",
      "pathId": "article",
      "url": "https://www.uol.com.br/esporte/ultimas-noticias/2026/07/22/japao-brasil-liga-das-nacoes-volei-vnl.ghtm",
      "principleId": "support-core-task-success",
      "principleCheckId": "primary-flow-completion",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "css",
      "severity": "critical",
      "confidence": "high",
      "summary": "The mobile article reading journey is obstructed",
      "evidence": "At 360px the article headline and header controls overlap, the page is wider than the viewport, and the cookie banner obscures the opening paragraphs.",
      "artifacts": [
        "evidence/article-mobile.png",
        "evidence/article-layout-mobile.json"
      ],
      "suggestedFix": "Repair the responsive article header and use a non-obscuring consent surface so reading can proceed immediately.",
      "effort": "large"
    },
    {
      "id": "F13",
      "pathId": "404",
      "url": "https://www.uol.com.br/definitely-not-a-page-404",
      "principleId": "support-core-task-success",
      "principleCheckId": "clear-system-state-and-recovery",
      "guidanceId": "persistent-toast-notifications",
      "guidanceCategory": "user-experience",
      "severity": "high",
      "confidence": "high",
      "summary": "Invalid URLs silently become the homepage",
      "evidence": "A deliberately invalid path redirected to https://www.uol.com.br/#404 but displayed normal homepage content, with no not-found heading, explanation, search, or recovery state.",
      "artifacts": [
        "evidence/404.png",
        "evidence/404-probe.json"
      ],
      "suggestedFix": "Return a real 404 status and a clear not-found page with search, relevant links, and a route back to the homepage.",
      "effort": "small"
    },
    {
      "id": "F14",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "guidanceCategory": "performance",
      "severity": "high",
      "confidence": "high",
      "summary": "Homepage load performance misses the user-centric bar",
      "evidence": "Lighthouse measured LCP 6.7s, Speed Index 10.1s, TTI 17.2s, and performance score 0.56.",
      "artifacts": [
        "evidence/home-lighthouse.json",
        "evidence/home-lighthouse-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "suggestedFix": "Prioritise the LCP content, defer ads and non-critical third parties, and break up interaction-blocking work.",
      "effort": "large"
    },
    {
      "id": "F15",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-main-thread",
      "guidanceId": "optimize-script-priority",
      "guidanceCategory": "performance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Main-thread work causes blocking tasks",
      "evidence": "Lighthouse measured 280ms TBT; the trace found four long tasks, up to 113ms, and 99.89ms trace TBT.",
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/home-lighthouse-summary.json"
      ],
      "suggestedFix": "Split long tasks and defer low-priority ad, analytics, and player initialization until needed.",
      "effort": "medium"
    },
    {
      "id": "F16",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-script-priority",
      "guidanceCategory": "performance",
      "severity": "high",
      "confidence": "high",
      "summary": "Resource delivery is dominated by scripts and third parties",
      "evidence": "The HAR captured 192 requests and 2.61MB transferred, including 56 scripts/1.90MB; fonts took about 2.1s. Parser-discovered candidates were confirmed async where sampled, but the network dependency volume remains high.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/platform-probe.json",
        "evidence/home.har"
      ],
      "suggestedFix": "Set a route-level resource budget, delay non-critical advertising/analytics, optimise font delivery, and cache the uncached player script.",
      "effort": "large"
    },
    {
      "id": "F17",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "conditional-async-dependencies",
      "guidanceCategory": "performance",
      "severity": "high",
      "confidence": "high",
      "summary": "Nearly 900KiB of JavaScript is unused on load",
      "evidence": "Lighthouse estimated 897KiB unused JavaScript, led by player, advertising, analytics, consent, and bidding bundles.",
      "artifacts": [
        "evidence/home-lighthouse-summary.json"
      ],
      "suggestedFix": "Conditionally import the player and advertising stacks only when their surfaces become eligible or visible.",
      "effort": "large"
    },
    {
      "id": "F18",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Accessible names and roles are incomplete",
      "evidence": "axe found critical missing image alt, two unnamed links, 24 prohibited ARIA uses, and focusable controls inside aria-hidden carousels; the DOM probe found unlabeled email/password inputs.",
      "artifacts": [
        "evidence/home-axe.json",
        "evidence/home-quality-probe.json"
      ],
      "suggestedFix": "Fix names and labels, remove prohibited ARIA, and make hidden carousel slides inert.",
      "effort": "medium"
    },
    {
      "id": "F19",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Many text elements fail WCAG contrast",
      "evidence": "axe reported 54 color-contrast failures, including weather text and promoted headline text.",
      "artifacts": [
        "evidence/home-axe.json"
      ],
      "suggestedFix": "Adjust foreground/background design tokens to meet WCAG AA in every state.",
      "effort": "medium"
    },
    {
      "id": "F20",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Document structure and focus semantics are unreliable",
      "evidence": "axe found no main landmark, incorrect heading order, empty headings, non-unique/nested landmarks, and aria-hidden focusable carousel content.",
      "artifacts": [
        "evidence/home-axe.json",
        "evidence/home-ui-probe.json"
      ],
      "suggestedFix": "Add one main landmark, repair heading hierarchy/landmarks, and remove hidden slides from sequential focus.",
      "effort": "medium"
    },
    {
      "id": "F21",
      "pathId": "article",
      "url": "https://www.uol.com.br/esporte/ultimas-noticias/2026/07/22/japao-brasil-liga-das-nacoes-volei-vnl.ghtm",
      "principleId": "be-inclusive",
      "principleCheckId": "legible-text",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "css",
      "severity": "critical",
      "confidence": "high",
      "summary": "Article text is not legible at a common mobile width",
      "evidence": "At 360px the article title is covered by header/navigation controls and body content is clipped/obscured.",
      "artifacts": [
        "evidence/article-mobile.png",
        "evidence/article-mobile-probe.json"
      ],
      "suggestedFix": "Recompose the mobile header and article grid so headings and body copy have an unobstructed single-column reading measure.",
      "effort": "large"
    },
    {
      "id": "F22",
      "pathId": "article",
      "url": "https://www.uol.com.br/esporte/ultimas-noticias/2026/07/22/japao-brasil-liga-das-nacoes-volei-vnl.ghtm",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Reflow and target sizing fail on mobile",
      "evidence": "The article overflows by 85px at 360px and homepage target sampling found links around 14px high and 24x24 controls.",
      "artifacts": [
        "evidence/article-layout-mobile.json",
        "evidence/home-ui-probe.json"
      ],
      "suggestedFix": "Support 320px reflow without two-dimensional scrolling and enlarge interactive targets.",
      "effort": "medium"
    },
    {
      "id": "F23",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "follow-best-practices",
      "principleCheckId": "no-console-errors",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "Third-party integrations log runtime failures",
      "evidence": "Lighthouse captured CORS errors and failed Adnxs network requests in the console.",
      "artifacts": [
        "evidence/home-lighthouse-summary.json"
      ],
      "suggestedFix": "Remove or correct failing bidder requests and handle optional third-party failures without console errors.",
      "effort": "small"
    },
    {
      "id": "F24",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "Asset markup creates avoidable risk",
      "evidence": "The images audit found 90 of 100 images missing dimensions, 21 below-fold images not lazy-loaded, and two missing alts; axe also flagged a delayed meta refresh.",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/home-axe.json"
      ],
      "suggestedFix": "Add intrinsic image dimensions, lazy-load non-critical images, repair alt text, and remove the delayed meta refresh.",
      "effort": "medium"
    },
    {
      "id": "F25",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "follow-best-practices",
      "principleCheckId": "browser-platform-hygiene",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "The page blocks BFCache and has source-map defects",
      "evidence": "Lighthouse found an unload handler that blocks BFCache and missing/broken maps for large first-party/player JavaScript.",
      "artifacts": [
        "evidence/home-lighthouse-summary.json"
      ],
      "suggestedFix": "Replace unload with pagehide/visibility lifecycle handling and publish valid production source maps.",
      "effort": "medium"
    },
    {
      "id": "F26",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "be-discoverable",
      "principleCheckId": "crawlable-and-mobile-friendly",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "A login action is not crawlable and homepage mobile metadata is non-responsive",
      "evidence": "Lighthouse found an anchor without href, and the homepage viewport is hard-coded to width=1210 rather than device width.",
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/recon.json"
      ],
      "suggestedFix": "Use real href destinations for navigation and a device-width viewport with responsive CSS.",
      "effort": "small"
    },
    {
      "id": "F27",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "severity": "high",
      "confidence": "high",
      "summary": "Cookie and response protections are incomplete",
      "evidence": "Although HTTPS, HSTS, and frame-ancestors are present, X-Content-Type-Options is missing and all 19 observed cookies were flagged insecure by the primitive; several analytics/consent cookies lack Secure.",
      "artifacts": [
        "evidence/home-headers.json",
        "evidence/home-cookies.json"
      ],
      "suggestedFix": "Set Secure and appropriate SameSite on every cookie and add nosniff; expand CSP beyond frame-ancestors to meaningful script/object/base controls.",
      "effort": "medium"
    },
    {
      "id": "F28",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "guidanceCategory": "privacy",
      "severity": "critical",
      "confidence": "high",
      "summary": "The page activates an exceptionally broad tracking surface",
      "evidence": "The tracker probe saw 62 third-party origins and 12 known trackers; the HAR attributed 185/192 requests and 2.44MB to non-main origins, while consent copy names 211 partners.",
      "artifacts": [
        "evidence/home-trackers.json",
        "evidence/home-summary.json",
        "evidence/consent-probe.json"
      ],
      "suggestedFix": "Block non-essential vendors before affirmative choice, reduce partners drastically, and batch/minimise measurement events.",
      "effort": "large"
    },
    {
      "id": "F29",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "in-context-permissions-and-modern-auth",
      "guidanceId": "passkey-authentication",
      "guidanceCategory": "security",
      "severity": "medium",
      "confidence": "high",
      "summary": "The exposed sign-in form lacks modern input/auth affordances",
      "evidence": "The homepage sign-in markup exposes email/password fields with no autocomplete tokens and no WebAuthn/passkey signal was observed.",
      "artifacts": [
        "evidence/home-quality-probe.json",
        "evidence/feature-probe.json"
      ],
      "suggestedFix": "Add correct username/current-password autocomplete and offer passkey sign-in/upgrade where account infrastructure permits.",
      "effort": "large"
    },
    {
      "id": "F30",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "severity": "medium",
      "confidence": "high",
      "summary": "Defensive browser policies are only partial",
      "evidence": "Headers lack Permissions-Policy and nosniff; Referrer-Policy remains no-referrer-when-downgrade, and CSP only specifies frame-ancestors.",
      "artifacts": [
        "evidence/home-headers.json"
      ],
      "suggestedFix": "Adopt a restrictive CSP, Permissions-Policy, nosniff, and strict-origin-when-cross-origin or stricter referrer policy.",
      "effort": "medium"
    },
    {
      "id": "F31",
      "pathId": "404",
      "url": "https://www.uol.com.br/definitely-not-a-page-404",
      "principleId": "be-resilient",
      "principleCheckId": "network-and-http-failure-states",
      "guidanceId": "persistent-toast-notifications",
      "guidanceCategory": "user-experience",
      "severity": "high",
      "confidence": "high",
      "summary": "HTTP failure recovery is misleading",
      "evidence": "An invalid URL is rewritten to #404 and then renders ordinary homepage content rather than a clear error and recovery state.",
      "artifacts": [
        "evidence/404-probe.json",
        "evidence/404.png"
      ],
      "suggestedFix": "Preserve the 404 status and provide an explicit error state with recovery actions.",
      "effort": "small"
    },
    {
      "id": "F32",
      "pathId": "sports",
      "url": "https://www.uol.com.br/esporte/",
      "principleId": "be-trustworthy",
      "principleCheckId": "no-dark-patterns",
      "guidanceId": "privacy",
      "guidanceCategory": "privacy",
      "severity": "critical",
      "confidence": "high",
      "summary": "Consent choice is asymmetric and tracking begins before a clear rejection",
      "evidence": "The first consent layer offers Consent and Manage options, but no equally prominent Reject choice; it describes 211 partners. The homepage fallback says continued browsing is agreement and offers only OK.",
      "artifacts": [
        "evidence/sports-mobile.png",
        "evidence/consent-probe.json",
        "evidence/home-desktop.png"
      ],
      "suggestedFix": "Provide Reject all alongside Accept all with equal prominence, default non-essential purposes off, and do not infer consent from browsing.",
      "effort": "medium"
    },
    {
      "id": "F33",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "be-trustworthy",
      "principleCheckId": "trustworthy-input-assistance",
      "guidanceId": "autofill-sign-in-form",
      "guidanceCategory": "forms",
      "severity": "medium",
      "confidence": "high",
      "summary": "Sign-in fields omit autocomplete assistance",
      "evidence": "The DOM probe found email and password inputs with empty autocomplete values and no programmatic labels.",
      "artifacts": [
        "evidence/home-quality-probe.json"
      ],
      "suggestedFix": "Use labelled fields with username and current-password autocomplete tokens; support password managers and passkeys.",
      "effort": "small"
    },
    {
      "id": "F34",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "optimize-image-priority",
      "guidanceCategory": "performance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Image delivery misses responsive efficiency basics",
      "evidence": "Of 100 images, 90 lacked dimensions, 40 lacked srcset, 21 below-fold images were not lazy, and four were oversized.",
      "artifacts": [
        "evidence/home-images.json"
      ],
      "suggestedFix": "Add dimensions, responsive srcset/sizes, lazy loading for below-fold media, and modern formats where seven legacy assets remain.",
      "effort": "medium"
    },
    {
      "id": "F35",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "efficient-background-processing",
      "guidanceCategory": "performance",
      "severity": "high",
      "confidence": "high",
      "summary": "The page performs substantial work unrelated to immediate content",
      "evidence": "Lighthouse estimated 897KiB unused JS and the HAR recorded 64 fetch/XHR requests on initial load.",
      "artifacts": [
        "evidence/home-lighthouse-summary.json",
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Gate background analytics, bidding, consent, and media work on visibility, consent, and user intent.",
      "effort": "large"
    },
    {
      "id": "F36",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "deprioritize-background-fetches",
      "guidanceCategory": "performance",
      "severity": "high",
      "confidence": "high",
      "summary": "Third-party code dominates the page budget",
      "evidence": "Third parties accounted for 185 requests and 2.44MB of 2.61MB transferred; 62 third-party origins were observed.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home-trackers.json"
      ],
      "suggestedFix": "Set and enforce a third-party budget, remove low-value vendors, and lazy-load media/advertising integrations.",
      "effort": "large"
    },
    {
      "id": "F37",
      "pathId": "article",
      "url": "https://www.uol.com.br/esporte/ultimas-noticias/2026/07/22/japao-brasil-liga-das-nacoes-volei-vnl.ghtm",
      "principleId": "be-agent-ready",
      "principleCheckId": "structured-agent-capabilities",
      "guidanceId": "webmcp",
      "guidanceCategory": "user-experience",
      "severity": "medium",
      "confidence": "high",
      "summary": "Public article content is deliberately unavailable to most AI agents",
      "evidence": "Content is server-rendered (89 to 97 percent crawler coverage), but robots.txt explicitly disallows major agent/search user agents and no structured WebMCP capability is exposed.",
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/article-discoverability.json",
        "evidence/feature-probe.json"
      ],
      "suggestedFix": "If agent access is an intended channel, define an explicit agent policy and expose safe, read-only structured capabilities or feeds rather than blanket scraping.",
      "effort": "large"
    },
    {
      "id": "F38",
      "pathId": "home",
      "url": "https://www.uol.com.br/",
      "principleId": "be-memory-efficient",
      "principleCheckId": "bounded-footprint",
      "guidanceId": "defer-rendering-heavy-content",
      "guidanceCategory": "performance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Homepage memory footprint is disproportionate for a news index",
      "evidence": "The baseline heap contained 1,318,836 nodes and 61.1MB self size before user interaction, with 236,636 closures.",
      "artifacts": [
        "evidence/heap-baseline.json"
      ],
      "suggestedFix": "Lazy-initialize non-visible modules and third parties, release unneeded closures, and set a memory budget for the homepage.",
      "effort": "large"
    }
  ],
  "taskList": [
    {
      "id": "T01",
      "title": "Use width=device-width, fluid intrinsic layouts, and responsive header composition; eliminate the article overflow at 320 to 400px.",
      "priority": 1,
      "findingIds": [
        "F09"
      ],
      "guidanceId": "fluid-scaling",
      "status": "open"
    },
    {
      "id": "T02",
      "title": "Repair the responsive article header and use a non-obscuring consent surface so reading can proceed immediately.",
      "priority": 2,
      "findingIds": [
        "F12"
      ],
      "guidanceId": "fluid-scaling",
      "status": "open"
    },
    {
      "id": "T03",
      "title": "Recompose the mobile header and article grid so headings and body copy have an unobstructed single-column reading measure.",
      "priority": 3,
      "findingIds": [
        "F21"
      ],
      "guidanceId": "fluid-scaling",
      "status": "open"
    },
    {
      "id": "T04",
      "title": "Block non-essential vendors before affirmative choice, reduce partners drastically, and batch/minimise measurement events.",
      "priority": 4,
      "findingIds": [
        "F28"
      ],
      "guidanceId": "privacy",
      "status": "open"
    },
    {
      "id": "T05",
      "title": "Provide Reject all alongside Accept all with equal prominence, default non-essential purposes off, and do not infer consent from browsing.",
      "priority": 5,
      "findingIds": [
        "F32"
      ],
      "guidanceId": "privacy",
      "status": "open"
    },
    {
      "id": "T06",
      "title": "Make the consent surface compact and content-first, with equivalent accept/reject controls and access to content without unnecessary interruption.",
      "priority": 6,
      "findingIds": [
        "F06"
      ],
      "guidanceId": "light-dismiss-a-dialog",
      "status": "open"
    },
    {
      "id": "T07",
      "title": "Give reusable header/article components containment and size-aware styles, with viewport fallbacks where needed.",
      "priority": 7,
      "findingIds": [
        "F10"
      ],
      "guidanceId": "size-aware-styling",
      "status": "open"
    },
    {
      "id": "T08",
      "title": "Provide at least 24x24 CSS-pixel targets (prefer 44x44), preserve visible :focus-visible styling, and avoid hover-only affordances.",
      "priority": 8,
      "findingIds": [
        "F11"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T09",
      "title": "Return a real 404 status and a clear not-found page with search, relevant links, and a route back to the homepage.",
      "priority": 9,
      "findingIds": [
        "F13"
      ],
      "guidanceId": "persistent-toast-notifications",
      "status": "open"
    },
    {
      "id": "T10",
      "title": "Prioritise the LCP content, defer ads and non-critical third parties, and break up interaction-blocking work.",
      "priority": 10,
      "findingIds": [
        "F14"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T11",
      "title": "Set a route-level resource budget, delay non-critical advertising/analytics, optimise font delivery, and cache the uncached player script.",
      "priority": 11,
      "findingIds": [
        "F16"
      ],
      "guidanceId": "optimize-script-priority",
      "status": "open"
    },
    {
      "id": "T12",
      "title": "Conditionally import the player and advertising stacks only when their surfaces become eligible or visible.",
      "priority": 12,
      "findingIds": [
        "F17"
      ],
      "guidanceId": "conditional-async-dependencies",
      "status": "open"
    },
    {
      "id": "T13",
      "title": "Fix names and labels, remove prohibited ARIA, and make hidden carousel slides inert.",
      "priority": 13,
      "findingIds": [
        "F18"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T14",
      "title": "Adjust foreground/background design tokens to meet WCAG AA in every state.",
      "priority": 14,
      "findingIds": [
        "F19"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T15",
      "title": "Add one main landmark, repair heading hierarchy/landmarks, and remove hidden slides from sequential focus.",
      "priority": 15,
      "findingIds": [
        "F20"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T16",
      "title": "Support 320px reflow without two-dimensional scrolling and enlarge interactive targets.",
      "priority": 16,
      "findingIds": [
        "F22"
      ],
      "guidanceId": "fluid-scaling",
      "status": "open"
    },
    {
      "id": "T17",
      "title": "Set Secure and appropriate SameSite on every cookie and add nosniff; expand CSP beyond frame-ancestors to meaningful script/object/base controls.",
      "priority": 17,
      "findingIds": [
        "F27"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T18",
      "title": "Preserve the 404 status and provide an explicit error state with recovery actions.",
      "priority": 18,
      "findingIds": [
        "F31"
      ],
      "guidanceId": "persistent-toast-notifications",
      "status": "open"
    },
    {
      "id": "T19",
      "title": "Gate background analytics, bidding, consent, and media work on visibility, consent, and user intent.",
      "priority": 19,
      "findingIds": [
        "F35"
      ],
      "guidanceId": "efficient-background-processing",
      "status": "open"
    },
    {
      "id": "T20",
      "title": "Set and enforce a third-party budget, remove low-value vendors, and lazy-load media/advertising integrations.",
      "priority": 20,
      "findingIds": [
        "F36"
      ],
      "guidanceId": "deprioritize-background-fetches",
      "status": "open"
    },
    {
      "id": "T21",
      "title": "Declare color-scheme and provide preference-driven light/dark surface and text tokens.",
      "priority": 21,
      "findingIds": [
        "F01"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T22",
      "title": "Use prefers-reduced-motion to remove non-essential animation and auto-advance while preserving state feedback.",
      "priority": 22,
      "findingIds": [
        "F02"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T23",
      "title": "Use a native dialog where modality is required, with correct focus containment, Escape/cancel handling, and an explicit close/reject path.",
      "priority": 23,
      "findingIds": [
        "F07"
      ],
      "guidanceId": "declarative-dialog-popover-control",
      "status": "open"
    },
    {
      "id": "T24",
      "title": "Collapse empty ad inventory, reduce stacked navigation chrome, and move the lead content higher.",
      "priority": 24,
      "findingIds": [
        "F08"
      ],
      "guidanceId": "defer-rendering-heavy-content",
      "status": "open"
    },
    {
      "id": "T25",
      "title": "Split long tasks and defer low-priority ad, analytics, and player initialization until needed.",
      "priority": 25,
      "findingIds": [
        "F15"
      ],
      "guidanceId": "optimize-script-priority",
      "status": "open"
    },
    {
      "id": "T26",
      "title": "Remove or correct failing bidder requests and handle optional third-party failures without console errors.",
      "priority": 26,
      "findingIds": [
        "F23"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T27",
      "title": "Add intrinsic image dimensions, lazy-load non-critical images, repair alt text, and remove the delayed meta refresh.",
      "priority": 27,
      "findingIds": [
        "F24"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T28",
      "title": "Replace unload with pagehide/visibility lifecycle handling and publish valid production source maps.",
      "priority": 28,
      "findingIds": [
        "F25"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T29",
      "title": "Use real href destinations for navigation and a device-width viewport with responsive CSS.",
      "priority": 29,
      "findingIds": [
        "F26"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T30",
      "title": "Add correct username/current-password autocomplete and offer passkey sign-in/upgrade where account infrastructure permits.",
      "priority": 30,
      "findingIds": [
        "F29"
      ],
      "guidanceId": "passkey-authentication",
      "status": "open"
    },
    {
      "id": "T31",
      "title": "Adopt a restrictive CSP, Permissions-Policy, nosniff, and strict-origin-when-cross-origin or stricter referrer policy.",
      "priority": 31,
      "findingIds": [
        "F30"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T32",
      "title": "Use labelled fields with username and current-password autocomplete tokens; support password managers and passkeys.",
      "priority": 32,
      "findingIds": [
        "F33"
      ],
      "guidanceId": "autofill-sign-in-form",
      "status": "open"
    },
    {
      "id": "T33",
      "title": "Add dimensions, responsive srcset/sizes, lazy loading for below-fold media, and modern formats where seven legacy assets remain.",
      "priority": 33,
      "findingIds": [
        "F34"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "T34",
      "title": "If agent access is an intended channel, define an explicit agent policy and expose safe, read-only structured capabilities or feeds rather than blanket scraping.",
      "priority": 34,
      "findingIds": [
        "F37"
      ],
      "guidanceId": "webmcp",
      "status": "open"
    },
    {
      "id": "T35",
      "title": "Lazy-initialize non-visible modules and third parties, release unneeded closures, and set a memory budget for the homepage.",
      "priority": 35,
      "findingIds": [
        "F38"
      ],
      "guidanceId": "defer-rendering-heavy-content",
      "status": "open"
    },
    {
      "id": "T36",
      "title": "Add forced-colors and prefers-contrast adaptations for essential text, focus, controls, and scroll affordances.",
      "priority": 36,
      "findingIds": [
        "F03"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T37",
      "title": "Progressively enhance eligible same-origin navigation with cross-document View Transitions and reduced-motion handling.",
      "priority": 37,
      "findingIds": [
        "F04"
      ],
      "guidanceId": "cross-document-transitions",
      "status": "open"
    },
    {
      "id": "T38",
      "title": "Add a lightweight reading/scroll position affordance or responsive sticky chrome that reacts declaratively to scroll state.",
      "priority": 38,
      "findingIds": [
        "F05"
      ],
      "guidanceId": "scroll-position-aware-elements",
      "status": "open"
    }
  ],
  "budget": {
    "wallClockSeconds": 900,
    "pathCount": 4,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-22T15-50-28-735Z"
}
