Manifest position 65 · CrUX rank bucket 1000

https://open.spotify.com

Coverage complete

Atomic coverage complete across 58 checks and four representative public templates plus login and error recovery states.

Attempts
1 / 3
Judged checks
58 / 58
Blocked
0
Not run
0
This report has no published overall score. Blocked and not-run checks are not passes. A coverage-complete report means every check has a judged outcome; it does not mean every check passed.

All 58 atomic check outcomes

Principle / checkStatusConfidenceEvidence or reason
respect-user-preferences
respects-color-scheme
issueshighDark and default screenshots are byte-identical (480,889 bytes), and the CSS probe found zero prefers-color-scheme, color-scheme, or light-dark() uses.
F01 medium: Theme is fixed dark instead of following the user’s colour-scheme preference.
respect-user-preferences
respects-reduced-motion
issueshighUnder prefers-reduced-motion: reduce, the probe still found 34 running animations and transitions up to 1s; CSS inspection found no reduced-motion media query.
F02 medium: Reduced-motion preference does not suppress non-essential motion.
respect-user-preferences
respects-contrast
passmediumLighthouse contrast audit passed and the prefers-contrast screenshot remained legible.
implement-natural-interactions
view-transitions
issuesmediumThe CSS platform probe found zero view-transition rules; the album play video shows an abrupt state update rather than a spatial transition.
F03 low: State and route changes do not use View Transitions.
implement-natural-interactions
scroll-driven-animations
not-applicablehighNo scroll-linked storytelling, parallax, or reveal interaction exists on the representative anonymous routes.
implement-natural-interactions
physical-gestures
not-applicablehighNo custom gesture-driven interaction exists on the tested desktop/mobile anonymous surfaces.
provide-guided-navigation
scroll-state-aware-chrome
passmediumPersistent global navigation and player chrome remain visible across long listing/detail templates.
provide-guided-navigation
anchored-positioning
not-applicablehighNo tooltip, popover, or menu overlay requiring anchored positioning appeared in the tested paths.
provide-guided-navigation
directs-attention
passmediumSection and detail routes use clear headings, selected home state, and stable content regions.
maximize-content-reduce-noise
no-intrusive-interruptions
issueshighDesktop screenshots show the banner covering roughly the lower third; at 360x800 it consumes nearly the entire viewport and hides the player.
F04 high: The consent banner obscures core content on every first load.
maximize-content-reduce-noise
semantic-dismissible-primitives
issueshighDOM recon found zero dialog, popover, or details elements while the screenshot shows a modal-like consent surface.
F05 medium: The consent overlay is custom chrome rather than a semantic modal primitive.
maximize-content-reduce-noise
reduced-chrome
passmediumAfter consent rejection, the album artwork, title, controls, and track list dominate the main pane.
adapt-to-the-form-factor
responsive-no-horizontal-scroll
issueshighLayout measured scrollWidth/innerWidth 801px against a 360px visual viewport on both home and album; the mobile screenshot clips the consent actions off-screen.
F06 critical: The first-load experience overflows by 441px on a 360px viewport.
adapt-to-the-form-factor
component-level-responsiveness
issueshighThe same 801px consent layout is retained in a 360px visual viewport, and CSS inspection found no container queries.
F07 high: The consent component does not adapt to its available container.
adapt-to-the-form-factor
input-modality-aware
issueshighThe active probe found numerous 17–22px-tall links and computed outlines with style none for sampled controls; 210 focusable elements create a dense keyboard path.
F08 medium: Many controls have undersized hit areas and focus indication is unclear.
support-core-task-success
clear-purpose-and-primary-action
passmediumHome, section, podcast, and album views have explicit headings and prominent browse/play actions.
support-core-task-success
primary-flow-completion
passmediumRejecting consent and activating album playback produced the preview player and retained album context.
support-core-task-success
clear-system-state-and-recovery
passmediumPlayback state is shown persistently, and the tested missing route provides Page not found, Home, and Help recovery actions.
be-fast-and-stable
good-core-web-vitals
issueshighLighthouse measured LCP 25.4s and CLS 0.434; the independent mobile layout observer measured CLS 0.242.
F09 critical: Load performance and visual stability are far outside good ranges.
be-fast-and-stable
visual-stability
issueshighThe mobile layout observer recorded seven shifts totalling 0.242, including a single 0.144 shift; all 56 inspected images lacked width/height attributes.
F10 high: Late-loading UI causes substantial layout shift.
be-fast-and-stable
efficient-main-thread
issueshighTrace summary recorded seven long tasks, a 340ms longest task, and 504ms total blocking time.
F11 high: The main thread is blocked by long tasks.
be-fast-and-stable
efficient-resource-delivery
issueshighHAR captured 167 requests and 4.77MB transferred, including 2.50MB script and 0.96MB font; the main web-player bundle alone was 1.08MB.
F12 high: Critical delivery is heavy and delays visible content.
be-fast-and-stable
trim-unused-and-duplicate-code
issueshighLighthouse estimated 630KiB unused JavaScript and 68KiB unused CSS, including 76% waste in the mobile player bundle.
F13 high: Large amounts of unused JS and CSS ship on first load.
be-inclusive
names-roles-labels
passmediumLighthouse image-alt and accessible-name audits passed; controls sampled in the DOM expose labels or labelledby relationships.
be-inclusive
sufficient-contrast
passmediumLighthouse colour contrast audit passed.
be-inclusive
structure-and-focus
issueshighLighthouse found an H4 “Company” heading that skips levels; the focus probe returned outline style none on sampled controls and a 210-element tab sequence.
F14 medium: Heading hierarchy and keyboard focus presentation need correction.
be-inclusive
legible-text
passmediumRepresentative desktop views use readable type, clear spacing, and no observed clipping outside the separately reported narrow consent defect.
be-inclusive
zoom-reflow-targets-and-media
issueshighThe rendered DOM declares maximum-scale=1, while 360px layout evidence overflows by 441px and clips consent actions.
F15 critical: The page cannot reflow at a narrow viewport and declares maximum-scale=1.
follow-best-practices
no-console-errors
issueshighLighthouse captured minified React error #421 from vendor~mobile-web-player.a51ad297.js.
F16 medium: The page logs an uncaught React runtime error.
follow-best-practices
sound-document-and-assets
issueshighThe image primitive found 56/56 images without width/height, 54 without srcset, and 13 oversized by its 2x display threshold.
F17 medium: Image asset markup does not reserve dimensions or offer responsive candidates.
follow-best-practices
browser-platform-hygiene
passmediumLighthouse reported no DevTools inspector issues, no BFCache blocker, no permission prompt on load, and functioning source-map declarations.
be-discoverable
title-and-description
passmediumRendered DOM contains a descriptive Spotify Web Player title and a digital music service meta description.
be-discoverable
crawlable-and-mobile-friendly
issueshighLighthouse identified “More information” as non-descriptive, although anchors and robots are otherwise crawlable.
F18 low: One consent link uses generic link text.
be-discoverable
canonical-and-indexing-signals
passmediumMain response is 200; canonical points to the homepage; robots allows normal indexing and declares sitemap files.
be-discoverable
structured-and-shareable-metadata
passmediumOpen Graph site, title, description, URL, type, and image metadata accurately describe the visible homepage.
be-private-and-secure
secure-transport-and-headers
issueshighCSP permits unsafe-eval; Referrer-Policy and Permissions-Policy are absent; OptanonConsent is not Secure and three cookies use SameSite=None.
F19 high: Security headers and cookie flags are weaker than the app’s risk profile warrants.
be-private-and-secure
data-minimisation-and-third-parties
issueshighTracker evidence found 18 third-party origins and known Sentry/GTM trackers; HAR attributed 164/167 requests and 4.76MB to non-main origins.
F20 high: The anonymous landing page has a broad third-party and tracking footprint.
be-private-and-secure
in-context-permissions-and-modern-auth
passmediumLighthouse found no geolocation/notification request on load; login uses passwordless email continuation plus Google, Facebook, and Apple options with autocomplete=username.
be-private-and-secure
defensive-browser-policies
issueshighHeaders evidence found no Referrer-Policy or Permissions-Policy and a CSP weakened by unsafe-eval; frame-ancestors and HSTS are present.
F21 medium: Defensive browser policies are incomplete.
be-resilient
progressive-enhancement
issueshighDiscoverability measured only 36% raw/rendered content coverage; the crawler screenshot is blank despite a 200 response.
F22 high: Most catalogue content disappears without JavaScript.
be-resilient
resilient-runtime-behaviour
issueshighAt 360px the consent controls extend 441px beyond the visual viewport, preventing reliable access to all choices.
F23 high: The consent runtime state is cut off on narrow screens.
be-resilient
offline-and-installable
passmediumA valid standalone Spotify manifest and active scoped service worker were observed.
be-resilient
network-and-http-failure-states
passmediumA missing route renders an explicit error with Home and Help recovery actions rather than a blank shell.
be-internationalised
lang-dir-and-logical-properties
issueshighThe page correctly declares lang=en-GB and dir=ltr, but the CSS probe found 163 physical margin/padding declarations and zero logical-property declarations in accessible stylesheets.
F24 medium: The main web player relies heavily on physical left/right CSS.
be-internationalised
locale-aware-data
passmediumThe app loads an en-GB locale bundle and presents durations consistently; no hand-formatted dates, prices, or currencies appeared on tested paths.
be-internationalised
time-zone-correctness
not-applicablehighThe representative anonymous catalogue views show track durations but no events, dates, schedules, or time-zone-sensitive data.
be-trustworthy
no-dark-patterns
passmediumConsent presents Accept cookies and Reject all with equal visual weight, and rejects successfully without hiding content.
be-trustworthy
humane-error-handling
passmediumThe login markup includes explicit labels, aria-invalid state, passwordless flow, and actionable translated validation/retry messages.
be-trustworthy
trustworthy-input-assistance
passmediumLogin email uses autocomplete=username and the anonymous search field has an accessible label.
be-trustworthy
safe-commercial-and-account-flows
passmediumThe tested sign-in entry is proportionate and offers passwordless and federated methods; no purchase commitment occurs in the anonymous playback flow.
be-sustainable
optimised-assets
issueshighImage evidence found 54/56 images without responsive sources and 13 oversized; HAR transferred 0.84MB images and 0.96MB fonts.
F25 high: Artwork and fonts are not delivered at an efficient responsive budget.
be-sustainable
no-wasteful-work
issueshighThe page transfers 2.50MB of scripts, Lighthouse estimates 630KiB unused JS, and the trace records 504ms blocking time before a user plays anything.
F26 high: The first load performs substantial avoidable work.
be-sustainable
third-party-and-media-budget
issueshighHAR classified 164/167 requests and 4.76MB as outside the main origin, with recaptcha, GTM, and consent tooling among the largest scripts.
F27 high: Third-party code dominates the initial resource budget.
be-agent-ready
structured-agent-capabilities
not-applicablehighNo declared agent-facing transactional surface was found; Spotify permits user-fetch/search agents but intentionally blocks training crawlers.
be-agent-ready
on-device-inference
not-applicablehighNo summarisation, translation, or generative feature is part of the representative playback/browse journey.
be-memory-efficient
no-leak-under-repeated-interaction
passmediumAfter ten search input/clear cycles, node count fell by 7,745 and heap self-size changed only +131,199 bytes (0.18%), with no monotonic retained-growth signal.
be-memory-efficient
bounded-footprint
passmediumHeap self-size was about 74MB for this media SPA and remained stable across the repeated search probe.
be-memory-efficient
no-detached-dom-or-unbounded-listeners
passmediumNo Detached* constructor appeared in either top-constructor summary; object, array, and closure populations declined after the repeated interaction.

Provenance

Canonical report: results/atomic/reports/0065-open_spotify_com.json
Report SHA-256: 4feb5fe8ecd9f4abc9aae955e6be8a926ad693c67e6eefc0d49cb367d8cc2384
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/open_spotify_com/2026-07-18T04-14-13-188Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/open_spotify_com/2026-07-18T04-14-13-188Z
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.