Manifest position 598 · CrUX rank bucket 1000
https://cookpad.com
Coverage complete
Coverage complete across 58 checks and six representative public paths. Auth-provider completion, post-auth account management, and transactions were explicitly excluded from paths but did not leave any registered check unjudged.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | The dark-condition screenshot is pixel-identical in palette to the light screenshot, and the platform probe found no prefers-color-scheme rule or color-scheme declaration. F01 medium: The site does not honour the user’s dark colour-scheme preference. |
respect-user-preferencesrespects-reduced-motion | pass | high | The preference matched and getAnimations() returned no active animations, so no non-essential motion persisted. |
respect-user-preferencesrespects-contrast | issues | high | The platform probe found no prefers-contrast or forced-colors rules; Lighthouse also measured text/button contrast as low as 2.13:1. F02 medium: There is no explicit high-contrast or forced-colours adaptation. |
implement-natural-interactionsview-transitions | issues | high | The live CSS probe found no view-transition declarations and no active transition animations on the representative home surface. F03 low: Route and state changes do not use View Transitions. |
implement-natural-interactionsscroll-driven-animations | pass | medium | No scroll-linked/parallax animation was present, so there was no main-thread scroll-animation anti-pattern to replace. |
implement-natural-interactionsphysical-gestures | issues | high | The mobile screenshot shows an interactive carousel; CSS had no scroll-snap, while Lighthouse measured its pagination controls at only 8–10px. F04 low: The banner carousel uses small custom pagination rather than a platform-aligned, touch-friendly scrolling interaction. |
provide-guided-navigationscroll-state-aware-chrome | issues | high | DOM evidence shows a sticky header, but the CSS probe found no scroll-state query, scroll timeline, or progress affordance. F05 low: Sticky navigation does not adapt to scroll state. |
provide-guided-navigationanchored-positioning | not-applicable | high | No tooltip, popover, or edge-positioned menu requiring anchor positioning was present in the exercised guest paths. |
provide-guided-navigationdirects-attention | pass | medium | Selected navigation and carousel pagination communicate state; recipe and recovery destinations preserve a clear visual destination. |
maximize-content-reduce-noiseno-intrusive-interruptions | pass | medium | The consent panel occupies part of the viewport but provides equally visible accept/refuse actions and does not replace the page with a full-screen interstitial. |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | The loaded page exposes no dialog, popover, or details elements even though the fixed cookie consent panel and mobile navigation are dismissible transient UI. F06 low: Transient consent and navigation UI use custom containers rather than modern semantic overlay primitives. |
maximize-content-reduce-noisereduced-chrome | pass | high | Content dominates the primary pane; recipe ingredients and steps are presented with minimal framing and no decorative application borders. |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | pass | high | All three report scrollWidth=clientWidth=390, viewport meta present, horizontalOverflowPx=0. |
adapt-to-the-form-factorcomponent-level-responsiveness | issues | high | The representative components visibly rearrange between mobile and desktop, but live CSS inspection found no @container rules or container-type declarations. F07 low: Responsive components rely on viewport styling only. |
adapt-to-the-form-factorinput-modality-aware | issues | high | Lighthouse measured four mobile pagination buttons at 8–10px with less than 24px safe clickable space. Keyboard focus itself was visible. F08 medium: Carousel controls are too small for reliable touch input. |
support-core-task-successclear-purpose-and-primary-action | pass | high | Home exposes recipe/ingredient search immediately; search identifies Chicken and result count; recipe leads with title, image, ingredients and steps. |
support-core-task-successprimary-flow-completion | pass | high | The Chicken listing returned 76,210 results and the selected Butter Chicken Curry recipe exposed complete ingredients and eight steps without an account wall. |
support-core-task-successclear-system-state-and-recovery | pass | high | The 404 state clearly says the page was not found and offers four current recipe links plus a home link, rather than a blank shell. |
be-fast-and-stablegood-core-web-vitals | issues | high | Mobile Lighthouse measured home LCP 5.4s and CLS 0.17; recipe LCP 3.6s and CLS 0.16. Both exceed good thresholds. F09 high: Lab Core Web Vitals are outside the good range on key templates. |
be-fast-and-stablevisual-stability | issues | high | Lighthouse recorded CLS 0.170 on home and 0.160 on recipe even though the later five-second layout observer saw no additional shifts. F10 high: Both home and recipe templates shift materially during load. |
be-fast-and-stableefficient-main-thread | pass | high | Trace reports zero long tasks and 0ms TBT; Lighthouse reports about 20ms TBT on both home and recipe. Search had one isolated 92ms task but no sustained blocking. |
be-fast-and-stableefficient-resource-delivery | issues | high | The HAR recorded 930KB across 64 requests; GTM took 1.14s and 186KB, Facebook 108KB, and two Typekit stylesheets were parser-inserted at VeryHigh priority. F11 medium: Third-party scripts and render-blocking font styles delay critical delivery. |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | Scripts account for 461KB; GTM and Facebook alone transfer about 294KB, while the home page’s main task is simple recipe discovery. F12 medium: Third-party JavaScript dominates a substantial share of the home load. |
be-inclusivenames-roles-labels | issues | high | Lighthouse found invalid tablist/tab relationships, unnamed banner links/images on home, an unnamed recipe back button, and aria-hidden content containing a focusable app link. F13 high: Core navigation and recipe controls have invalid or missing accessible semantics. |
be-inclusivesufficient-contrast | issues | high | Lighthouse measured white on Cookpad orange at 2.13:1, orange text on the recipe surface at 2.07:1, and secondary text at 2.88–4.42:1. F14 high: Text and primary action colours fail WCAG contrast. |
be-inclusivestructure-and-focus | issues | high | Both Lighthouse runs report no main landmark; home contains two H1s, and recipe ingredients are li elements overridden with role=paragraph, invalidating their list. F15 medium: Page landmarks, headings, and list semantics are not logically structured. |
be-inclusivelegible-text | pass | medium | Primary recipe and search text is comfortably sized and wraps without clipping; the separate colour-token failures are recorded under sufficient-contrast. |
be-inclusivezoom-reflow-targets-and-media | issues | high | The 390px layouts had no horizontal overflow, but Lighthouse’s target-size audit found 8–10px pagination buttons with insufficient spacing. F16 medium: Small carousel targets weaken reflowed/touch use. |
follow-best-practicesno-console-errors | pass | high | No console-error or uncaught-exception failure was reported; overall best-practices scores were 1.00 and 0.96. |
follow-best-practicessound-document-and-assets | issues | high | The image probes found two home images without dimensions, and Lighthouse found a recipe avatar displayed at a distorted 14×16 ratio instead of 1:1. F17 low: Some image assets are incorrectly sized or lack intrinsic dimensions. |
follow-best-practicesbrowser-platform-hygiene | pass | medium | No deprecated API, vulnerable library, paste prevention, source-map, intrusive permission prompt, or BFCache issue was reported on exercised public paths. |
be-discoverabletitle-and-description | pass | high | Home and recipe have descriptive unique titles and non-empty meta descriptions matching their visible purpose. |
be-discoverablecrawlable-and-mobile-friendly | pass | high | Primary navigation/search/recipe links are real hrefs, viewport meta is valid, default robots allows public content, and raw HTML contains the core content. |
be-discoverablecanonical-and-indexing-signals | issues | high | The UK page declares canonical https://cookpad.com/eng, Lighthouse flags it invalid, and https://cookpad.com/sitemap.xml returns HTTP 404. Recipe canonical and metadata are valid. F18 medium: The localized home has inconsistent canonical/sitemap signals. |
be-discoverablestructured-and-shareable-metadata | pass | high | Recipe exposes schema.org Recipe with instructions plus accurate og:title, description, image, URL and article type. |
be-private-and-securesecure-transport-and-headers | issues | high | The headers primitive confirms HTTPS, HSTS, nosniff and SAMEORIGIN, but no Content-Security-Policy header. F19 medium: The main document is served without Content-Security-Policy. |
be-private-and-securedata-minimisation-and-third-parties | issues | high | A fresh guest load requested Google Tag Manager and Facebook tracking code; tracker evidence lists six third-party origins and the HAR attributes about 294KB to GTM/Facebook. F20 medium: Tracking code loads before the user chooses a cookie preference. |
be-private-and-securein-context-permissions-and-modern-auth | issues | high | The auth surface offers Google, Apple, Facebook, and Email; the inspected markup exposes no WebAuthn/passkey path. No permission prompt fired on load. F21 low: Guest authentication offers federated identity or email, but no passkey option. |
be-private-and-securedefensive-browser-policies | issues | high | The headers primitive found HSTS, clickjacking protection and Referrer-Policy, but no Permissions-Policy header. F22 low: Permissions-Policy is absent. |
be-resilientprogressive-enhancement | pass | high | Home raw HTML retains 100% of rendered content tokens and recipe retains 78%, including title, H1 and description; neither is a JS shell. |
be-resilientresilient-runtime-behaviour | pass | medium | Consent, navigation, recipe actions and long lists remained within viewport bounds; no clipped overlay or blank runtime state appeared. |
be-resilientoffline-and-installable | not-applicable | high | Cookpad presents the web surface as a content site and explicitly prefers related native applications; the manifest exists but no service worker is registered, so offline web-app installability was judged out of scope. |
be-resilientnetwork-and-http-failure-states | pass | high | The server returns a branded explanatory state with useful recipe recovery links. |
be-internationalisedlang-dir-and-logical-properties | pass | high | Home uses lang=en-GB dir=ltr, recipe uses lang=en dir=ltr, and the site exposes many language/region variants including RTL locales. |
be-internationalisedlocale-aware-data | pass | medium | Recipe renders “19 July 2026” from a machine-readable UTC datetime through a localtime controller; UK locale and region-specific copy are consistent. |
be-internationalisedtime-zone-correctness | pass | medium | Published time is stored unambiguously as 2026-07-19T21:36:29Z and rendered locally, avoiding ambiguous local-only storage. |
be-trustworthyno-dark-patterns | pass | medium | Consent provides accept and refuse with equal prominence; auth offers multiple routes; observed premium labels show the monthly price rather than disguising commitment. |
be-trustworthyhumane-error-handling | not-applicable | high | The covered guest flow contains search, federated auth launchers, and navigation but no validation-bearing data-entry form where required-field/error timing could be exercised. |
be-trustworthytrustworthy-input-assistance | not-applicable | high | No address, payment, password, or profile form is exposed before choosing a third-party/email auth route; the only text field is free-form recipe search, so transactional autofill tokens do not apply. |
be-trustworthysafe-commercial-and-account-flows | pass | medium | Visible recipe upsell labels state £2.90/month, premium is clearly identified, and unauthenticated users are routed through explicit sign-up/login choices before any account transaction. Post-auth cancellation was excluded. |
be-sustainableoptimised-assets | issues | high | Home has 17 images without srcset and 24 legacy-format images; recipe has 39 without srcset and 86 legacy-format images, plus the hero fetched at 300px but displayed as wide as 780px in the probe. F23 medium: Image delivery is not consistently responsive or format-efficient. |
be-sustainableno-wasteful-work | pass | medium | No sustained long tasks, autoplay media, or chatty background fetch loop was observed; only two aborted first-party activity-log requests appeared. |
be-sustainablethird-party-and-media-budget | issues | high | GTM (186KB) and Facebook (108KB) are the first and third largest transferred resources; all third-party origins account for 910KB under the harness’s origin classification. F24 medium: Analytics and social tracking consume disproportionate bytes on a simple discovery page. |
be-agent-readystructured-agent-capabilities | not-applicable | high | Cookpad intentionally disallows major AI agents in robots.txt and exposes no declared agent-tool surface; this emerging capability is therefore judged intentionally out of scope rather than penalised. |
be-agent-readyon-device-inference | not-applicable | high | No summarisation, generation, or other user-facing inference task is offered on the audited guest surfaces, so built-in on-device AI is not applicable. |
be-memory-efficientno-leak-under-repeated-interaction | issues | medium | Heap summaries rose from 24.9MB/425k nodes at baseline to 35.8MB/610k after one bottom traversal and 51.0MB/882k after ten. Growth is consistent with retained loaded results; it may be intentional rather than a detached-node leak, but remains unbounded for a long session. F25 high: Repeated infinite-scroll traversal grows retained heap substantially without evidence of release. |
be-memory-efficientbounded-footprint | pass | medium | Baseline retained self-size was 24.9MB with 425k nodes, proportionate to an image-rich server-rendered results page; repeated-growth risk is separately reported. |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | low | No Detached* constructor appeared among reported dominant constructors. The primitive could not enumerate all listeners, so confidence is low; observed growth aligns with retained result content rather than proven detached DOM. |
Provenance
Canonical report: results/atomic/reports/0598-cookpad_com.json
Report SHA-256: 003d8d1f1fa98feef45ad5c09083249ffe05838423bb68e2229f0ff26cdc474d
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/cookpad_com/2026-07-21T20-26-26-773Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/cookpad_com/2026-07-21T20-26-26-773Z
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.