Manifest position 319 · CrUX rank bucket 1000
https://www.otto.de
Coverage complete
All 58 catalog checks were judged. Product-detail and unknown-route failures were recorded as observed site issues rather than hidden as untested work. Account, basket and payment submission were not attempted because product detail failed before those states and no purchase was authorized.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | Light and dark screenshots are pixel-identical in the first viewport, while the platform probe found only limited color-scheme-related CSS in the readable sheets. F01 medium: The site does not provide a usable preference-driven dark theme. |
respect-user-preferencesrespects-reduced-motion | issues | high | The reduced-motion probe found fourteen running 800 ms animations and no readable prefers-reduced-motion rules; the active elements were rotating loading spinners. F02 medium: Loading animation continues when reduced motion is requested. |
respect-user-preferencesrespects-contrast | pass | high | High-contrast screenshot preserves readable text and visible consent controls; axe separately identifies ordinary contrast defects under sufficient-contrast. |
implement-natural-interactionsview-transitions | pass | high | Readable CSS contains 20 view-transition references and the browser exposes document.startViewTransition. |
implement-natural-interactionsscroll-driven-animations | pass | high | Readable CSS contains five animation-timeline/scroll-timeline references; no evidence of a scroll-event animation loop was found. |
implement-natural-interactionsphysical-gestures | pass | high | Mobile category/search surfaces use native scrolling; DOM/CSS inspection found modern scroll-related rules and no required custom pointer gesture for core navigation. |
provide-guided-navigationscroll-state-aware-chrome | pass | high | Desktop and mobile screenshots show persistent, responsive global navigation; readable CSS includes scroll-timeline rules used for position-aware behavior. |
provide-guided-navigationanchored-positioning | pass | high | Readable CSS contains 17 anchor-name/position-anchor/position-try references, direct evidence that overlays can use anchored positioning. |
provide-guided-navigationdirects-attention | pass | high | Category/search screenshots provide breadcrumbs, a clear result heading and filter affordance; view-transition and scroll-timeline CSS is present. |
maximize-content-reduce-noiseno-intrusive-interruptions | issues | high | Screenshots of home, category and mobile search show the dialog covering most of the content; on 360x800 it consumes nearly the entire viewport. F03 high: The first-visit consent dialog dominates and blocks the primary content on desktop and mobile. |
maximize-content-reduce-noisesemantic-dismissible-primitives | pass | high | Consent probe identifies role=dialog with an accessible label and explicit accept, reject and information controls. |
maximize-content-reduce-noisereduced-chrome | pass | high | Desktop category/home screenshots use a compact header and content-led card/grid treatment once the dialog layer is disregarded. |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | pass | high | At 360×800 the layout observer reported scrollWidth=clientWidth=360, zero overflow and a valid viewport meta tag. |
adapt-to-the-form-factorcomponent-level-responsiveness | pass | high | Readable CSS contains five @container rules, and mobile/desktop captures show the global shell and listing controls adapt substantially. |
adapt-to-the-form-factorinput-modality-aware | issues | high | The focus/target probe measured category navigation buttons such as “Mode”, “Sport” and “Sale” at 24 px high, below comfortable touch-target guidance. F04 medium: Several global navigation targets are only 24 px high. |
support-core-task-successclear-purpose-and-primary-action | pass | high | Homepage, category and search each have descriptive titles/headings, visible search, category navigation, filter controls and product links. |
support-core-task-successprimary-flow-completion | issues | high | Two product links discovered from category/search were opened in fresh browser sessions; both screenshots are blank and the first product DOM has no title, H1, text or controls. HAR/Lighthouse also recorded an anti-bot 429. F05 high: The representative product journey dead-ends on a blank product page in the audited client. |
support-core-task-successclear-system-state-and-recovery | issues | high | The same-origin unknown-route probe returned status 404 and only “404 Not Found”, with no home, search, retry or back affordance. F06 high: Unknown routes return a bare 404 with no recovery path. |
be-fast-and-stablegood-core-web-vitals | issues | high | Lighthouse measured LCP 21.6 s, TBT 620 ms and CLS 0.126 (performance 38). The independent trace measured LCP 4.92 s and seven long tasks. F07 critical: Mobile load performance is far outside the good Core Web Vitals range. |
be-fast-and-stablevisual-stability | issues | high | Lighthouse measured CLS 0.126 and the mobile layout observer independently recorded a 0.063 shift near 5 seconds; 27 images lacked explicit dimensions. F08 medium: Late content causes measurable layout shift. |
be-fast-and-stableefficient-main-thread | issues | high | The trace recorded seven long tasks, the longest 228 ms, with 212 ms TBT; Lighthouse measured 620 ms TBT. F09 high: Heavy scripting blocks the main thread. |
be-fast-and-stableefficient-resource-delivery | issues | high | HAR recorded 631 requests and 3.23 MB transferred, including 343 scripts, 28 stylesheets and numerous parser-inserted high-priority stylesheets; Lighthouse LCP was 21.6 s. F10 high: The entry page has an excessive request and render-blocking footprint. |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | Lighthouse estimated 164 KiB unused JavaScript and 82 KiB unused CSS, including 57% of the 130 KiB consent SDK and 85–90% of two global/component stylesheets. F11 medium: Substantial unused JavaScript and CSS ship on initial load. |
be-inclusivenames-roles-labels | issues | high | axe reported 14 image-alt failures, three unnamed links, two unnamed ARIA commands and a title-only search label; the image primitive counted 28 images without alt. F12 high: Important images, links, commands and the search field lack accessible names or visible labels. |
be-inclusivesufficient-contrast | issues | high | axe found 18 serious color-contrast failures in recommendation prices and energy-label links; Lighthouse also failed color-contrast. F13 high: Product and energy-label text fails minimum contrast. |
be-inclusivestructure-and-focus | issues | high | axe found duplicate/non-unique banner landmarks and 162 region violations; the probe also found programmatically focused global controls with no computed outline. F14 medium: Landmark structure is repetitive and much content sits outside landmarks. |
be-inclusivelegible-text | pass | high | Desktop/mobile screenshots show comfortable body line-height and readable German text; no clipping or horizontal overflow was observed. |
be-inclusivezoom-reflow-targets-and-media | pass | high | Viewport permits scaling and 360 px reflow has zero horizontal overflow; the audited paths contain no audio/video requiring captions. Target-size defects are recorded separately. |
follow-best-practicesno-console-errors | issues | high | Lighthouse captured a 429 resource failure and an aborted Summarizer API request caused by unsupported language configuration. F15 medium: The page logs runtime and network errors. |
follow-best-practicessound-document-and-assets | issues | high | The image audit found 27 images without width/height and 19 oversized images; Lighthouse listed multiple product images displayed at 136×187 despite 350×500 source proportions. F16 medium: Numerous images have missing dimensions or distorted aspect ratios. |
follow-best-practicesbrowser-platform-hygiene | issues | high | Lighthouse reported three deprecated API warnings, missing source maps for large first-party bundles and three BFCache failure reasons including cache-control:no-store. F17 medium: Deprecated APIs, missing source maps and BFCache blockers reduce platform hygiene. |
be-discoverabletitle-and-description | pass | high | Homepage has descriptive title and meta description; category has the unique title “Sofas online kaufen » Couches | OTTO”. |
be-discoverablecrawlable-and-mobile-friendly | issues | high | Lighthouse failed crawlable-anchors and link-text; homepage recon found “Mein Konto” uses javascript:void(0), while axe found unnamed links. F18 medium: Some controls presented as links are not crawlable or descriptively named. |
be-discoverablecanonical-and-indexing-signals | pass | high | Homepage returned 200, declares canonical https://www.otto.de/, robots index/follow, and robots.txt points to three explicit sitemap indexes. |
be-discoverablestructured-and-shareable-metadata | issues | high | The metadata probe found JSON-LD but no og:title value; title, description and canonical were present. F19 low: The homepage lacks complete social preview metadata. |
be-private-and-securesecure-transport-and-headers | issues | high | Cookie audit found six cookies; OptanonConsent and KP_UIDz lacked Secure, and five used SameSite=None. HTTPS, HSTS, CSP frame-ancestors and nosniff were present. F20 high: Several first-party cookies are sent without Secure or with broad SameSite=None posture. |
be-private-and-securedata-minimisation-and-third-parties | pass | high | Before consent, tracker probe found no known tracker domains and only six operational/static OTTO or consent/reporting origins; secret scan found no exposed credentials. |
be-private-and-securein-context-permissions-and-modern-auth | pass | high | No geolocation/notification prompt appeared on load in any screenshot or probe; auth was not forced for browsing. No password-only claim is made. |
be-private-and-securedefensive-browser-policies | issues | high | Header audit found HSTS, CSP frame-ancestors and nosniff, but no Referrer-Policy or Permissions-Policy. F21 medium: Referrer-Policy and Permissions-Policy are absent. |
be-resilientprogressive-enhancement | pass | high | Discoverability probe fetched 317 KB raw HTML, found title/H1/description and 53% rendered-token coverage; it is not an empty JS shell. |
be-resilientresilient-runtime-behaviour | pass | high | Consent dialog remains attached and usable at desktop/mobile edges; native dialog labeling and anchor-position CSS were observed. |
be-resilientoffline-and-installable | not-applicable | high | The audited public commerce website is not presented as an installable app; the favicon manifest is not evidence of app intent. Flaky-network failure handling is judged separately. |
be-resilientnetwork-and-http-failure-states | issues | high | Product navigation produced blank documents alongside HTTP 429 evidence, while an unknown route returned only bare “404 Not Found” with no recovery controls. F22 high: HTTP failures degrade to blank or bare responses. |
be-internationalisedlang-dir-and-logical-properties | pass | high | Document lang is de, German reading direction is correct, and readable CSS contains 74 logical-property references. |
be-internationalisedlocale-aware-data | pass | high | Rendered prices use German comma decimals and euro placement, and dates use German weekday/day-month formatting (for example “Fr., 31.07.”). |
be-internationalisedtime-zone-correctness | not-applicable | high | The representative public pages show offer dates but no scheduled cross-time-zone event or user-entered time requiring DST coordination. |
be-trustworthyno-dark-patterns | pass | high | Consent offers explicit accept, reject and more-information controls in the first layer; pricing and sponsored labels are visibly stated in rendered content. |
be-trustworthyhumane-error-handling | pass | high | The only directly exercisable homepage form is search and does not produce premature validation errors; failures of HTTP recovery are recorded under core-task/resilience. |
be-trustworthytrustworthy-input-assistance | issues | high | DOM probe found the only homepage text input has autocomplete="off", no associated label and no aria-label; axe flagged it as title-only. F23 medium: The global search input is unlabeled and disables browser autocomplete. |
be-trustworthysafe-commercial-and-account-flows | issues | high | Two visible, descriptive product links from listing pages led to blank pages, preventing inspection of pricing commitment, basket, checkout, cancellation and reauthentication states. F24 high: The commercial flow cannot reach a product detail in the audited client. |
be-sustainableoptimised-assets | issues | high | Image audit found 19 oversized images, 27 without responsive srcset and 66 below-fold images not lazy-loaded; the page transferred 994 KB of images. F25 medium: Image delivery is not consistently resolution- and viewport-efficient. |
be-sustainableno-wasteful-work | pass | high | No autoplay audio/video exists and tracker probe found no known trackers before consent; observed waste is captured under the separate script/media budget finding. |
be-sustainablethird-party-and-media-budget | issues | high | HAR recorded 343 script requests and 1.64 MB script transfer; 479 cross-origin requests moved 2.38 MB, mostly OTTO static/image subdomains, plus a 130 KB consent SDK. F26 high: The initial route ships a disproportionate script and subdomain footprint. |
be-agent-readystructured-agent-capabilities | issues | medium | Rendered DOM/source inspection found no WebMCP or agentic-tool registration even though robots.txt explicitly permits major AI user agents and the site exposes purchasable products. F27 low: The commerce surface exposes no structured agent tools. |
be-agent-readyon-device-inference | issues | high | Lighthouse console evidence says the Summarizer API request was aborted because unsupported languages were specified and lists the supported language codes. F28 medium: The page calls the Summarizer API with unsupported language configuration. |
be-memory-efficientno-leak-under-repeated-interaction | pass | medium | After ten menu toggles in one session, DOM element count stayed exactly 4,250. JS heap rose from 53.7 to 66.0 MB, but one bounded run does not establish unbounded retained growth. |
be-memory-efficientbounded-footprint | issues | medium | Heap summaries measured 80.8–85.5 MB self size with 1.42–1.51 million V8 nodes; the post snapshot contained over 203k closures. This is high for a landing page even allowing for commerce complexity. F29 medium: The homepage has a very large baseline memory footprint. |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | high | DOM count stayed at 4,250 across ten toggles and heap summaries did not expose a top Detached* constructor; no direct evidence of accumulating detached DOM was found. |
Provenance
Canonical report: results/atomic/reports/0319-www_otto_de.json
Report SHA-256: a418cd91a2a933a76728dd29019c97c5e521b3be32d3b1b559abd73bf28d2671
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_otto_de/2026-07-19T22-46-05-567Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_otto_de/2026-07-19T22-46-05-567Z
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.