Manifest position 370 · CrUX rank bucket 1000

https://lichess.org

Coverage complete

Coverage-complete representative audit of seven public archetypes. Authenticated play/account management, live multiplayer completion, checkout/donation completion, and destructive account actions were not exercised because they require credentials, another player, payment, or side effects.

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
issueshighThe light and dark captures are byte-identical and both retain the dark palette; the DOM reports html class="dark" rather than a system-driven theme.
F01 medium: System light preference is ignored
respect-user-preferences
respects-reduced-motion
passhighThe preference matched, no active animations were returned, and the fetched site stylesheet contains four prefers-reduced-motion rules.
respect-user-preferences
respects-contrast
issueshighLighthouse found 11 low-contrast text/control cases, while the fetched stylesheets contain no prefers-contrast or forced-colors adaptation.
F02 medium: High-contrast preferences have no dedicated adaptation
implement-natural-interactions
view-transitions
issueshighHome, training, analysis and article surfaces use abrupt document/state changes; fetched CSS contains no @view-transition or view-transition-name usage.
F03 low: Route and state changes are abrupt
implement-natural-interactions
scroll-driven-animations
passhighNo parallax, scrollytelling or scroll-linked animation is present on the representative pages, so there is no main-thread scroll-animation anti-pattern to replace.
implement-natural-interactions
physical-gestures
passhighThe site stylesheet uses overscroll-behavior and the chess/puzzle surfaces use direct board interaction without a competing scroll or pointer-driven page effect.
provide-guided-navigation
scroll-state-aware-chrome
issueshighThe 2,957 px mobile lobby and 7,501 px mobile tournament listing retain static chrome with no scroll progress/state response; no scroll-state query was found.
F04 low: Long pages provide no scroll-state guidance
provide-guided-navigation
anchored-positioning
issueshighNavigation/preferences use fixed/custom dropdown containers; fetched CSS contains no anchor-name, position-anchor or position-try fallback positioning.
F05 low: Custom dropdown positioning does not use anchors
provide-guided-navigation
directs-attention
issuesmediumRepresentative navigation uses abrupt page replacement and long listings expose no progress marker, transition cue or destination highlight beyond the current tab underline.
F06 low: Navigation gives limited destination cues
maximize-content-reduce-noise
no-intrusive-interruptions
passhighNo consent wall, ad interstitial or load-time modal obscured the lobby, puzzle, analysis board, article or login form.
maximize-content-reduce-noise
semantic-dismissible-primitives
passhighNo modal overlay was present on load; the visible disclosure/navigation controls are native buttons, inputs and links and did not block content.
maximize-content-reduce-noise
reduced-chrome
passhighThe board and article content dominate their viewports; there are no ads and only compact global chrome.
adapt-to-the-form-factor
responsive-no-horizontal-scroll
passhighLobby and tournament pages both report scrollWidth 360, clientWidth 360 and zero horizontal overflow with a viewport meta tag.
adapt-to-the-form-factor
component-level-responsiveness
issuesmediumNo @container or container-type rules were found in the three page stylesheets; complex lobby cards, carousels and board sidebars adapt only at page/viewport level.
F07 low: Complex reused components rely only on viewport layout
adapt-to-the-form-factor
input-modality-aware
passhighThe login username receives a strong blue focus ring, controls remain operable as buttons/links, and primary mobile actions have generous target sizes.
support-core-task-success
clear-purpose-and-primary-action
passhighQuick pairing, puzzle instruction, analysis board, tournament heading, article title and sign-in form each make their purpose and next action apparent.
support-core-task-success
primary-flow-completion
passhighAn anonymous user can select a pairing, solve a loaded puzzle and open the analysis board without registration; sign-in is confined to account-specific activity.
support-core-task-success
clear-system-state-and-recovery
passhighPuzzle state says “Your turn” and identifies the side to move; the 404 clearly says Page not found and links back to the homepage.
be-fast-and-stable
good-core-web-vitals
issueshighLighthouse measured LCP 3.7 s (outside the good <=2.5 s range), although CLS was 0 and TBT 0 ms; a warm trace measured LCP 1.06 s.
F08 medium: Cold-load LCP misses the good threshold
be-fast-and-stable
visual-stability
passhighMobile lobby and tournament observers both report CLS 0 with no shifts; Lighthouse also reports CLS 0.
be-fast-and-stable
efficient-main-thread
passhighThe trace reports zero long tasks and 0 ms total blocking time; both mobile layout captures also observed no long tasks.
be-fast-and-stable
efficient-resource-delivery
passhighThe load transfers about 440 KB with no errors or redirects; scripts are modules/deferred in DOM. Lighthouse estimates only 130 ms render-blocking savings.
be-fast-and-stable
trim-unused-and-duplicate-code
passhighThe 440 KB load has no tracker bundles and Lighthouse did not report unused or duplicated JavaScript/CSS audits as failures.
be-inclusive
names-roles-labels
issueshighLighthouse found two unnamed carousel buttons and nine content/flair images without alt; training and analysis probes also enumerate icon-only buttons without accessible names.
F09 high: Primary interactive surfaces contain unnamed controls
be-inclusive
sufficient-contrast
issueshighLighthouse reports insufficient contrast for Register, feed timestamps/links and tournament text (11 affected nodes).
F10 medium: Several text and control colors fail WCAG contrast
be-inclusive
structure-and-focus
issueshighThe homepage, puzzle, analysis and login rendered with no h1; complex board tools expose many icon-only controls. The login field itself has a clear visible focus ring.
F11 medium: Key app pages lack a clear top-level heading and expose weak control structure
be-inclusive
legible-text
passhighBody copy, board coordinates, form labels and article text are readable without clipping; mobile layout remains single-column and stable.
be-inclusive
zoom-reflow-targets-and-media
passhighThe viewport allows user scaling (no maximum-scale/user-scalable=no), and tested mobile pages reflow with zero horizontal overflow. No essential timed media appears on tested paths.
follow-best-practices
no-console-errors
passhighLighthouse scored Best Practices 1.00 and did not report console errors or uncaught exceptions.
follow-best-practices
sound-document-and-assets
issueshighDoctype and UTF-8 are valid, but 9 images lack intrinsic dimensions and 3 are over 2x display size; the load happened to record CLS 0.
F12 low: Image markup omits sizing and responsive-delivery hints
follow-best-practices
browser-platform-hygiene
passhighBest Practices scored 1.00; BFCache exclusions are WebSocket/no-store constraints, and no permission prompt or paste prevention appeared.
be-discoverable
title-and-description
passhighHomepage and article have descriptive unique titles and meta descriptions, all present in raw HTML.
be-discoverable
crawlable-and-mobile-friendly
issueshighRobots allows crawling and no-JS coverage is 95%, but Lighthouse flags the search trigger implemented as an <a> with no href as non-crawlable.
F13 low: The search affordance is an href-less anchor
be-discoverable
canonical-and-indexing-signals
issueshighBoth homepage and sampled article return 200 and robots allows them, with extensive hreflang on home, but neither exposes rel=canonical and robots.txt declares no Sitemap URL.
F14 medium: Canonical and sitemap signals are incomplete
be-discoverable
structured-and-shareable-metadata
issueshighThe article has accurate Open Graph title, description, URL, type and image, but has no JSON-LD or microdata for its Article entity.
F15 low: Article metadata lacks structured data
be-private-and-secure
secure-transport-and-headers
passhighHTTPS, HSTS, X-Frame-Options DENY, secure HttpOnly SameSite=Lax cookie and a nonce-based meta CSP are present; secret scan found none.
be-private-and-secure
data-minimisation-and-third-parties
passhighNo known trackers were found; external traffic is confined to Lichess-owned asset/image/socket origins and no third-party cookies were set.
be-private-and-secure
in-context-permissions-and-modern-auth
issueshighNo permission prompt occurred on load, but the public sign-in UI exposes password plus one-time code only and no passkey/WebAuthn option.
F17 medium: Public authentication offers passwords but no passkey path
be-private-and-secure
defensive-browser-policies
issueshighHSTS, X-Frame-Options and Permissions-Policy are present, but response CSP, X-Content-Type-Options and Referrer-Policy are absent; the meta CSP cannot provide all header-only protections.
F16 medium: Several response-level browser defenses are missing
be-resilient
progressive-enhancement
passhighRaw HTML preserves 95% of homepage and 97% of article content; neither page is a JS shell.
be-resilient
resilient-runtime-behaviour
passhighLobby, puzzle, analysis and listing loaded into stable, usable states without cut-off overlays or fragile blank shells.
be-resilient
offline-and-installable
passhighA complete standalone web app manifest with 32–1024 px icons is linked and a service worker registration controls the lichess.org scope.
be-resilient
network-and-http-failure-states
passhighAn invalid route renders a clear 404/Page not found state and a direct homepage recovery link rather than a blank shell.
be-internationalised
lang-dir-and-logical-properties
passhighThe document declares en-US and exposes hreflang variants including Arabic and Persian; language-specific routes are server-rendered.
be-internationalised
locale-aware-data
passhighLive dates and times use semantic <time datetime=UTC> values with localized display strings (for example “in 12 hours” and localized titles).
be-internationalised
time-zone-correctness
passhighEvent timestamps are stored as unambiguous Z/UTC datetime values and localized for display with explicit UTC context.
be-trustworthy
no-dark-patterns
passhighThe service is ad-free, exposes Donate rather than disguised sponsorship, and presents sign-in/register choices without consent nags or forced continuity.
be-trustworthy
humane-error-handling
passhighSign-in fields use labels and required constraints, password reset is visible, and the failure route provides a clear recovery action.
be-trustworthy
trustworthy-input-assistance
passhighUsername, current password and authentication code use autocomplete=username, current-password and one-time-code respectively.
be-trustworthy
safe-commercial-and-account-flows
passhighThe sampled sign-in screen clearly separates Sign in/Register, offers password reset and does not obscure pricing or introduce a subscription commitment.
be-sustainable
optimised-assets
issueshighAll sampled raster content uses WebP, but 18 below-fold images omit lazy loading, 9 omit srcset, 3 are oversized and Lighthouse estimates 18 KiB savings.
F18 low: Below-fold images are not deferred or responsively selected
be-sustainable
no-wasteful-work
passhighThe trace records no long tasks/TBT, the 440 KB load has no repeated errors or redirects, and no tracker-driven background work was detected.
be-sustainable
third-party-and-media-budget
passhighThe initial page transfers about 440 KB, has no autoplay media and no known trackers; asset traffic is hosted on Lichess-owned domains.
be-agent-ready
structured-agent-capabilities
not-applicablehighAgent-facing WebMCP tools and on-device inference are emerging and not required for this public chess experience; crawler-readable content is evaluated separately under discoverability.
be-agent-ready
on-device-inference
not-applicablehighAgent-facing WebMCP tools and on-device inference are emerging and not required for this public chess experience; crawler-readable content is evaluated separately under discoverability.
be-memory-efficient
no-leak-under-repeated-interaction
passhighA one-time preferences load raised snapshot size from 6.43 MB to 6.69 MB; 50 cycles remained bounded at 6.57 MB. The 10-cycle in-page probe grew only 640 bytes and 22 DOM nodes.
be-memory-efficient
bounded-footprint
passhighThe interactive lobby snapshot remains about 6.4–6.7 MB self size with roughly 104k–111k heap nodes, proportionate to a live chess lobby.
be-memory-efficient
no-detached-dom-or-unbounded-listeners
passhighGrowth plateaus between 10 and 50 repeated menu cycles rather than scaling with cycle count; the menu closes and DOM count remains near baseline.

Provenance

Canonical report: results/atomic/reports/0370-lichess_org.json
Report SHA-256: 6e4bc783f28042f474d88556c01295df771410367b1cebffa2156e7f591ec603
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/lichess_org/2026-07-20T07-38-16-173Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/lichess_org/2026-07-20T07-38-16-173Z
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.