Manifest position 811 · CrUX rank bucket 1000

https://accounts.spotify.com

Coverage complete

Coverage-complete audit of the public account entry, invalid/empty recovery state, and signup handoff. Authenticated account pages and real credential completion were not covered because they require a user account.

Attempts
2 / 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
issueshighEmulated `prefers-color-scheme: light` screenshot compared with default screenshot.
F1 medium: Respect the OS colour preference instead of forcing dark
respect-user-preferences
respects-reduced-motion
passhighReduced-motion emulation matched and the page reported zero active animations; there is no non-essential motion to suppress.
respect-user-preferences
respects-contrast
passhighForced-colors/high-contrast screenshot keeps text, field borders, button labels, and keyboard focus clearly visible.
implement-natural-interactions
view-transitions
issueshighStatic rendered stylesheet probe reported `viewTransition: false`.
F2 low: Add continuity to multi-step authentication state changes
implement-natural-interactions
scroll-driven-animations
not-applicablehighThe audited authentication screens contain no scroll-linked storytelling, parallax, carousel, or reveal motion.
implement-natural-interactions
physical-gestures
not-applicablehighThe audited authentication screens expose no gesture-driven interaction.
provide-guided-navigation
scroll-state-aware-chrome
not-applicablehighThis short single-task form has no persistent scroll chrome that needs scroll-state adaptation.
provide-guided-navigation
anchored-positioning
not-applicablehighNo tooltip, popover, or menu overlay is present on the audited states.
provide-guided-navigation
directs-attention
passhighThe first viewport has one H1, one labelled email field, and one visually dominant Continue action; Next.js also includes an assertive route announcer.
maximize-content-reduce-noise
no-intrusive-interruptions
passhighDesktop and mobile load screenshots show no content-obscuring popup or interstitial.
maximize-content-reduce-noise
semantic-dismissible-primitives
not-applicablehighNo transient overlay, modal flow, or disclosure control appears on the audited states.
maximize-content-reduce-noise
reduced-chrome
passhighThe viewport is almost entirely the authentication task, with minimal logo/header chrome and no decorative sidebars.
adapt-to-the-form-factor
responsive-no-horizontal-scroll
passhighAt 360x800 the layout primitive measured scrollWidth=clientWidth=360 and zero horizontal overflow; viewport meta is present.
adapt-to-the-form-factor
component-level-responsiveness
not-applicablehighThe public login is a single fixed-purpose form, with no evidence that this component is reused in differently sized containers.
adapt-to-the-form-factor
input-modality-aware
passhighPrimary controls are 48px high and the focused email input has a visible 2px white outline.
support-core-task-success
clear-purpose-and-primary-action
passhigh“Welcome back”, the Email label, and full-width Continue button make purpose and next action immediate on desktop and mobile.
support-core-task-success
primary-flow-completion
passmediumThe public entry step exposes working real-href routes for email continuation, three federated providers, and sign-up; no decorative detour precedes the primary action.
support-core-task-success
clear-system-state-and-recovery
issueshighInteraction screenshot after `form.requestSubmit()` is unchanged; the email input is `type=text`, has no `required`, and remains `aria-invalid=false`.
F3 high: Empty primary submission has no visible recovery state
be-fast-and-stable
good-core-web-vitals
passhighLighthouse measured LCP 2.44s, CLS 0.0099 and TBT 46ms; trace measured LCP 1.53s and TBT 0ms.
be-fast-and-stable
visual-stability
passhighMobile layout observer measured CLS 0.00898, well within the good range, with no unreserved images.
be-fast-and-stable
efficient-main-thread
passhighTrace captured zero long tasks and 0ms total blocking time; the layout observer also saw no long tasks.
be-fast-and-stable
efficient-resource-delivery
issueshighHAR recorded two 307 redirects; Lighthouse estimated 790 ms redirect savings and 1,040 ms render-blocking savings.
F4 medium: Remove redirect and critical delivery delay
be-fast-and-stable
trim-unused-and-duplicate-code
issueshighLighthouse estimated 273 KiB unused JavaScript and 13 KiB legacy JavaScript; HAR transferred 704,779 bytes of script.
F5 medium: Trim unused and legacy JavaScript
be-inclusive
names-roles-labels
passhighLighthouse accessibility scored 1.0; DOM shows a labelled email input, semantic button/anchors, named Spotify SVG, and no content images.
be-inclusive
sufficient-contrast
passhighLighthouse accessibility scored 1.0 and both normal and forced-colors screenshots retain strong contrast.
be-inclusive
structure-and-focus
passhighDOM has one H1, main/header landmarks, semantic controls and an assertive route announcer; focus probe measured a visible 2px outline.
be-inclusive
legible-text
passhighDesktop/mobile screenshots show unclipped, readable text with a clear hierarchy and fluid heading wrap.
be-inclusive
zoom-reflow-targets-and-media
passhighViewport allows scaling, mobile reflow has no overflow, primary controls are 48px high, and there is no media requiring captions.
follow-best-practices
no-console-errors
passhighLighthouse did not report console-error or uncaught-exception failures during load.
follow-best-practices
sound-document-and-assets
passhighDOM has HTML doctype, UTF-8 charset and viewport metadata; the images primitive found no raster images or image defects.
follow-best-practices
browser-platform-hygiene
issueshighLighthouse `bf-cache` and `inspector-issues` audits both scored 0.
F6 medium: Restore platform navigation hygiene
be-discoverable
title-and-description
issueshighDOM and Lighthouse both found no meta description; rendered title is only “Spotify”.
F7 medium: Use descriptive search/share metadata
be-discoverable
crawlable-and-mobile-friendly
passhighAll six visible links have real descriptive hrefs, viewport meta is present, and robots.txt explicitly allows `/*/login`.
be-discoverable
canonical-and-indexing-signals
issueshighThe successful `/en-GB/login` page has no canonical or hreflang signal, and `/sitemap.xml` returned 404, although robots explicitly allows login routes.
F8 low: Complete canonical indexing signals
be-discoverable
structured-and-shareable-metadata
not-applicablehighA private account login form is not an article, product, event, or other rich public entity requiring schema.org/share metadata.
be-private-and-secure
secure-transport-and-headers
issueshighCookie audit found `sp_sso_csrf_token` without Secure and `sp_t` with SameSite=None; CSP permits unsafe-inline styles.
F9 high: Harden cookies and CSP on the auth origin
be-private-and-secure
data-minimisation-and-third-parties
passhighNo sensitive secrets or known tracker origins were found; observed Google requests serve disclosed reCAPTCHA fraud protection.
be-private-and-secure
in-context-permissions-and-modern-auth
issueshighDOM exposes email, Google, Facebook and Apple paths; no passkey control is present on this relevant authentication surface.
F10 medium: Offer phishing-resistant authentication
be-private-and-secure
defensive-browser-policies
issueshighHeaders primitive found both policies absent; HSTS, nosniff and clickjacking protection were present.
F11 medium: Add missing browser defense policies
be-resilient
progressive-enhancement
issueshighCrawler screenshot shows the full form plus “Please enable JavaScript to continue”; discoverability coverage was only 20%.
F12 medium: Make the first auth step progressively functional
be-resilient
resilient-runtime-behaviour
passhighThe simple form has no cut-off overlays; narrow layout remains contained and route state is announced.
be-resilient
offline-and-installable
not-applicablehighAuthentication intrinsically requires a live identity service; offline/installability is not a meaningful requirement for this login origin.
be-resilient
network-and-http-failure-states
passmediumServer HTML includes an actionable no-script alert, and shipped translations include connection, server, retry and support recovery messages.
be-internationalised
lang-dir-and-logical-properties
passhighRendered HTML declares lang=en-GB and dir=ltr; authored layout CSS uses logical inline/block sizing and padding, with locale-prefixed routes and translations.
be-internationalised
locale-aware-data
not-applicablehighThe audited screens display no dates, numbers, currencies, durations, or calendar data.
be-internationalised
time-zone-correctness
not-applicablehighThe audited screens display or edit no time-zone-sensitive data.
be-trustworthy
no-dark-patterns
passhighThe login page presents equivalent provider choices, sign-up and legal links without consent walls, forced continuity, pricing, or confirmshaming.
be-trustworthy
humane-error-handling
issueshighEmpty-submit interaction remained unchanged; DOM shows no `required` attribute and `aria-invalid=false`.
F13 high: Provide humane required-field feedback
be-trustworthy
trustworthy-input-assistance
passhighThe email/username field is labelled and uses autocomplete=username with autocapitalize, spellcheck and autocorrect disabled appropriately.
be-trustworthy
safe-commercial-and-account-flows
passhighAuthentication choices and sign-up are explicit, legal links are visible, and no commercial commitment or preselected consent is introduced.
be-sustainable
optimised-assets
passhighImages primitive found zero raster images; brand/provider artwork is lightweight inline SVG, avoiding resolution waste.
be-sustainable
no-wasteful-work
passhighTrace and layout observers captured no long tasks or ongoing animation; network completed with 26 bounded requests.
be-sustainable
third-party-and-media-budget
issueshighHAR transferred 871,015 bytes total; reCAPTCHA alone was 382,965 bytes, and the tracker probe observed seven third-party origins (none matched known trackers).
F14 medium: Defer and budget third-party authentication code
be-agent-ready
structured-agent-capabilities
not-applicablehighThis security-sensitive account login surface has no appropriate agent-facing transaction to expose.
be-agent-ready
on-device-inference
not-applicablehighThe login task has no summarisation or language-model use case that would improve the experience.
be-memory-efficient
no-leak-under-repeated-interaction
passhighAfter ten representative input focus/edit/blur cycles, heap self-size rose only 191,390 bytes (1.38%) and closure count stayed 15,948.
be-memory-efficient
bounded-footprint
passhighBaseline heap self-size was 13.84MB for the hydrated Next.js/recaptcha login, proportionate to the page and stable after interaction.
be-memory-efficient
no-detached-dom-or-unbounded-listeners
passhighBefore/after summaries show unchanged closure count and no growing Detached* constructor among reported populations.

Provenance

Canonical report: results/atomic/reports/0811-accounts_spotify_com.json
Report SHA-256: 07409691bcace2d6f7cb45feda0db0097a5d74061386765b89a9fd007df16343
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/accounts_spotify_com/2026-07-27T01-48-42-260Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/accounts_spotify_com/2026-07-27T01-48-42-260Z
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.