Manifest position 305 · CrUX rank bucket 1000
https://www.flashscore.mobi
Coverage complete
Coverage-complete audit of five representative paths and all 58 registered checks.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | Under dark preference, body remained rgb(255,255,255), color-scheme was normal, and no dark-theme CSS response was detected. F01 medium: Hard-coded light theme ignores dark preference |
respect-user-preferencesrespects-reduced-motion | pass | high | The preference matched and document.getAnimations() returned no animations, so there was no non-essential motion to suppress. |
respect-user-preferencesrespects-contrast | issues | high | The contrast preference matched but the page exposed no contrast adaptation; Lighthouse and axe found color-contrast failures. F02 high: Contrast is insufficient and does not adapt to user preference |
implement-natural-interactionsview-transitions | issues | medium | No view-transition CSS or API use was found; navigating listing to detail uses abrupt full-document swaps. F03 low: Route changes are abrupt full-document swaps |
implement-natural-interactionsscroll-driven-animations | not-applicable | high | The audited templates contain no parallax, scrollytelling, reveal, or other scroll-linked motion to implement. |
implement-natural-interactionsphysical-gestures | not-applicable | high | The audited experience exposes conventional links and tables, with no swipe, pull, carousel, or gesture-driven control. |
provide-guided-navigationscroll-state-aware-chrome | issues | medium | The 7,499px results feed has no sticky position-aware navigation, shrinking header, or progress/scrollability cue; CSS contains no scroll-state treatment. F04 medium: Long result feeds lack scroll-aware orientation |
provide-guided-navigationanchored-positioning | not-applicable | high | No site-owned tooltip, popover, or anchored menu was present on the representative templates. |
provide-guided-navigationdirects-attention | pass | medium | Breadcrumb-like green section headers, current filters in bold/red, score links, tabs, Back, and Top links provide explicit orientation and next steps. |
maximize-content-reduce-noiseno-intrusive-interruptions | issues | high | A full-viewport consent modal obscures the scores on every fresh profile; after refusal a second “How your data is used” overlay and bottom discovery panel still cover the feed. F05 high: Privacy and discovery overlays repeatedly obscure the core scores |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | Consent surfaces are role=dialog DIVs rather than native dialog/popover primitives; four dialog-like DIVs are present, with large hidden preference/vendor DOM trees. F06 medium: Dialog-like UI is built from role=dialog DIVs |
maximize-content-reduce-noisereduced-chrome | pass | high | The underlying product is a compact, content-dense scores list with little decorative application chrome. |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | issues | high | Home has no overflow at 390px, but match detail at a 320px visual viewport used a 370px layout viewport and reported 50px horizontal overflow. F07 high: Match detail overflows narrow mobile viewports |
adapt-to-the-form-factorcomponent-level-responsiveness | pass | medium | The simple single-column score rows resize intrinsically at the principal 390px mobile condition; no reused multi-context component required container-specific behavior. |
adapt-to-the-form-factorinput-modality-aware | issues | high | Browser focus outlines were visible, but 409 of 412 interactive targets were under 24px in at least one dimension; primary sport/filter links are about 12px high. F08 high: Almost every interactive target is too small for touch |
support-core-task-successclear-purpose-and-primary-action | pass | high | The page immediately identifies sport/date/filter state and exposes live scores, score links, standings, and refresh controls. |
support-core-task-successprimary-flow-completion | pass | high | A score link resolves to a complete match summary with lineups/stats/commentary/H2H links, and standings resolve to a complete data table without an account wall. |
support-core-task-successclear-system-state-and-recovery | issues | medium | The invalid route displays a generic try-later error with a home link, but has no HTTP-specific explanation, retry action, search, or preserved context. F09 medium: Failure states are generic and weakly recoverable |
be-fast-and-stablegood-core-web-vitals | issues | high | Mobile trace measured LCP 4.49s; layout measured CLS 0.092 on home and 0.170 on 320px match detail, outside the good CLS threshold on detail. F10 high: Mobile loading is slow and visually unstable |
be-fast-and-stablevisual-stability | issues | high | Two late shifts produced CLS 0.092 on home and two produced CLS 0.170 on match detail. All 39 inspected images also lacked explicit dimensions. F10 high: Mobile loading is slow and visually unstable F15 medium: Image markup and formats are dated |
be-fast-and-stableefficient-main-thread | pass | high | The 10.3s trace and layout observers recorded zero long tasks and 0ms total blocking time. |
be-fast-and-stableefficient-resource-delivery | issues | high | The page transferred 835KB over 40 requests; 30 requests and 652KB were third-party. Scripts were deferred/async, but the stylesheet and a 49KB Google font were blocking candidates, and ad/consent scripts dominated weight. F11 high: Third-party JavaScript dominates a small text page |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | About 735KB of 835KB transferred was script, dominated by advertising, tag-manager, analytics, and consent code; Lighthouse also reported missing source maps for a large first-party bundle. F11 high: Third-party JavaScript dominates a small text page |
be-inclusivenames-roles-labels | issues | high | axe found a critical unnamed .toggle-btn and an untitled iframe; the page also lacked a main landmark and content regions. F12 high: Controls and frames lack accessible names |
be-inclusivesufficient-contrast | issues | high | Both independent audits reported insufficient foreground/background contrast. F02 high: Contrast is insufficient and does not adapt to user preference |
be-inclusivestructure-and-focus | issues | high | The content page has no H1 or main landmark and axe found heading-order and region failures. Focus is visible, but structure does not support efficient assistive navigation. F13 high: Document structure lacks an H1 and main landmark |
be-inclusivelegible-text | issues | high | Body text computes to 11px, with dense 12px-high rows and low-contrast grey event metadata, making the long scores feed cramped. F14 high: Core score text is cramped at 11px |
be-inclusivezoom-reflow-targets-and-media | issues | high | At 320px the match template overflows by 50px, and 409 of 412 targets are smaller than 24px in at least one dimension. F07 high: Match detail overflows narrow mobile viewports F08 high: Almost every interactive target is too small for touch |
follow-best-practicesno-console-errors | pass | medium | Lighthouse did not report an errors-in-console failure during load. |
follow-best-practicessound-document-and-assets | issues | high | Doctype and UTF-8 are valid, but all 39 images lack width/height attributes; 38 blank GIF markers lack alt and Lighthouse reported low-resolution image delivery. F15 medium: Image markup and formats are dated |
follow-best-practicesbrowser-platform-hygiene | issues | medium | Lighthouse reported missing source maps for large first-party JavaScript; seven advertising/consent iframes also have empty titles. F16 low: Production bundles lack source maps and ad frames lack titles |
be-discoverabletitle-and-description | issues | high | Home and standings have descriptive metadata, but match detail reuses the generic homepage description instead of describing France 4–6 England. F17 medium: Match pages reuse generic metadata |
be-discoverablecrawlable-and-mobile-friendly | pass | high | Core links use real href values, viewport metadata is present, and 94% of rendered content words are in raw server HTML. |
be-discoverablecanonical-and-indexing-signals | issues | high | robots.txt advertises an HTTP sitemap URL that returned 404 and disallows /match/ and /standings/ for general crawlers, limiting indexability of core public detail templates. F18 high: Core detail pages are blocked and the advertised sitemap is broken |
be-discoverablestructured-and-shareable-metadata | issues | medium | No JSON-LD was present for live scores/SportsEvent entities, and og:image points to the site root rather than an image. F19 medium: Sports entities lack structured/share metadata |
be-private-and-securesecure-transport-and-headers | issues | high | HTTPS is used, but CSP, HSTS, nosniff, framing protection, Referrer-Policy, and Permissions-Policy are absent. Five cookies are not Secure and use SameSite=None. F20 high: Transport defenses and cookie flags are missing |
be-private-and-securedata-minimisation-and-third-parties | issues | high | The load contacted 12 third-party origins including four known trackers; 30 requests and 652KB were third-party, while the consent UI states data may be shared with 210 partners and precise geolocation used. F21 high: Tracking and partner footprint is excessive |
be-private-and-securein-context-permissions-and-modern-auth | pass | medium | No browser permission prompt or authentication surface appeared on load; passkeys are not applicable to the unauthenticated scores journey. |
be-private-and-securedefensive-browser-policies | issues | high | No HSTS, frame-ancestors/X-Frame-Options, Referrer-Policy, or Permissions-Policy was delivered; long-lived analytics/consent cookies use SameSite=None without Secure. F20 high: Transport defenses and cookie flags are missing |
be-resilientprogressive-enhancement | pass | high | Raw HTML returned 200 and contained 94% of rendered content words; the crawler screenshot shows the live score list without JavaScript. |
be-resilientresilient-runtime-behaviour | pass | medium | Core content is server-rendered and links remain functional; the consent dialog stays inside the mobile viewport and can be refused. |
be-resilientoffline-and-installable | issues | high | A standalone manifest with icons exists, but navigator.serviceWorker.getRegistrations() returned no registrations, so this app-like live-score site has no offline fallback. F22 medium: Installable presentation has no offline fallback |
be-resilientnetwork-and-http-failure-states | issues | medium | A failed route shows only “requested page can’t be displayed, try again later” plus home; it does not distinguish not-found/network states or offer retry/search/context recovery. F09 medium: Failure states are generic and weakly recoverable |
be-internationalisedlang-dir-and-logical-properties | issues | medium | html lang=en is correct for visible copy, but the CSS probe found no logical properties and the fixed 370px minimum suggests weak writing-mode/translation resilience. F23 medium: Global event times are locale and time-zone ambiguous |
be-internationalisedlocale-aware-data | issues | medium | Match detail renders “18.07.2026 23:00” without locale context or a locale-selectable format, despite covering global events. F23 medium: Global event times are locale and time-zone ambiguous |
be-internationalisedtime-zone-correctness | issues | medium | Event time is shown as 23:00 without a time-zone label or indication that it is localized, making global event timing ambiguous. F23 medium: Global event times are locale and time-zone ambiguous |
be-trustworthyno-dark-patterns | pass | medium | Consent and refusal are equally prominent; ads and odds are labeled, and gambling support/18+ text is present. The large vendor footprint is reported separately as privacy/noise, not deceptive wording. |
be-trustworthyhumane-error-handling | not-applicable | high | No user-authored form or validation journey exists on the representative scores, match, and standings templates. |
be-trustworthytrustworthy-input-assistance | not-applicable | high | No address, payment, sign-in, sign-up, or other user-entry fields exist in the representative product flow. |
be-trustworthysafe-commercial-and-account-flows | pass | medium | Betting links are visibly labeled as odds/Bet now, identify the provider, and the page includes Gamble Responsibly, Gambling Therapy, and 18+ notices; no account or subscription flow is hosted here. |
be-sustainableoptimised-assets | issues | high | All 39 images are PNG/GIF, none use a modern format, all lack dimensions, and 38 below-fold markers are not lazy-loaded. Absolute image bytes are small, but delivery is avoidably dated. F15 medium: Image markup and formats are dated |
be-sustainableno-wasteful-work | pass | high | No long task or ongoing main-thread blocking was recorded; the content architecture is mostly server-rendered and lightweight at runtime. |
be-sustainablethird-party-and-media-budget | issues | high | Third parties account for 652KB of 835KB and 30 of 40 requests, mostly ads, consent, tag manager, analytics, and a large external font, disproportionate to the small text scores page. F11 high: Third-party JavaScript dominates a small text page F21 high: Tracking and partner footprint is excessive |
be-agent-readystructured-agent-capabilities | not-applicable | high | No declared agent-facing or transactional capability is in scope; the emerging WebMCP opportunity is not treated as a failure for this read-only scores site. |
be-agent-readyon-device-inference | not-applicable | high | No summarisation or language-model feature is part of the observed core task, so on-device inference is not applicable. |
be-memory-efficientno-leak-under-repeated-interaction | pass | medium | Post-interaction heap was only 92KB (0.48%) above baseline with 781 additional nodes and no constructor-sized monotonic growth signal, providing no evidence of an unbounded leak. |
be-memory-efficientbounded-footprint | pass | medium | Baseline retained heap was 19.3MB across 326k nodes; script-heavy consent/advertising code is non-trivial but the footprint remained bounded in the repeated interaction sample. |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | medium | The top-constructor diff showed no Detached* constructor growth and only 0.48% total growth after ten disclosure cycles; no accumulating listener/timer signature was observed in available summaries. |
Provenance
Canonical report: results/atomic/reports/0305-www_flashscore_mobi.json
Report SHA-256: d63af40994708c9369c8a962a712b5b41d7a3b9eba769dc377ca93df15423654
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_flashscore_mobi/2026-07-19T20-35-09-570Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_flashscore_mobi/2026-07-19T20-35-09-570Z
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.