{
  "url": "https://www.livescore.com",
  "auditedAt": "2026-07-23T06:28:23.758Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage-complete agentic audit across six representative paths. Sports other than football were not separately audited because they share the score-list template; authentication, checkout, and account flows were not exposed in the public surfaces.",
  "page": {
    "appType": "hybrid",
    "framework": "Next.js",
    "notes": "Server-rendered metadata/content with hydrated live-score interactions, a registered service worker, mandatory age choice, and a consent-management layer."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "evaluate-probe",
    "layout-metrics",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "lighthouse",
    "heap-summary",
    "robots/sitemap fetch",
    "Modern Web Guidance search/retrieve"
  ],
  "guidanceConsulted": [
    "accessibility",
    "accessible-error-announcement",
    "language-detection",
    "language-model",
    "summarizer",
    "translator",
    "css",
    "highlight-text-ranges",
    "css-layout",
    "animated-select-picker",
    "autofill-address-form",
    "autofill-highlight-inputs",
    "autofill-payment-form",
    "autofill-sign-in-form",
    "autofill-sign-up-form",
    "brand-consistent-forms",
    "branded-select-styling",
    "custom-select-picker-layouts",
    "form-fields-automatically-fit-contents",
    "forms",
    "required-field-feedback",
    "rich-media-picker",
    "select-menu-interaction",
    "validate-input-after-interaction",
    "html",
    "passkey-authentication",
    "passkey-conditional-create",
    "passkey-management",
    "passkey-reauthentication",
    "passkey-registration",
    "passkeys",
    "batch-analytics-events",
    "break-up-long-tasks",
    "calculate-total-foreground-time",
    "conditional-async-dependencies",
    "defer-rendering-heavy-content",
    "defer-work-until-scroll-ends",
    "deprioritize-background-fetches",
    "detect-initial-visibility-state",
    "efficient-background-processing",
    "faster-spa-view-transitions",
    "full-session-analytics",
    "identify-heavy-scripts",
    "identify-inp-causes",
    "improve-next-page-load-performance",
    "interactions-in-complex-layouts",
    "optimize-image-priority",
    "optimize-preload-priority",
    "optimize-script-priority",
    "performance",
    "resolution-optimized-pseudo-elements",
    "schedule-tasks-by-priority",
    "sequence-distributed-events",
    "privacy",
    "security",
    "adapt-scrollbar-to-contrast-preferences",
    "anchor-positioning-tab-underline",
    "animate-element-entry-exit",
    "animate-to-from-top-layer",
    "animate-to-intrinsic-sizes",
    "apply-webgl-shaders",
    "calculate-event-differentials",
    "calculate-with-intrinsic-sizes",
    "capture-location-agnostic-data",
    "carousel-slide-effects",
    "carousel-snap-highlights",
    "child-state-based-styling",
    "complex-shapes",
    "component-specific-light-dark-theme",
    "consistent-cross-document-transitions",
    "content-based-styling",
    "coordinate-global-events",
    "cross-document-transitions",
    "customize-scrollbar-color-and-thickness",
    "dark-mode",
    "declarative-button-actions",
    "declarative-dialog-popover-control",
    "deliver-optimized-decorative-images",
    "design-token-reactivity",
    "directional-navigation-transitions",
    "dynamic-sibling-animations",
    "dynamic-sibling-styling",
    "export-html-media-from-canvas",
    "expose-canvas-content-to-browser-features",
    "flicker-free-client-side-ab-testing",
    "fluid-scaling",
    "format-human-readable-durations",
    "group-element-transitions",
    "improve-text-layout-and-legibility",
    "individual-transform-properties",
    "interactive-content-in-3d-scenes",
    "interactive-content-reveal",
    "interest-triggered-action-previews",
    "interest-triggered-tooltips",
    "light-dismiss-a-dialog",
    "manage-recurring-intervals",
    "model-partial-time-concepts",
    "move-dom-element-without-losing-state",
    "navigation-drawer",
    "overflow-clipping-control",
    "parallax-scroll-effects",
    "persistent-app-tours",
    "persistent-toast-notifications",
    "persistent-top-layer-ui",
    "physics-based-easing",
    "platform-controls-dismiss-dialog",
    "position-aware-tooltips",
    "precise-text-alignment",
    "prevent-text-wrapping",
    "pull-to-reveal",
    "reduce-style-repetition",
    "resilient-context-menus-and-nested-dropdowns",
    "same-document-transitions",
    "scroll-entry-exit-effects",
    "scroll-position-aware-elements",
    "scroll-progress-indicator",
    "scroll-snap-realtime-feedback",
    "scroll-snap-state-sync",
    "scroll-target-on-load",
    "scrollability-affordance-hints",
    "scrollytelling",
    "search-hidden-content",
    "shaped-cutouts",
    "shrinking-header-on-scroll",
    "size-aware-styling",
    "soft-edge-content-fade",
    "stabilize-reactive-state",
    "stack-drill-down",
    "style-parent-with-has",
    "support-global-calendar-systems",
    "swipe-to-remove",
    "visually-stable-font-fallbacks",
    "visually-stable-mixed-fonts",
    "visually-texture-content",
    "agentic-forms",
    "agentic-javascript-tools",
    "webmcp"
  ],
  "artifacts": [
    {
      "type": "other",
      "path": "evidence/404-headers.txt",
      "caption": "404 headers txt",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/404-mobile.png",
      "caption": "404 mobile png",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/404-probe.json",
      "caption": "404 probe json",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/a11y-probe.json",
      "caption": "a11y probe json",
      "findingIds": [
        "F006",
        "F009",
        "F010"
      ]
    },
    {
      "type": "other",
      "path": "evidence/agent-probe.json",
      "caption": "agent probe json",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/article-mobile.png",
      "caption": "article mobile png",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/article-probe.json",
      "caption": "article probe json",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/auth-permission-probe.json",
      "caption": "auth permission probe json",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "cookies json",
      "findingIds": [
        "F013"
      ]
    },
    {
      "type": "other",
      "path": "evidence/guidance-list.json",
      "caption": "guidance list json",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-retrieved.md",
      "caption": "guidance retrieved md",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-searches.jsonl",
      "caption": "guidance searches jsonl",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "headers json",
      "findingIds": [
        "F013"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.json",
      "caption": "heap baseline json",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/heap-post.json",
      "caption": "heap post json",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-buttons.json",
      "caption": "home buttons json",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-contrast.png",
      "caption": "home contrast png",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "home dark png",
      "findingIds": [
        "F001"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "home desktop png",
      "findingIds": [
        "F003",
        "F014",
        "F017"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-crawler.png",
      "caption": "home discoverability crawler png",
      "findingIds": [
        "F015"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-rendered.png",
      "caption": "home discoverability rendered png",
      "findingIds": [
        "F015"
      ]
    },
    {
      "type": "discoverability",
      "path": "evidence/home-discoverability.json",
      "caption": "home discoverability json",
      "findingIds": [
        "F015"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "home dom json",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile-after-onboarding.png",
      "caption": "home mobile after onboarding png",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/home-mobile-layout.json",
      "caption": "home mobile layout json",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "home mobile png",
      "findingIds": [
        "F003",
        "F005"
      ]
    },
    {
      "type": "other",
      "path": "evidence/home-recon.json",
      "caption": "home recon json",
      "findingIds": []
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "home summary json",
      "findingIds": [
        "F008",
        "F014",
        "F018",
        "F019"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "home trace summary json",
      "findingIds": [
        "F007"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "home trace json",
      "findingIds": []
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "home har",
      "findingIds": [
        "F008"
      ]
    },
    {
      "type": "other",
      "path": "evidence/i18n-css-probe.json",
      "caption": "i18n css probe json",
      "findingIds": [
        "F016"
      ]
    },
    {
      "type": "other",
      "path": "evidence/images.json",
      "caption": "images json",
      "findingIds": [
        "F012",
        "F018"
      ]
    },
    {
      "type": "other",
      "path": "evidence/interruption-probe.json",
      "caption": "interruption probe json",
      "findingIds": [
        "F003",
        "F004"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-home.json",
      "caption": "lighthouse home json",
      "findingIds": [
        "F007"
      ]
    },
    {
      "type": "other",
      "path": "evidence/lighthouse-summary.json",
      "caption": "lighthouse summary json",
      "findingIds": [
        "F007",
        "F008",
        "F009",
        "F010",
        "F011",
        "F012"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/match-mobile.png",
      "caption": "match mobile png",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/match-probe.json",
      "caption": "match probe json",
      "findingIds": [
        "F011"
      ]
    },
    {
      "type": "other",
      "path": "evidence/modern-ui-probe.json",
      "caption": "modern ui probe json",
      "findingIds": [
        "F004"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/news-discoverability-crawler.png",
      "caption": "news discoverability crawler png",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/news-discoverability-rendered.png",
      "caption": "news discoverability rendered png",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/news-discoverability.json",
      "caption": "news discoverability json",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/news-mobile.png",
      "caption": "news mobile png",
      "findingIds": [
        "F003",
        "F017"
      ]
    },
    {
      "type": "other",
      "path": "evidence/news-probe.json",
      "caption": "news probe json",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/platform-probe.json",
      "caption": "platform probe json",
      "findingIds": [
        "F001",
        "F005",
        "F006",
        "F010"
      ]
    },
    {
      "type": "other",
      "path": "evidence/reduced-motion.json",
      "caption": "reduced motion json",
      "findingIds": [
        "F002"
      ]
    },
    {
      "type": "other",
      "path": "evidence/robots.txt",
      "caption": "robots txt",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "secrets json",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/seo-probe.json",
      "caption": "seo probe json",
      "findingIds": [
        "F016"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/settings-mobile.png",
      "caption": "settings mobile png",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/settings-probe.json",
      "caption": "settings probe json",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/sitemap.xml",
      "caption": "sitemap xml",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "trackers json",
      "findingIds": [
        "F014",
        "F019"
      ]
    },
    {
      "type": "other",
      "path": "coverage-manifest.json",
      "caption": "coverage manifest json",
      "findingIds": []
    }
  ],
  "config": {
    "loaded": false
  },
  "coverage": {
    "catalogVersion": "modern-web-guidance@0.0.172",
    "catalogChecksum": "sha256:78ccfdb2d483f4c57d9dafed80fd86c6265585a56457c8dcfddc254b80fb44d7",
    "expected": 58,
    "recorded": 58,
    "judged": 58,
    "blocked": 0,
    "notRun": 0,
    "missing": 0,
    "unknown": 0,
    "duplicates": 0,
    "complete": true
  },
  "checkOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-color-scheme",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review tied to finding F001",
      "evidence": "The platform probe reports computed color-scheme \"normal\" and the dark-emulation capture does not establish any preference-driven retinting; no color-scheme declaration was found.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F001"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review tied to finding F002",
      "evidence": "Under prefers-reduced-motion: reduce, the active probe found two running animations, each with a 1000 ms duration, and zero reduced-motion CSS rules.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/reduced-motion.json"
      ],
      "findingIds": [
        "F002"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "pass",
      "confidence": "medium",
      "method": "screenshot + forced-colors emulation",
      "evidence": "Screenshot under forced-colors and prefers-contrast shows text, links, and outlined age controls remain visible.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/home-contrast.png"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "pass",
      "confidence": "medium",
      "method": "computed CSS probe",
      "evidence": "Live CSS inspection found five view-transition rules and the browser View Transition API is available.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/modern-ui-probe.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "pass",
      "confidence": "medium",
      "method": "computed CSS probe",
      "evidence": "Live CSS inspection found one animation-timeline/scroll-timeline rule, avoiding a purely scroll-event implementation for the observed scroll-linked effect.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/modern-ui-probe.json"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon",
      "evidence": "No swipe, drag, pull-to-refresh, carousel, or other custom gesture was present on the representative score, match, news, article, or settings surfaces.",
      "reason": "No swipe, drag, pull-to-refresh, carousel, or other custom gesture was present on the representative score, match, news, article, or settings surfaces."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "pass",
      "confidence": "medium",
      "method": "CSS probe + mobile screenshot",
      "evidence": "The CSS probe found a declarative scroll-timeline rule and the mobile capture shows persistent, position-aware top navigation.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/modern-ui-probe.json"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon",
      "evidence": "No tooltip, transient popover, or edge-positioned menu was exposed in the representative paths; there was no anchored overlay to test.",
      "reason": "No tooltip, transient popover, or edge-positioned menu was exposed in the representative paths; there was no anchored overlay to test."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "medium",
      "method": "CSS probe + screenshots",
      "evidence": "Active navigation pills and five view-transition rules provide visible location and movement cues across score/news states.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/modern-ui-probe.json"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review tied to finding F003",
      "evidence": "Desktop and mobile screenshots show the score experience fully covered by either an age gate or a privacy panel. The interruption probe measured a fixed 780x493 element covering the full 780x493 viewport and body overflow hidden.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png",
        "evidence/news-mobile.png",
        "evidence/interruption-probe.json"
      ],
      "findingIds": [
        "F003"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review tied to finding F004",
      "evidence": "The interruption probe found a full-screen fixed DIV and the modern UI probe found zero dialog elements, popovers, or aria-modal dialogs.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/interruption-probe.json",
        "evidence/modern-ui-probe.json"
      ],
      "findingIds": [
        "F004"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "pass",
      "confidence": "medium",
      "method": "DOM recon + screenshot review",
      "evidence": "Behind the required decision layer, the rendered DOM is dominated by score rows and direct sport/date navigation rather than ornamental application framing.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/home-dom.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "pass",
      "confidence": "medium",
      "method": "mobile layout primitive",
      "evidence": "At 360x800 the layout reported scrollWidth 360, innerWidth 360, zero horizontal overflow, and a viewport meta tag.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "medium",
      "method": "Active evidence review tied to finding F005",
      "evidence": "The platform probe found zero CSS container rules despite reusable match, league, navigation, and footer components rendered in several widths.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F005"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review tied to finding F006",
      "evidence": "The interaction probe found favourite buttons rendered at 16x16 px and multiple controls at 40x40 px. The focused first link computed to outline-style none.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/a11y-probe.json",
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F006"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "medium",
      "method": "DOM and link walkthrough",
      "evidence": "The H1 identifies live football scores and direct sport, date, league, and match links expose the next action.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/home-recon.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "pass",
      "confidence": "medium",
      "method": "homepage-to-match walkthrough",
      "evidence": "The rendered DOM contains current fixtures linking directly to detailed match pages, and the selected detail URL rendered a specific match H1 and metadata.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/match-probe.json"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "pass",
      "confidence": "medium",
      "method": "intentional 404 walkthrough",
      "evidence": "The intentional unknown route visibly reports 404, explains the failure, and offers Try again plus contact links.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/404-probe.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review tied to finding F007",
      "evidence": "Lighthouse measured LCP at 11.4 s, Speed Index at 5.3 s, TBT at 240 ms, and a performance score of 0.67. A separate unthrottled trace measured LCP at 2.434 s, showing a material slow-network sensitivity.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "findingIds": [
        "F007"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "medium",
      "method": "layout observer + Lighthouse",
      "evidence": "The mobile layout observer measured CLS 0.0098; Lighthouse measured CLS 0.023, both within the good range.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "medium",
      "method": "performance trace summary",
      "evidence": "The trace recorded two long tasks, 73.26 ms longest, and 28.49 ms total blocking time in the unthrottled run; no sustained main-thread blockage was observed.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review tied to finding F008",
      "evidence": "The HAR records 102 requests and 1,161,947 transferred bytes, including 43 scripts (609,529 bytes), 11 stylesheets, and 355,212 third-party bytes. Lighthouse flags the network dependency tree.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home.har",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F008"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review tied to finding F008",
      "evidence": "The HAR records 102 requests and 1,161,947 transferred bytes, including 43 scripts (609,529 bytes), 11 stylesheets, and 355,212 third-party bytes. Lighthouse flags the network dependency tree.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home.har",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F008"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review tied to finding F009",
      "evidence": "Lighthouse fails button-name and link-name. The DOM probe identifies two date-navigation anchors containing only SVG with no aria-label or meaningful text.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/a11y-probe.json"
      ],
      "findingIds": [
        "F009"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "pass",
      "confidence": "medium",
      "method": "Lighthouse + forced-colors screenshot",
      "evidence": "Lighthouse did not report a contrast failure, and the forced-colors screenshot preserves high-contrast readable text and controls.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/home-contrast.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review tied to finding F010",
      "evidence": "Lighthouse fails heading-order and accessibility-tree checks; the rendered heading sequence jumps from H1 to H4, and the first focused link has outline-style none.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/a11y-probe.json",
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F010"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "medium",
      "method": "multi-path screenshot review",
      "evidence": "Desktop, mobile, news, and article captures show readable line lengths and unclipped text at the tested widths.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/news-mobile.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review tied to finding F011",
      "evidence": "The match probe shows maximum-scale=1.0 and Lighthouse fails meta-viewport because maximum-scale is less than 5.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/match-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F011"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "pass",
      "confidence": "medium",
      "method": "Lighthouse audit",
      "evidence": "Lighthouse best-practices score was 0.92 and did not list errors-in-console or uncaught exception audits among failures.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review tied to finding F012",
      "evidence": "Lighthouse fails image-aspect-ratio and image-size-responsive; the image probe reports 23 of 32 images as oversized and 21 in legacy PNG format.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F012"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "pass",
      "confidence": "medium",
      "method": "Lighthouse + permission probe",
      "evidence": "Lighthouse did not flag deprecated APIs, paste prevention, permission prompts, vulnerable libraries, or BFCache blockers; permission states remained prompt without an on-load browser prompt.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/auth-permission-probe.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "pass",
      "confidence": "medium",
      "method": "multi-path metadata probe",
      "evidence": "Homepage, match, news, and article probes all returned specific titles and meta descriptions.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/article-probe.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "pass",
      "confidence": "medium",
      "method": "DOM + robots + Lighthouse",
      "evidence": "Real href links, viewport metadata, robots Allow: /, and descriptive content links were observed; Lighthouse SEO scored 1.0.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/seo-probe.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "pass",
      "confidence": "medium",
      "method": "SEO probe + robots",
      "evidence": "Canonical URLs, 18 hreflang alternates, robots Allow, sitemap declaration, and HTTP 200 responses were observed without accidental noindex.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/seo-probe.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "pass",
      "confidence": "medium",
      "method": "article metadata probe",
      "evidence": "The article has NewsArticle JSON-LD and matching Open Graph title, description, image, and URL; homepage/match pages also expose JSON-LD.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/article-probe.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review tied to finding F013",
      "evidence": "The headers primitive reports no Content-Security-Policy, no X-Content-Type-Options, and no Referrer-Policy. The OptanonConsent cookie is not Secure. HTTPS, HSTS, X-Frame-Options, and Permissions-Policy are present.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "F013"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review tied to finding F014",
      "evidence": "The privacy UI names 745 partners. Network evidence records 32 third-party requests and 355,212 third-party bytes, including Permutive and GeoEdge scripts; the tracker probe sees nine third-party origins.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ],
      "findingIds": [
        "F014"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "pass",
      "confidence": "medium",
      "method": "permissions probe + visual review",
      "evidence": "Geolocation and notifications remained in prompt state with no on-load browser prompt; no authentication flow is present on the representative public paths.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/auth-permission-probe.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review tied to finding F013",
      "evidence": "The headers primitive reports no Content-Security-Policy, no X-Content-Type-Options, and no Referrer-Policy. The OptanonConsent cookie is not Secure. HTTPS, HSTS, X-Frame-Options, and Permissions-Policy are present.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "F013"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review tied to finding F015",
      "evidence": "The no-JavaScript crawler screenshot replaces the score list with an out-of-date/disabled-browser warning and a legacy-site link. Discoverability coverage is only 48%, although title, H1, and some server-rendered text remain.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/home-discoverability-crawler.png",
        "evidence/home-discoverability-rendered.png"
      ],
      "findingIds": [
        "F015"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "medium",
      "method": "CSS + route walkthrough",
      "evidence": "Anchor-position and scroll-timeline CSS rules were present, representative routes rendered without blank shells, and the tested 404 recovered intentionally.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/modern-ui-probe.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "pass",
      "confidence": "medium",
      "method": "service-worker and manifest probe",
      "evidence": "A service-worker registration is active and the manifest supplies name, start_url, fullscreen display, theme/background colors, and install icons.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "confidence": "medium",
      "method": "intentional failure-state walkthrough",
      "evidence": "The intentional unknown route provides a clear 404 message, retry/home action, and support contact rather than a blank shell.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/404-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review tied to finding F016",
      "evidence": "Across readable stylesheets, the CSS probe counted hundreds of physical left/right declarations but only 17 logical-property occurrences. The document does correctly declare lang=en and dir=ltr and exposes 18 localized alternates.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/i18n-css-probe.json",
        "evidence/seo-probe.json"
      ],
      "findingIds": [
        "F016"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "pass",
      "confidence": "medium",
      "method": "SEO, article, and settings probes",
      "evidence": "The site exposes 18 localized alternates; the article uses a machine-readable ISO datetime and the settings surface explicitly supports timezone preferences.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/article-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "pass",
      "confidence": "medium",
      "method": "datetime + settings probe",
      "evidence": "Article time is stored as unambiguous UTC (2026-07-22T15:22:15.498Z) and rendered as local-facing text; settings copy exposes timezone customization.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/article-probe.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review tied to finding F017",
      "evidence": "The mobile privacy screenshot gives equal visual prominence to “I Accept” and “Pay to Reject”, while describing 745 partners and blocking the news content until a choice is made.",
      "pathIds": [
        "news"
      ],
      "artifacts": [
        "evidence/news-mobile.png",
        "evidence/home-desktop.png"
      ],
      "findingIds": [
        "F017"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon",
      "evidence": "No user-data form is part of the representative public score, news, match, or settings journey; only age and privacy decisions are present.",
      "reason": "No user-data form is part of the representative public score, news, match, or settings journey; only age and privacy decisions are present."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon",
      "evidence": "No address, payment, sign-in, or sign-up text-input flow is present in the audited public surfaces.",
      "reason": "No address, payment, sign-in, or sign-up text-input flow is present in the audited public surfaces."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review tied to finding F017",
      "evidence": "The mobile privacy screenshot gives equal visual prominence to “I Accept” and “Pay to Reject”, while describing 745 partners and blocking the news content until a choice is made.",
      "pathIds": [
        "news"
      ],
      "artifacts": [
        "evidence/news-mobile.png",
        "evidence/home-desktop.png"
      ],
      "findingIds": [
        "F017"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review tied to finding F018",
      "evidence": "The image probe marks 23 of 32 images oversized, five without responsive srcset, and 21 using legacy formats. A stadium image alone transfers 163,490 bytes.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F018"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review tied to finding F019",
      "evidence": "Third parties account for 355,212 of 1,161,947 transferred bytes; Permutive and GeoEdge scripts are two of the three largest non-image resources and load on the initial route.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ],
      "findingIds": [
        "F019"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "Active evidence review tied to finding F019",
      "evidence": "Third parties account for 355,212 of 1,161,947 transferred bytes; Permutive and GeoEdge scripts are two of the three largest non-image resources and load on the initial route.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ],
      "findingIds": [
        "F019"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon",
      "evidence": "This public score/news experience exposes content rather than an agent-facing transactional capability; emerging WebMCP tooling is not required for the audited scope.",
      "reason": "This public score/news experience exposes content rather than an agent-facing transactional capability; emerging WebMCP tooling is not required for the audited scope."
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Applicability judgement from representative-path recon",
      "evidence": "No summarisation, generation, or language-processing task in the audited core score journey requires on-device inference.",
      "reason": "No summarisation, generation, or language-processing task in the audited core score journey requires on-device inference."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "medium",
      "method": "baseline/post heap comparison",
      "evidence": "After the repeated favourite-toggle exercise, heap self size was 25.36 MB versus 23.67 MB baseline (+7.1%); ordinary Object/Array populations were flat and no unbounded retained-growth pattern was established in this bounded run.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/heap-post.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "medium",
      "method": "heap summary",
      "evidence": "The loaded score page heap was 23.67 MB with 482,510 snapshot nodes, proportionate to a live data application in the tested state.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/heap-baseline.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "heap constructor comparison",
      "evidence": "Baseline/post summaries did not show Detached* constructors among top retained constructors; Object and Array populations were flat after the exercise.",
      "pathIds": [
        "home",
        "match",
        "news",
        "article",
        "settings"
      ],
      "artifacts": [
        "evidence/heap-baseline.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F001",
        "F002"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F003",
        "F004"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F005",
        "F006"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F007",
        "F008"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F009",
        "F010",
        "F011"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F012"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F013",
        "F014"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F015"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F016"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F017"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F018",
        "F019"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "All checks were judged not applicable to this public score/news scope."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage and live-score listing, the primary score-discovery journey and shared application chrome.",
      "url": "https://www.livescore.com/en/",
      "conditions": [
        "desktop",
        "viewport: 360x800",
        "prefers-color-scheme: dark",
        "prefers-reduced-motion: reduce",
        "forced-colors: active",
        "no JavaScript"
      ],
      "result": "issues"
    },
    {
      "id": "match",
      "description": "Match-detail archetype, representing live event detail pages.",
      "url": "https://www.livescore.com/en/football/europa-league/qualification/qarabag-fk-vs-pfc-cska-sofia/1792154/",
      "conditions": [
        "viewport: 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "news",
      "description": "News listing archetype, representing editorial discovery and non-JavaScript crawlability.",
      "url": "https://www.livescore.com/en/news/",
      "conditions": [
        "viewport: 360x800",
        "no JavaScript"
      ],
      "result": "issues"
    },
    {
      "id": "article",
      "description": "News article archetype, representing long-form content and share/structured metadata.",
      "url": "https://www.livescore.com/en/news/cricket/pooran-curran-propel-mi-london-to-opening-day-win/",
      "conditions": [
        "viewport: 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "settings",
      "description": "Settings and privacy-management surface, representing an interactive preference flow.",
      "url": "https://www.livescore.com/en/settings/",
      "conditions": [
        "viewport: 360x800"
      ],
      "result": "issues"
    },
    {
      "id": "not-found",
      "description": "Intentional unknown route, representing HTTP failure and recovery behavior.",
      "url": "https://www.livescore.com/en/this-route-does-not-exist-web-uplift/",
      "conditions": [
        "viewport: 360x800"
      ],
      "result": "pass"
    }
  ],
  "findings": [
    {
      "id": "F001",
      "pathId": "home",
      "url": "https://www.livescore.com/en/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "guidanceCategory": "css",
      "severity": "medium",
      "confidence": "high",
      "summary": "The interface is hard-coded to a dark palette rather than responding to the system theme.",
      "evidence": "The platform probe reports computed color-scheme \"normal\" and the dark-emulation capture does not establish any preference-driven retinting; no color-scheme declaration was found.",
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/platform-probe.json"
      ],
      "suggestedFix": "Declare color-scheme: light dark and use prefers-color-scheme or light-dark() tokens so surfaces follow the user preference.",
      "effort": "medium"
    },
    {
      "id": "F002",
      "pathId": "home",
      "url": "https://www.livescore.com/en/",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-reduced-motion",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "medium",
      "confidence": "high",
      "summary": "Animations continue when reduced motion is requested.",
      "evidence": "Under prefers-reduced-motion: reduce, the active probe found two running animations, each with a 1000 ms duration, and zero reduced-motion CSS rules.",
      "artifacts": [
        "evidence/reduced-motion.json"
      ],
      "suggestedFix": "Add a prefers-reduced-motion: reduce branch that removes non-essential animation and transitions while preserving state cues.",
      "effort": "small"
    },
    {
      "id": "F003",
      "pathId": "home",
      "url": "https://www.livescore.com/en/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "no-intrusive-interruptions",
      "guidanceId": "light-dismiss-a-dialog",
      "guidanceCategory": "user-experience",
      "severity": "high",
      "confidence": "high",
      "summary": "Full-viewport age and privacy gates obscure the primary score content on arrival.",
      "evidence": "Desktop and mobile screenshots show the score experience fully covered by either an age gate or a privacy panel. The interruption probe measured a fixed 780x493 element covering the full 780x493 viewport and body overflow hidden.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png",
        "evidence/news-mobile.png",
        "evidence/interruption-probe.json"
      ],
      "suggestedFix": "Keep legally required choices concise and accessible, preserve an immediate content preview where allowed, and implement the modal with the native dialog primitive and clear dismiss/decision paths.",
      "effort": "medium"
    },
    {
      "id": "F004",
      "pathId": "home",
      "url": "https://www.livescore.com/en/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "guidanceCategory": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "The blocking age experience is a custom fixed div rather than a semantic modal.",
      "evidence": "The interruption probe found a full-screen fixed DIV and the modern UI probe found zero dialog elements, popovers, or aria-modal dialogs.",
      "artifacts": [
        "evidence/interruption-probe.json",
        "evidence/modern-ui-probe.json"
      ],
      "suggestedFix": "Use <dialog> with showModal(), autofocus/focus restoration, Escape handling, and a labelled heading for the blocking age decision.",
      "effort": "medium"
    },
    {
      "id": "F005",
      "pathId": "home",
      "url": "https://www.livescore.com/en/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "guidanceCategory": "css",
      "severity": "low",
      "confidence": "medium",
      "summary": "Reusable score components appear to depend on viewport rules rather than container-level adaptation.",
      "evidence": "The platform probe found zero CSS container rules despite reusable match, league, navigation, and footer components rendered in several widths.",
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Give reusable cards and navigation regions containment and apply @container rules where their composition changes with available component space.",
      "effort": "medium"
    },
    {
      "id": "F006",
      "pathId": "home",
      "url": "https://www.livescore.com/en/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Several controls are too small for touch and the first focused link has no visible outline style.",
      "evidence": "The interaction probe found favourite buttons rendered at 16x16 px and multiple controls at 40x40 px. The focused first link computed to outline-style none.",
      "artifacts": [
        "evidence/a11y-probe.json",
        "evidence/platform-probe.json"
      ],
      "suggestedFix": "Provide at least 44x44 CSS pixel hit areas (spacing can count), add a strong :focus-visible treatment, and retain non-hover affordances.",
      "effort": "small"
    },
    {
      "id": "F007",
      "pathId": "home",
      "url": "https://www.livescore.com/en/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "guidanceCategory": "performance",
      "severity": "high",
      "confidence": "high",
      "summary": "The throttled load misses the good LCP range.",
      "evidence": "Lighthouse measured LCP at 11.4 s, Speed Index at 5.3 s, TBT at 240 ms, and a performance score of 0.67. A separate unthrottled trace measured LCP at 2.434 s, showing a material slow-network sensitivity.",
      "artifacts": [
        "evidence/lighthouse-home.json",
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json"
      ],
      "suggestedFix": "Profile the LCP element, prioritize its required resource, cut critical dependency depth, and defer non-essential scripts using the performance guidance.",
      "effort": "large"
    },
    {
      "id": "F008",
      "pathId": "home",
      "url": "https://www.livescore.com/en/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-script-priority",
      "guidanceCategory": "performance",
      "severity": "high",
      "confidence": "high",
      "summary": "A script-heavy dependency chain and third-party payload delay useful rendering.",
      "evidence": "The HAR records 102 requests and 1,161,947 transferred bytes, including 43 scripts (609,529 bytes), 11 stylesheets, and 355,212 third-party bytes. Lighthouse flags the network dependency tree.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/home.har",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Reduce initial route chunks, load advertising/measurement after consent and idle, consolidate critical CSS, and keep deferred scripts out of the LCP chain.",
      "effort": "large"
    },
    {
      "id": "F009",
      "pathId": "home",
      "url": "https://www.livescore.com/en/",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "Icon links lack accessible names.",
      "evidence": "Lighthouse fails button-name and link-name. The DOM probe identifies two date-navigation anchors containing only SVG with no aria-label or meaningful text.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/a11y-probe.json"
      ],
      "suggestedFix": "Add concise accessible names to icon-only links/buttons and verify all controls expose the intended name and role in the accessibility tree.",
      "effort": "small"
    },
    {
      "id": "F010",
      "pathId": "home",
      "url": "https://www.livescore.com/en/",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "guidanceCategory": "accessibility",
      "severity": "medium",
      "confidence": "high",
      "summary": "Heading order and keyboard focus presentation are not robust.",
      "evidence": "Lighthouse fails heading-order and accessibility-tree checks; the rendered heading sequence jumps from H1 to H4, and the first focused link has outline-style none.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/a11y-probe.json",
        "evidence/platform-probe.json"
      ],
      "suggestedFix": "Use sequential semantic headings and landmarks, and define an unmistakable :focus-visible ring for every interactive control.",
      "effort": "small"
    },
    {
      "id": "F011",
      "pathId": "home",
      "url": "https://www.livescore.com/en/",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "fluid-scaling",
      "guidanceCategory": "accessibility",
      "severity": "high",
      "confidence": "high",
      "summary": "The viewport metadata restricts user zoom.",
      "evidence": "The match probe shows maximum-scale=1.0 and Lighthouse fails meta-viewport because maximum-scale is less than 5.",
      "artifacts": [
        "evidence/match-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Remove maximum-scale and any user-scalable restriction so users can zoom while retaining the existing responsive reflow.",
      "effort": "trivial"
    },
    {
      "id": "F012",
      "pathId": "home",
      "url": "https://www.livescore.com/en/",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "guidanceCategory": "html",
      "severity": "medium",
      "confidence": "high",
      "summary": "Some images are served at unsuitable dimensions or aspect ratios.",
      "evidence": "Lighthouse fails image-aspect-ratio and image-size-responsive; the image probe reports 23 of 32 images as oversized and 21 in legacy PNG format.",
      "artifacts": [
        "evidence/images.json",
        "evidence/lighthouse-summary.json"
      ],
      "suggestedFix": "Serve correctly cropped responsive image variants with width/height, srcset/sizes, and modern formats while preserving intrinsic aspect ratio.",
      "effort": "medium"
    },
    {
      "id": "F013",
      "pathId": "home",
      "url": "https://www.livescore.com/en/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "security",
      "severity": "high",
      "confidence": "high",
      "summary": "Important browser security headers are missing and the consent cookie lacks Secure.",
      "evidence": "The headers primitive reports no Content-Security-Policy, no X-Content-Type-Options, and no Referrer-Policy. The OptanonConsent cookie is not Secure. HTTPS, HSTS, X-Frame-Options, and Permissions-Policy are present.",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "suggestedFix": "Deploy a restrictive CSP, nosniff, and an explicit Referrer-Policy; mark all HTTPS cookies Secure and retain SameSite protections.",
      "effort": "medium"
    },
    {
      "id": "F014",
      "pathId": "home",
      "url": "https://www.livescore.com/en/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "guidanceCategory": "privacy",
      "severity": "high",
      "confidence": "high",
      "summary": "The pre-consent page has a large third-party and partner footprint.",
      "evidence": "The privacy UI names 745 partners. Network evidence records 32 third-party requests and 355,212 third-party bytes, including Permutive and GeoEdge scripts; the tracker probe sees nine third-party origins.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ],
      "suggestedFix": "Default to data minimisation, gate advertising and measurement tags until an informed choice, reduce partner count, and batch only necessary analytics.",
      "effort": "large"
    },
    {
      "id": "F015",
      "pathId": "home",
      "url": "https://www.livescore.com/en/",
      "principleId": "be-resilient",
      "principleCheckId": "progressive-enhancement",
      "guidanceId": "stabilize-reactive-state",
      "guidanceCategory": "user-experience",
      "severity": "high",
      "confidence": "high",
      "summary": "Core live-score content is not usable without JavaScript.",
      "evidence": "The no-JavaScript crawler screenshot replaces the score list with an out-of-date/disabled-browser warning and a legacy-site link. Discoverability coverage is only 48%, although title, H1, and some server-rendered text remain.",
      "artifacts": [
        "evidence/home-discoverability.json",
        "evidence/home-discoverability-crawler.png",
        "evidence/home-discoverability-rendered.png"
      ],
      "suggestedFix": "Server-render the current score list and core navigation as functional HTML, then hydrate enhancements; retain the legacy link only as a fallback.",
      "effort": "large"
    },
    {
      "id": "F016",
      "pathId": "home",
      "url": "https://www.livescore.com/en/",
      "principleId": "be-internationalised",
      "principleCheckId": "lang-dir-and-logical-properties",
      "guidanceId": "translator",
      "guidanceCategory": "internationalization",
      "severity": "medium",
      "confidence": "high",
      "summary": "The stylesheet relies overwhelmingly on physical left/right properties.",
      "evidence": "Across readable stylesheets, the CSS probe counted hundreds of physical left/right declarations but only 17 logical-property occurrences. The document does correctly declare lang=en and dir=ltr and exposes 18 localized alternates.",
      "artifacts": [
        "evidence/i18n-css-probe.json",
        "evidence/seo-probe.json"
      ],
      "suggestedFix": "Migrate directional spacing, sizing, and positioning to logical inline/block properties and regression-test the Arabic locale in RTL.",
      "effort": "large"
    },
    {
      "id": "F017",
      "pathId": "news",
      "url": "https://www.livescore.com/en/news/",
      "principleId": "be-trustworthy",
      "principleCheckId": "no-dark-patterns",
      "guidanceId": "privacy",
      "guidanceCategory": "privacy",
      "severity": "high",
      "confidence": "high",
      "summary": "Rejecting partner processing is presented as “Pay to Reject”.",
      "evidence": "The mobile privacy screenshot gives equal visual prominence to “I Accept” and “Pay to Reject”, while describing 745 partners and blocking the news content until a choice is made.",
      "artifacts": [
        "evidence/news-mobile.png",
        "evidence/home-desktop.png"
      ],
      "suggestedFix": "Offer a free, equally prominent reject-non-essential option with neutral wording; separate any paid ad-free product from the consent decision.",
      "effort": "medium"
    },
    {
      "id": "F018",
      "pathId": "home",
      "url": "https://www.livescore.com/en/",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "optimize-image-priority",
      "guidanceCategory": "performance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Image delivery is not consistently resolution- or format-efficient.",
      "evidence": "The image probe marks 23 of 32 images oversized, five without responsive srcset, and 21 using legacy formats. A stadium image alone transfers 163,490 bytes.",
      "artifacts": [
        "evidence/images.json",
        "evidence/home-summary.json"
      ],
      "suggestedFix": "Generate right-sized AVIF/WebP variants, use srcset/sizes, and avoid downloading decorative stadium art at a larger resolution than rendered.",
      "effort": "medium"
    },
    {
      "id": "F019",
      "pathId": "home",
      "url": "https://www.livescore.com/en/",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "deprioritize-background-fetches",
      "guidanceCategory": "performance",
      "severity": "medium",
      "confidence": "high",
      "summary": "Third-party scripts consume a disproportionate share of the initial route budget.",
      "evidence": "Third parties account for 355,212 of 1,161,947 transferred bytes; Permutive and GeoEdge scripts are two of the three largest non-image resources and load on the initial route.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ],
      "suggestedFix": "Delay non-essential third-party execution until consent and idle/interaction, remove low-value vendors, and enforce a route-level third-party byte budget.",
      "effort": "large"
    }
  ],
  "taskList": [
    {
      "id": "T001",
      "title": "Remove consent coercion and reduce the pre-consent partner footprint",
      "priority": 1,
      "findingIds": [
        "F003",
        "F014",
        "F017"
      ],
      "guidanceId": "privacy",
      "status": "open"
    },
    {
      "id": "T002",
      "title": "Restore zoom, control names, focus visibility, and touch target sizing",
      "priority": 2,
      "findingIds": [
        "F006",
        "F009",
        "F010",
        "F011"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T003",
      "title": "Cut the initial script/dependency chain and optimize LCP",
      "priority": 3,
      "findingIds": [
        "F007",
        "F008",
        "F019"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T004",
      "title": "Add CSP, nosniff, Referrer-Policy, and secure cookie attributes",
      "priority": 4,
      "findingIds": [
        "F013"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T005",
      "title": "Server-render usable current scores for no-JavaScript resilience",
      "priority": 5,
      "findingIds": [
        "F015"
      ],
      "guidanceId": "stabilize-reactive-state",
      "status": "open"
    },
    {
      "id": "T006",
      "title": "Make required overlays semantic and less obstructive",
      "priority": 6,
      "findingIds": [
        "F003",
        "F004"
      ],
      "guidanceId": "declarative-dialog-popover-control",
      "status": "open"
    },
    {
      "id": "T007",
      "title": "Honor system theme and reduced-motion preferences",
      "priority": 7,
      "findingIds": [
        "F001",
        "F002"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T008",
      "title": "Modernize image sizing, formats, and responsive delivery",
      "priority": 8,
      "findingIds": [
        "F012",
        "F018"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "T009",
      "title": "Adopt container queries and logical properties",
      "priority": 9,
      "findingIds": [
        "F005",
        "F016"
      ],
      "guidanceId": "size-aware-styling",
      "status": "open"
    }
  ],
  "budget": {
    "wallClockSeconds": 1080,
    "pathCount": 6,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-23T06-28-23-758Z"
}
