Manifest position 95 · CrUX rank bucket 1000
https://www.espn.com
Coverage complete
Completed atomic audit of 58 checks across home, article, scores, and error templates. Geographic routing resolved the entry URL to ESPN UK.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | Under emulated prefers-color-scheme: dark, the probe reports html color-scheme "normal" and body background rgb(237, 238, 240); the screenshot remains the light theme. F01 medium: ESPN ignores the user’s dark colour-scheme preference |
respect-user-preferencesrespects-reduced-motion | issues | high | With prefers-reduced-motion: reduce, document.getAnimations() still returned running 400ms animations and no preference media rules were found in accessible CSS. F02 medium: Reduced-motion preference does not suppress active animation |
respect-user-preferencesrespects-contrast | pass | high | Forced-colors screenshot keeps text, consent controls, and links visible. |
implement-natural-interactionsview-transitions | issues | high | The feature is available in the browser, but the CSS probe found no view-transition rules and representative navigation swaps immediately. F03 low: Route and state changes do not use View Transitions |
implement-natural-interactionsscroll-driven-animations | not-applicable | high | No scroll-linked animation was present on the selected templates, so there was no scroll effect whose implementation technique applied. |
implement-natural-interactionsphysical-gestures | pass | high | Scores and page scrolling use native browser scrolling; no custom pointermove gesture layer was observed. |
provide-guided-navigationscroll-state-aware-chrome | pass | high | Persistent top navigation and score chrome retain context while long pages scroll. |
provide-guided-navigationanchored-positioning | not-applicable | high | No tooltip, transient popover, or manually positioned anchored overlay was exposed in the representative public journeys. |
provide-guided-navigationdirects-attention | pass | high | The scores template uses a clear red active-tab underline and labelled score actions. |
maximize-content-reduce-noiseno-intrusive-interruptions | issues | high | Desktop, mobile, article, scores, and 404 screenshots all open with a modal covering the page. On 360px it fills nearly the entire viewport and pushes the action row below the fold. F04 high: The consent wall obscures every primary surface on first load |
maximize-content-reduce-noisesemantic-dismissible-primitives | pass | high | The consent surface exposes role=dialog, aria-modal=true, a label, and explicit Reject/Accept actions. |
maximize-content-reduce-noisereduced-chrome | issues | high | The desktop homepage uses three columns with subscribe, customisation, topics, quick links, video, headlines, and multiple repeated rails around the primary story feed. F05 medium: Dense side rails and repeated modules compete with the core feed |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | issues | high | The scores layout primitive reports innerWidth and scrollWidth 1000px with a 360px visual viewport, producing 640px horizontal overflow. F06 critical: Football scores force a 1000px desktop canvas into a 360px viewport |
adapt-to-the-form-factorcomponent-level-responsiveness | issues | high | The score template remains 1000px wide at a 360px viewport and inspected computed styles report container-type normal rather than a component query context. F07 medium: Reused scoreboard components do not adapt at component level |
adapt-to-the-form-factorinput-modality-aware | issues | high | The viewport is initial-scale=1, maximum-scale=1, user-scalable=no; Lighthouse fails meta-viewport. The probe found multiple visible links only 14–19px high and focus was only a 1px outline. F08 high: Zoom is disabled and several visible controls are undersized |
support-core-task-successclear-purpose-and-primary-action | pass | high | Homepage headlines, article title, and Football Scores heading clearly communicate each template purpose. |
support-core-task-successprimary-flow-completion | pass | high | A representative headline opened a complete server-rendered article and scores opened a populated fixture listing without authentication. |
support-core-task-successclear-system-state-and-recovery | pass | high | An invalid route renders “Page not found” and a direct “Go to the homepage” recovery action rather than a blank shell. |
be-fast-and-stablegood-core-web-vitals | issues | high | Lighthouse reports LCP 10.0s, TBT 820ms, performance 0.38, and TTI 27.5s. The desktop trace was much better at LCP 1.88s and TBT 32.64ms, showing a material mobile/device sensitivity. F09 high: Mobile lab loading is slow despite a fast desktop trace |
be-fast-and-stablevisual-stability | pass | high | Observed CLS was 0.097 on mobile home, 0 on article, and Lighthouse CLS 0.042, all within the good threshold. |
be-fast-and-stableefficient-main-thread | pass | medium | Representative DOM, visual, network, performance, resilience, or interaction evidence found no divergence for this check. |
be-fast-and-stableefficient-resource-delivery | issues | high | HAR captured 182 requests and 3.64MB transferred, including 2.20MB script and 418KB CSS; Lighthouse reports 1.25s redirect savings and 179KB cache-lifetime savings. F10 high: The entry page ships a large, redirect-heavy critical load |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | Lighthouse estimates 1,004KiB unused JavaScript and 199KiB unused CSS; HAR records 38 script requests with 8.36MB decoded script content. F11 high: Large amounts of shipped CSS and JavaScript are unused |
be-inclusivenames-roles-labels | issues | high | The images primitive reports 85 of 100 homepage images and 10 of 14 article images without alt; Lighthouse fails image-alt on 42 nodes. F12 high: Many images lack text alternatives |
be-inclusivesufficient-contrast | issues | high | Lighthouse reports 34 colour-contrast failing nodes and an overall accessibility score of 0.86. F13 high: Text and controls fail colour contrast |
be-inclusivestructure-and-focus | pass | medium | Representative DOM, visual, network, performance, resilience, or interaction evidence found no divergence for this check. |
be-inclusivelegible-text | pass | high | The article uses a 640px reading column, 36px headline, strong hierarchy, and unclipped paragraph text in desktop evidence. |
be-inclusivezoom-reflow-targets-and-media | issues | high | The authored viewport explicitly sets maximum-scale=1 and user-scalable=no, which Lighthouse flags and which prevents users from zooming the dense news layout. F14 high: The page prevents user scaling |
follow-best-practicesno-console-errors | issues | high | Lighthouse fails errors-in-console with four logged errors. F15 medium: The homepage logs browser errors |
follow-best-practicessound-document-and-assets | pass | medium | Representative DOM, visual, network, performance, resilience, or interaction evidence found no divergence for this check. |
follow-best-practicesbrowser-platform-hygiene | issues | high | Lighthouse reports one deprecation warning, inspector issues, legacy JavaScript, and a BFCache failure reason. F16 medium: Deprecated APIs, inspector issues, and a BFCache blocker remain |
be-discoverabletitle-and-description | pass | high | Home and article have descriptive, template-specific titles and meta descriptions. |
be-discoverablecrawlable-and-mobile-friendly | issues | high | The homepage probe finds 87 href="#" anchors and 9 anchors without href; Lighthouse fails crawlable-anchors and link-text. F17 medium: Many navigation links are not crawlable or descriptive |
be-discoverablecanonical-and-indexing-signals | pass | high | Canonical, 22 hreflang editions, indexable robots policy for general crawlers, and a sitemap index were present. |
be-discoverablestructured-and-shareable-metadata | pass | high | Home exposes WebSite/SearchAction plus Open Graph; article exposes NewsArticle, VideoObject, author, dates, image, and Open Graph. |
be-private-and-securesecure-transport-and-headers | issues | high | Headers evidence shows HTTPS and frame-ancestors CSP, but no HSTS or nosniff. Cookie evidence reports 10 of 11 cookies without Secure, all SameSite=None, and SWID lasting 400 days. F18 high: Transport hardening and cookie defaults are incomplete |
be-private-and-securedata-minimisation-and-third-parties | issues | high | Tracker evidence records 27 third-party origins including DoubleClick; HAR attributes 179 of 182 requests and 3.59MB to origins classified third-party, while the consent UI names 1017 partners. F19 high: The default page has a very large third-party and tracking footprint |
be-private-and-securein-context-permissions-and-modern-auth | pass | high | No notification, geolocation, camera, or microphone prompt appeared on load; account entry is an explicit user action. |
be-private-and-securedefensive-browser-policies | issues | high | The main response has no HSTS, Referrer-Policy, Permissions-Policy, or nosniff; CSP only defines frame-ancestors. F20 medium: Several browser-enforced policies are absent |
be-resilientprogressive-enhancement | issues | high | Discoverability comparison finds only 29% word overlap between rendered and raw content and no matching raw title, while the article template preserves 84%. F21 medium: The homepage’s current content is poorly represented without JavaScript |
be-resilientresilient-runtime-behaviour | pass | high | Scores, article, and 404 templates all rendered stable content and navigable recovery controls; no cut-off open menu was observed. |
be-resilientoffline-and-installable | issues | high | The PWA probe finds a manifest and active service-worker.js registration but caches.keys() is empty, giving no evidence of an offline shell or fallback. F22 medium: An active service worker does not provide an observable offline cache |
be-resilientnetwork-and-http-failure-states | pass | high | The invalid HTTP route shows a concise error and homepage recovery link instead of a broken shell or spinner. |
be-internationalisedlang-dir-and-logical-properties | pass | high | The document declares lang=en and publishes 22 hreflang regional variants, including en-gb canonical targeting. |
be-internationalisedlocale-aware-data | pass | high | The UK edition renders UK-local content and relative sports times while exposing explicit regional variants. |
be-internationalisedtime-zone-correctness | pass | high | Article structured data stores publication timestamps unambiguously in UTC (Z) and the UI renders a local/relative presentation. |
be-trustworthyno-dark-patterns | pass | high | The consent dialog gives Reject All and Accept All equal visual prominence, and the 404 path offers honest recovery. |
be-trustworthyhumane-error-handling | not-applicable | high | The selected public journeys contain only a simple search field and no required multi-field data-entry form to submit invalid data against. |
be-trustworthytrustworthy-input-assistance | not-applicable | high | No address, payment, sign-in, or sign-up input form is hosted in the selected ESPN public templates. |
be-trustworthysafe-commercial-and-account-flows | not-applicable | high | Subscription and account completion leave ESPN for Disney-owned account/commerce surfaces, which were outside this site audit. |
be-sustainableoptimised-assets | pass | medium | Representative DOM, visual, network, performance, resilience, or interaction evidence found no divergence for this check. |
be-sustainableno-wasteful-work | pass | medium | Representative DOM, visual, network, performance, resilience, or interaction evidence found no divergence for this check. |
be-sustainablethird-party-and-media-budget | issues | high | HAR reports 3.59MB across 179 third-party-classified requests, including 2.20MB transferred script overall, before the user engages with video or account features. F23 high: Third-party scripts dominate the resource budget |
be-agent-readystructured-agent-capabilities | issues | high | robots.txt disallows GPTBot, ChatGPT-User, anthropic-ai, Google-Extended, CCBot, and others; the probe finds no WebMCP surface. This is an emerging opportunity, not a conventional SEO failure. F24 low: ESPN blocks major AI agents and offers no structured agent tools |
be-agent-readyon-device-inference | not-applicable | high | No user-authored or summarisation workflow on the selected public pages clearly requires on-device inference; absence is not itself harmful. |
be-memory-efficientno-leak-under-repeated-interaction | pass | high | After 10 repeated top-to-bottom scroll cycles, heap self size was 96.20MB and node count 1,703,490 versus baseline 96.28MB and 1,704,379, showing no retained growth in this exercise. |
be-memory-efficientbounded-footprint | issues | high | The baseline heap summary contains 1,704,379 nodes and 96.3MB self size, including 90,611 closures, for a single scoreboard view. F25 medium: The scores page has a heavy steady-state heap |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | high | The repeated-scroll post snapshot did not grow overall and no Detached* constructor appears among the dominant constructor populations. |
Provenance
Canonical report: results/atomic/reports/0095-www_espn_com.json
Report SHA-256: c4d6fd3dd31edd4898befbf5906c0ee66372de002f7acdd66fc6ae4698eb7105
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_espn_com/2026-07-18T09-13-46-343Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_espn_com/2026-07-18T09-13-46-343Z
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.