Manifest position 902 · CrUX rank bucket 1000
https://www.joyclub.de
Coverage complete
Coverage-complete representative audit of four public archetypes plus a 404 recovery state. Authenticated member-only areas, payments, account cancellation execution, livestream playback and actual account creation were not covered because they require credentials, personal data or commitment.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | Dark-emulated and default screenshots are byte-identical (402,610 bytes), while the probe reports matchMedia dark=true but no prefers-color-scheme/light-dark CSS and color-scheme: normal. F01 medium: Theme does not respond to the user’s color-scheme preference. |
respect-user-preferencesrespects-reduced-motion | issues | high | Both probes report three running 200 ms animations; the reduced-motion probe finds no prefers-reduced-motion CSS. F02 medium: Motion is unchanged when reduced motion is requested. |
respect-user-preferencesrespects-contrast | issues | high | The CSS probe found no prefers-contrast or forced-colors rules and the prefers-contrast screenshot is byte-identical to default. F03 low: High-contrast preferences are not explicitly supported. |
implement-natural-interactionsview-transitions | issues | high | CSS inspection found no view-transition rules on a site with many MPA routes and changing carousel state. F04 low: Route and state changes do not use View Transitions. |
implement-natural-interactionsscroll-driven-animations | not-applicable | high | Representative pages use ordinary document scrolling; CSS probe found no scroll timeline. |
implement-natural-interactionsphysical-gestures | issues | high | The landing screenshot shows carousel arrows and dots, while CSS inspection found no scroll-snap signal. F05 low: The hero carousel is JS-driven without platform scroll-snap/gesture semantics. |
provide-guided-navigationscroll-state-aware-chrome | issues | high | Desktop and long mobile captures show static header chrome; CSS inspection found neither scroll-state queries nor scroll timelines. F06 low: Persistent navigation does not expose scroll-aware feedback. |
provide-guided-navigationanchored-positioning | not-applicable | high | No popover elements or relevant open overlays were observed. |
provide-guided-navigationdirects-attention | pass | medium | No divergence was observed in the directly exercised condition; the recorded evidence supports the expected outcome. |
maximize-content-reduce-noiseno-intrusive-interruptions | pass | high | No content-obscuring popup or consent interstitial appeared on any initial representative-page load. |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | Registration uses J-BUTTON custom elements; the landing DOM has a role=dialog surface but no dialog, popover or details elements. F07 medium: Several controls and overlay surfaces use custom elements instead of native primitives. |
maximize-content-reduce-noisereduced-chrome | pass | high | The landing and content templates devote the main viewport to hero, listing or educational content with compact persistent navigation. |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | pass | high | Home, events, education and signup all reported horizontalOverflowPx=0 with viewport meta present. |
adapt-to-the-form-factorcomponent-level-responsiveness | pass | high | Probe found container-query CSS and representative cards/forms materially reflow between 1440 and 360 pixels. |
adapt-to-the-form-factorinput-modality-aware | issues | high | The focus/target probe found several links only 15–16 px high, including story and business-registration links. F08 medium: Some interactive targets are too short for reliable touch use. |
support-core-task-successclear-purpose-and-primary-action | pass | high | Home clearly offers free single/couple signup; events exposes filters/results; education names and explains its offer. |
support-core-task-successprimary-flow-completion | issues | high | All visible registration fields report required=false; the custom submit immediately navigated/closed the inspected target on an empty submission, preventing an in-place recoverable validation state. F09 high: The registration flow hides requirements from browser semantics and cannot be safely validated before navigation. |
support-core-task-successclear-system-state-and-recovery | pass | high | Intentional invalid URL produces a clear German 404, explanation, search field and home action. |
be-fast-and-stablegood-core-web-vitals | issues | high | Lighthouse measured LCP 5.6 s, FCP 3.1 s, Speed Index 10.6 s and performance 0.65; trace LCP was 3.00 s. F10 high: Mobile load performance misses the good LCP range. |
be-fast-and-stablevisual-stability | pass | high | CLS was 0.009 on home, 0 on events/signup and 0.048 on education, all within the good range. |
be-fast-and-stableefficient-main-thread | pass | high | Trace found one 57 ms task and only 7.36 ms TBT; mobile layouts found at most one 67 ms task. |
be-fast-and-stableefficient-resource-delivery | issues | high | HAR recorded 210 requests and 2.95 MB transferred, including 23 stylesheets and 159 scripts; Lighthouse estimates 1.06 s render-blocking savings and 950 ms font-display savings. F11 high: The critical resource chain is large and render-blocking. |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | Lighthouse estimates 239 KiB unused JavaScript and 92 KiB unused CSS; one 144 KiB chunk is 95.6% unused. F12 medium: The landing page ships substantial unused CSS and JavaScript. |
be-inclusivenames-roles-labels | issues | high | Lighthouse found a visible “Deutsch” control named only “Sprache ändern” and a footer logo link with no discernible accessible text. F13 medium: Some controls and links have incorrect or missing accessible names. |
be-inclusivesufficient-contrast | pass | high | Lighthouse color-contrast audit passed and body/control text remains visually distinct in representative captures. |
be-inclusivestructure-and-focus | issues | high | The DOM probe found only a footer landmark on the landing page, with no main, nav or header element, despite extensive navigation and content. F14 low: The landing template lacks clear semantic page landmarks. |
be-inclusivelegible-text | pass | high | Headings and body copy retain readable size, spacing and wrapping at 360 px without clipping. |
be-inclusivezoom-reflow-targets-and-media | issues | high | At 360 px the layout reflows without overflow, but the target probe reports multiple interactive links only 15–16 px high. F15 medium: Small targets weaken reflow and touch accessibility. |
follow-best-practicesno-console-errors | pass | high | Lighthouse errors-in-console audit passed with zero items. |
follow-best-practicessound-document-and-assets | issues | high | Image audit found five images without width/height; Lighthouse identified four visible unsized images including app-store badges and the claim image. F16 medium: Multiple images omit intrinsic dimensions. |
follow-best-practicesbrowser-platform-hygiene | issues | high | Lighthouse found three deprecated API warnings from the challenge script and many first-party .map URLs returning 404. F17 low: The page emits platform deprecation warnings and ships broken source-map references. |
be-discoverabletitle-and-description | pass | high | Home, events, education and signup each expose a distinct descriptive title and meta description. |
be-discoverablecrawlable-and-mobile-friendly | issues | high | Sex Education has only 2% raw/rendered word coverage, no raw H1 and isJsShell=true; Lighthouse also reports robots.txt blocking its crawler. F18 high: A valuable public content surface is nearly empty without JavaScript, and robots blocks Lighthouse crawling. |
be-discoverablecanonical-and-indexing-signals | pass | high | Representative pages returned 200, self-canonical URLs and localized pages provide de/en/fr/etc hreflang alternates. |
be-discoverablestructured-and-shareable-metadata | issues | high | Metadata probes found no Open Graph tags on home, events, education or signup; events and education also expose no JSON-LD. F19 medium: Representative public pages lack share-preview and entity metadata. |
be-private-and-securesecure-transport-and-headers | pass | high | HTTPS, nonce/strict-dynamic CSP, HSTS, nosniff and frame protection are present; cookies are Secure+HttpOnly and secrets scan found none. |
be-private-and-securedata-minimisation-and-third-parties | pass | high | Only one known tracker origin (Sentry) made one request; remaining high-volume CDN/analytics origins are joyclub.de subdomains and no sensitive secret was exposed. |
be-private-and-securein-context-permissions-and-modern-auth | issues | medium | The signup probe found a password field with empty autocomplete and no passkey/WebAuthn affordance in the inspected registration surface. F21 medium: Registration exposes password-only authentication with no passkey path. |
be-private-and-securedefensive-browser-policies | issues | high | Headers include CSP, HSTS, nosniff and frame protection, but Permissions-Policy is missing and Referrer-Policy is the permissive legacy no-referrer-when-downgrade value. F20 medium: Browser policy coverage is incomplete. |
be-resilientprogressive-enhancement | issues | high | Crawler/no-JS capture shows only navigation and a blank content area; discoverability reports 2% content coverage and no raw H1. F22 high: Core Sex Education content is not progressively enhanced. |
be-resilientresilient-runtime-behaviour | pass | high | Filters, navigation and forms remain within the viewport; recoverable 404 state is complete and actionable. |
be-resilientoffline-and-installable | not-applicable | medium | No web manifest was linked; the product advertises native apps and live/account-backed services. |
be-resilientnetwork-and-http-failure-states | pass | high | 404 page clearly identifies the failure and offers search and home recovery controls. |
be-internationalisedlang-dir-and-logical-properties | pass | high | html lang=de and dir=ltr are correct; logical CSS property usage is present and multiple language alternates are exposed. |
be-internationalisedlocale-aware-data | pass | high | German dates/day labels and localized alternate routes are rendered for the German locale. |
be-internationalisedtime-zone-correctness | pass | high | Event result explicitly labels time as Ortszeit, avoiding an unqualified global-time claim. |
be-trustworthyno-dark-patterns | pass | high | Signup states the free action and sensitive-data terms; footer exposes cancellation/withdrawal links, with no confirmshaming overlay observed. |
be-trustworthyhumane-error-handling | issues | high | Every visible field reports required=false and aria-invalid is absent; empty custom submission navigates rather than yielding a stable in-place validation state. F23 high: Registration does not expose native, accessible invalid-state semantics. |
be-trustworthytrustworthy-input-assistance | issues | high | Username, password and email fields have empty autocomplete values; only hidden/decoy fields carry username/new-password tokens. F24 medium: Sign-up fields omit expected autofill tokens. |
be-trustworthysafe-commercial-and-account-flows | pass | high | Terms/privacy are visible next to signup and cancellation/withdrawal links are directly exposed in the footer. |
be-sustainableoptimised-assets | issues | high | Image audit found 11/12 images without srcset, nine legacy-format images, two oversized images and ten below-fold images without lazy loading. F25 medium: Image delivery wastes bytes and misses responsive optimisation. |
be-sustainableno-wasteful-work | issues | high | HAR offenders include four desktop and four mobile hero JPEGs on one load; Lighthouse reports 239 KiB unused JS and 92 KiB unused CSS. F26 medium: The landing page eagerly loads both desktop and mobile hero variants plus broad code bundles. |
be-sustainablethird-party-and-media-budget | issues | high | HAR records 2.95 MB across 210 requests, including 1.72 MB images, 842 KB scripts and 159 script requests before user interaction. F27 medium: The initial media/script budget is disproportionate to the landing task. |
be-agent-readystructured-agent-capabilities | not-applicable | high | No WebMCP or agent-tool surface was observed. |
be-agent-readyon-device-inference | not-applicable | high | The representative journeys are navigation, content browsing and registration. |
be-memory-efficientno-leak-under-repeated-interaction | pass | high | After ten carousel interaction attempts, heap grew only 77,059 bytes (0.33%) and 935 nodes (0.26%), not evidence of unbounded retention. |
be-memory-efficientbounded-footprint | pass | high | Baseline retained heap self size was 23.0 MB for a media-rich page; post-interaction remained 23.1 MB. |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | high | Top constructor summaries contain no Detached* population and show only small bounded overall growth. |
Provenance
Canonical report: results/atomic/reports/0902-www_joyclub_de.json
Report SHA-256: 4b4da5aedcfe2f666f30fdb3f614fafd45f9560d85cb9497eb746b8bb25bbf2b
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_joyclub_de/2026-07-23T17-54-44-678Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_joyclub_de/2026-07-23T17-54-44-678Z
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.