Manifest position 908 · CrUX rank bucket 1000
https://www.flashscore.com
Coverage complete
Coverage-complete agentic audit of four representative public templates; no source was provided and no fixes were applied.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | The normal and prefers-color-scheme: dark screenshots are visually identical, and the loaded CSS probe found no prefers-color-scheme rule. The page imposes its dark theme rather than adapting to the system setting. F001 medium: Theme does not follow the user color-scheme preference. |
respect-user-preferencesrespects-reduced-motion | issues | high | The reduced-motion evaluate probe reported the same 13 running placeholderShimmer animations, each 1500ms with infinite iterations, as the normal condition. F002 medium: Infinite shimmer animation continues under reduced motion. |
respect-user-preferencesrespects-contrast | pass | high | High-contrast emulation retained visible light text, dark surfaces, red controls and clear boundaries; Lighthouse color-contrast passed. |
implement-natural-interactionsview-transitions | pass | high | Computed CSS inspection found view-transition rules and representative tabs/routes preserve directional active-state cues. |
implement-natural-interactionsscroll-driven-animations | pass | high | Computed CSS inspection found scroll-timeline usage; trace did not show sustained scroll-handler blocking. |
implement-natural-interactionsphysical-gestures | pass | high | Computed CSS inspection found scroll-snap and overscroll-behavior, with no horizontal-scroll conflict at mobile width. |
provide-guided-navigationscroll-state-aware-chrome | pass | high | Screenshots and CSS show sticky sport/filter chrome with scroll-timeline support and persistent location cues. |
provide-guided-navigationanchored-positioning | pass | high | Computed CSS contains anchor-name and position-anchor declarations for attached overlay/navigation UI. |
provide-guided-navigationdirects-attention | pass | high | Screenshots show unambiguous pink active tabs, breadcrumbs on detail/league pages, and persistent section labels. |
maximize-content-reduce-noiseno-intrusive-interruptions | issues | high | Desktop and 360px screenshots show the privacy dialog covering the entire content area on load. On mobile, the live-score task is pushed completely out of the first viewport. F003 high: Consent wall obscures the primary scores on every fresh visit. |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | The recon probe found two [role=dialog] DIV elements and zero native dialog, popover, or details elements. F004 medium: Consent overlays are custom role=dialog divs rather than native dialogs. |
maximize-content-reduce-noisereduced-chrome | issues | high | At 360x800, three brightly colored betting cards and an Advertisement label occupy the main area above score filters, before any match content. F005 high: Gambling promotions dominate the mobile first viewport. |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | pass | high | Layout measured 0px horizontal overflow at 360x800 and found a viewport meta tag. |
adapt-to-the-form-factorcomponent-level-responsiveness | pass | high | Computed CSS contains @container and container-type; the 360px layout reflows navigation and cards without overflow. |
adapt-to-the-form-factorinput-modality-aware | issues | high | The interaction probe measured at least eight visible league links at 16 CSS px high, below the recommended target size, although keyboard focus itself had a visible 2px outline. F006 medium: Several navigation targets are only 16px high. |
support-core-task-successclear-purpose-and-primary-action | pass | high | Each path has a descriptive H1 and clear score/news/league context; direct match data is prominent after consent. |
support-core-task-successprimary-flow-completion | pass | high | Homepage links resolve directly to league and match detail URLs; probes captured complete scores, timeline and result content without login. |
support-core-task-successclear-system-state-and-recovery | pass | high | Finished/live/scheduled states are explicit, and the tested invalid route shows a branded error with a Flashscore.com recovery button. |
be-fast-and-stablegood-core-web-vitals | issues | high | Lighthouse measured LCP 13.5s, TBT 1,070ms, Speed Index 9.8s and performance 0.33. The first-party trace corroborated LCP 4.91s and six long tasks with 129.54ms TBT in a separate run. F007 high: Initial load is slow and main-thread heavy. |
be-fast-and-stablevisual-stability | pass | high | CLS was 0.055 in Lighthouse and 0.040 desktop / 0.089 mobile in layout captures, all within the good threshold. |
be-fast-and-stableefficient-main-thread | issues | high | Lighthouse measured LCP 13.5s, TBT 1,070ms, Speed Index 9.8s and performance 0.33. The first-party trace corroborated LCP 4.91s and six long tasks with 129.54ms TBT in a separate run. F007 high: Initial load is slow and main-thread heavy. |
be-fast-and-stableefficient-resource-delivery | issues | high | HAR recorded 237 requests and 2.75MB transferred, including 50 scripts and 39 stylesheets; its grounded candidate list contains at least ten parser-inserted VeryHigh-priority stylesheets, confirmed by the document DOM. F008 high: The critical path carries excessive requests and render-blocking CSS. |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | Lighthouse estimated 677 KiB unused JavaScript and 82 KiB unused CSS; liveTable.js was 73% unused and several route/header bundles were over 80% unused. F009 high: Large amounts of unused JavaScript and CSS ship on the home route. |
be-inclusivenames-roles-labels | issues | high | Lighthouse found two unnamed links, including a 14x14 TV event icon and the GambleAware logo; the DOM probe found five empty links without text, aria-label, or img alt. F010 high: Some focusable links have no accessible name. |
be-inclusivesufficient-contrast | pass | high | Lighthouse color-contrast audit passed and high-contrast emulation kept essential text and controls visible. |
be-inclusivestructure-and-focus | issues | high | Lighthouse identified an H3 news headline reached without a preceding H2 in the relevant content hierarchy. F011 medium: Heading order skips levels in news content. |
be-inclusivelegible-text | issues | high | The 360px screenshot shows long consent paragraphs and betting terms rendered at roughly 9 to 11px with tight line spacing, creating a dense wall of text. F012 medium: Dense mobile legal and advertising copy is difficult to read. |
be-inclusivezoom-reflow-targets-and-media | issues | high | The interaction probe measured at least eight visible league links at 16 CSS px high, below the recommended target size, although keyboard focus itself had a visible 2px outline. F006 medium: Several navigation targets are only 16px high. |
follow-best-practicesno-console-errors | issues | high | Lighthouse captured TypeError: Cannot read properties of undefined (reading getIdent) at the main document around line 2904. F013 medium: The page throws an uncaught TypeError during load. |
follow-best-practicessound-document-and-assets | issues | high | The image primitive found all 100 sampled images without width/height attributes; Lighthouse found header bg.png rendered at 8.58:1 despite a natural ratio of 12.48:1. F014 medium: Images lack intrinsic dimensions and one header image is distorted. |
follow-best-practicesbrowser-platform-hygiene | pass | high | Lighthouse found no permission prompts on load, deprecated API issue, or third-party-cookie failure; the WebSocket BFCache exclusion is intrinsic to live updates and marked pending browser support. |
be-discoverabletitle-and-description | pass | high | Home, news, league and match probes each found unique descriptive titles and meta descriptions. |
be-discoverablecrawlable-and-mobile-friendly | issues | high | Lighthouse SEO found a generic More information link and accessibility found unnamed href links; the recon probe also showed many match anchors with empty text. F015 medium: Some crawlable links have empty or generic text. |
be-discoverablecanonical-and-indexing-signals | pass | high | All representative paths returned content with canonicals; robots and sitemap returned 200, robots permits general crawling, and league pages expose extensive hreflang links. |
be-discoverablestructured-and-shareable-metadata | issues | high | Home, league, news and match probes found accurate Open Graph metadata, but no JSON-LD. The match detail is a rich sporting event with teams, status and date that can be represented structurally. F016 low: Rich sports entities lack structured data. |
be-private-and-securesecure-transport-and-headers | issues | high | The headers primitive found no CSP, HSTS, X-Content-Type-Options, clickjacking protection, Referrer-Policy, or Permissions-Policy; the only observed consent cookie also lacked Secure. F017 high: Core browser security headers are absent. |
be-private-and-securedata-minimisation-and-third-parties | issues | high | The tracker probe found 10 third-party origins and Google Ads, Tag Manager and Analytics. HAR attributed 225/237 requests and 2.63MB to third-party origins; the consent UI states 1001 partners. F018 high: The page loads a broad tracking and third-party footprint before consent. |
be-private-and-securein-context-permissions-and-modern-auth | pass | high | Lighthouse found no geolocation or notification prompt on load; the public score task requires no authentication, so password/passkey handling is not invoked. |
be-private-and-securedefensive-browser-policies | issues | high | The headers primitive found no CSP, HSTS, X-Content-Type-Options, clickjacking protection, Referrer-Policy, or Permissions-Policy; the only observed consent cookie also lacked Secure. F017 high: Core browser security headers are absent. |
be-resilientprogressive-enhancement | pass | high | Discoverability fetch returned 200, found title/H1/description in raw HTML, was not a JS shell, and the crawler screenshot contains current match content. |
be-resilientresilient-runtime-behaviour | pass | high | League, match and news templates loaded complete, stable tab/breadcrumb states; no tested overlay was clipped at viewport edges. |
be-resilientoffline-and-installable | pass | high | The platform probe found a 200 web manifest and an active /sw.js service worker registration, satisfying the installable-app foundation. |
be-resilientnetwork-and-http-failure-states | pass | high | A deliberately invalid route rendered a branded error, explained the failure and provided a direct home recovery control. |
be-internationalisedlang-dir-and-logical-properties | pass | high | The document declares lang=en, league templates expose hreflang variants, and the responsive UI preserves reading order. |
be-internationalisedlocale-aware-data | pass | high | Visible dates, match times and localized team/country labels are consistently rendered across home, league and match templates, with extensive locale variants. |
be-internationalisedtime-zone-correctness | pass | high | Match detail exposes an unambiguous event date/time and localized variants; no contradictory or naive time rendering was observed across templates. |
be-trustworthyno-dark-patterns | pass | high | The consent wall gives Accept and Reject All equal visual prominence and includes Manage Preferences; betting modules are labeled Advertisement and show 18+ terms. |
be-trustworthyhumane-error-handling | not-applicable | high | No authored form appears on the public score, league, match, or news templates, so there is no validation flow to exercise. |
be-trustworthytrustworthy-input-assistance | not-applicable | high | No authored address, payment, sign-in, or sign-up fields appear on the representative public paths. |
be-trustworthysafe-commercial-and-account-flows | not-applicable | high | The representative core task is reading scores; betting offers link to third parties and no owned checkout, subscription, or account-management flow was entered. |
be-sustainableoptimised-assets | issues | high | The image primitive classified 99 of 100 images as legacy PNG/GIF and only one as modern; all sampled images lacked intrinsic dimensions. F019 medium: Image delivery relies almost entirely on legacy formats. |
be-sustainableno-wasteful-work | issues | high | HAR recorded 2.75MB and 237 requests, including more than 530KB from Google Tag Manager endpoints and large consent/ad payloads; Lighthouse found 677KiB unused JS. F020 high: Background and third-party work is disproportionate to the core scores task. |
be-sustainablethird-party-and-media-budget | issues | high | The tracker probe found 10 third-party origins and Google Ads, Tag Manager and Analytics. HAR attributed 225/237 requests and 2.63MB to third-party origins; the consent UI states 1001 partners. HAR recorded 2.75MB and 237 requests, including more than 530KB from Google Tag Manager endpoints and large consent/ad payloads; Lighthouse found 677KiB unused JS. F018 high: The page loads a broad tracking and third-party footprint before consent. F020 high: Background and third-party work is disproportionate to the core scores task. |
be-agent-readystructured-agent-capabilities | not-applicable | high | Agent-facing actions are an emerging optional surface, and this public scores site does not declare an intent to expose WebMCP capabilities. |
be-agent-readyon-device-inference | not-applicable | high | No summarisation or language-model task is part of the core scores journey, so on-device inference is not applicable. |
be-memory-efficientno-leak-under-repeated-interaction | pass | high | After ten full-feed scroll down/up cycles, retained heap decreased from 78,015,386 to 76,287,798 bytes and node count decreased from 1,247,589 to 1,229,451. |
be-memory-efficientbounded-footprint | pass | high | Heap summaries measured about 76-78MB self size for a data-dense live score page and remained bounded after interaction. |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | high | The post-interaction heap summary decreased in nodes, edges and bytes, providing no evidence of detached-DOM/listener accumulation in the repeated-scroll window. |
Provenance
Canonical report: results/atomic/reports/0908-www_flashscore_com.json
Report SHA-256: f7915cb46b732420c8670c00b757dcbe575b42b3169437cbe6630eea41a492b8
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_flashscore_com/2026-07-23T18-56-22-703Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_flashscore_com/2026-07-23T18-56-22-703Z
Catalog SHA-256: sha256:78ccfdb2d483f4c57d9dafed80fd86c6265585a56457c8dcfddc254b80fb44d7
Raw screenshots, HARs, traces, heaps, and other browser artifacts are retained at the local evidence root and intentionally are not committed. Artifact paths in the canonical report are relative to that root.