Manifest position 10 · CrUX rank bucket 1000
https://www.booking.com
Coverage complete
Coverage-complete representative audit of six paths/templates. Excludes authenticated account management, payment submission, post-booking management, partner extranet, cruises, cars, attractions, taxis, and locale-by-locale duplication because they require credentials/transactions or are separate product templates.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | The dark-mode screenshot and preference probe show prefers-color-scheme: dark matched while color-scheme remained normal and body stayed rgb(255,255,255). F01 medium: The site ignores the user’s dark-color preference. |
respect-user-preferencesrespects-reduced-motion | pass | high | Under emulated reduced motion, matchMedia matched and document.getAnimations() contained only one already-finished 0.01 ms animation. |
respect-user-preferencesrespects-contrast | pass | high | Axe passed color-contrast and CSS inspection found forced-colors/prefers-contrast handling. |
implement-natural-interactionsview-transitions | issues | high | Live CSS inspection found no view-transition rules across the homepage application CSS. F02 low: Major state and route changes do not use View Transitions. |
implement-natural-interactionsscroll-driven-animations | issues | high | Live CSS inspection found no animation-timeline or scroll-timeline usage. F03 low: Scroll-linked UI is not implemented with declarative scroll timelines. |
implement-natural-interactionsphysical-gestures | issues | high | Live CSS inspection found no scroll-snap rules on a homepage containing horizontally presented destination/property groups. F04 low: Carousel-like content lacks platform-native snap/gesture styling. |
provide-guided-navigationscroll-state-aware-chrome | issues | high | CSS inspection found no scroll-state container queries or scroll timeline, while long pages retain substantial navigation chrome. F05 low: Page chrome does not expose declarative scroll-state feedback. |
provide-guided-navigationanchored-positioning | issues | high | The homepage contains custom date and occupancy overlays, but CSS inspection found no anchor-name, position-anchor, or position-try rules. F06 low: Menus and calendar overlays do not use CSS anchor positioning. |
provide-guided-navigationdirects-attention | pass | high | City and property screenshots show breadcrumbs, selected product navigation, section tabs, and explicit Reserve/Search actions. |
maximize-content-reduce-noiseno-intrusive-interruptions | pass | high | Desktop/mobile load screenshots show the search remains usable; the sign-in info is dismissible and does not cover the primary form. |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | The DOM probe found 0 dialog, 0 popover, and 0 details elements despite date, occupancy, menu, and sign-in overlays. F07 medium: Rich overlays are built without semantic dialog/popover/details primitives. |
maximize-content-reduce-noisereduced-chrome | issues | high | The first viewport uses the only H1 for “Earn $150 in Travel Credits”; screenshots also show dense product navigation and promotional cards before destination content. F08 medium: Commercial chrome competes with the core accommodation search. |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | pass | high | At 360x800 the layout primitive measured scrollWidth=clientWidth=360 and 0 horizontal overflow with viewport meta present. |
adapt-to-the-form-factorcomponent-level-responsiveness | issues | high | Inspection of accessible stylesheets found no @container rule, although reusable search, card, and navigation components appear at multiple widths. F09 low: Components rely on viewport/global styling rather than container queries. |
adapt-to-the-form-factorinput-modality-aware | pass | high | Mobile layout is touch-oriented; Lighthouse accessibility was 0.99 and axe found no target/focus violation in the exercised page. |
support-core-task-successclear-purpose-and-primary-action | issues | high | The rendered H1 is “Earn $150 in Travel Credits”; the destination search has no equivalent page-level heading even though it is the primary task. F10 high: The homepage heading hierarchy prioritises a credit-card promotion over the core booking task. |
support-core-task-successprimary-flow-completion | pass | high | The tested homepage -> New York listing -> Hotel Indigo detail path remained continuous and exposed Search then Reserve without an account wall. |
support-core-task-successclear-system-state-and-recovery | pass | high | Invalid search focused an invalid destination and announced “Enter a destination to start searching” via an alert; the 404 page offered search, home, destination list, and bug report recovery. |
be-fast-and-stablegood-core-web-vitals | issues | high | Lighthouse measured performance 0.43, LCP 26.8 s, FCP 6.0 s, TBT 450 ms, and TTI 42.1 s; a separate trace measured LCP 1.96 s but still recorded blocking work. F11 high: Laboratory loading performance is poor. |
be-fast-and-stablevisual-stability | pass | high | Lighthouse CLS was 0.075 (good range) and mobile layout observation recorded CLS 0 with no shifts. |
be-fast-and-stableefficient-main-thread | issues | high | Lighthouse reported 5.8 s main-thread work and 3.5 s JavaScript execution; the trace found 3 long tasks, the longest 211 ms, with 191 ms TBT. F12 high: Heavy JavaScript blocks the main thread. |
be-fast-and-stableefficient-resource-delivery | issues | high | HAR captured 166 requests and 4.53 MB transferred, including 74 scripts (3.96 MB) and at least 10 parser-inserted VeryHigh-priority stylesheets; Lighthouse saw 8.7 MiB under its run. F13 high: The critical network path is large and fragmented. |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | Lighthouse estimated 2,183 KiB unused JavaScript and 69 KiB unused CSS; the HAR shows 74 script requests. F14 high: The page ships substantial unused code. |
be-inclusivenames-roles-labels | issues | high | Lighthouse identified five label-content-name mismatches, including “Rent a car”, airport transfer, flight, attractions, and currency controls. F15 medium: Some visible control labels do not match their accessible names. |
be-inclusivesufficient-contrast | pass | high | Injected axe reported no violations and passed color-contrast; Lighthouse accessibility scored 0.99. |
be-inclusivestructure-and-focus | issues | high | Lighthouse flagged a heading-order failure; DOM inspection shows H1 credit-card promotion followed directly by H3 benefit cards before the first H2. F16 medium: Heading order is not consistently hierarchical. |
be-inclusivelegible-text | pass | medium | Desktop and mobile screenshots show readable body sizing, wrapping, spacing, and no clipping in the sampled templates. |
be-inclusivezoom-reflow-targets-and-media | pass | high | Viewport permits initial-scale without disabling zoom; 360px reflow had no overflow and axe/Lighthouse found no corresponding failure. |
follow-best-practicesno-console-errors | issues | high | Lighthouse captured a 404 console/network error for https://www.booking.com/favicon.ico. F17 low: The homepage logs a network error. |
follow-best-practicessound-document-and-assets | issues | high | The image primitive found all 84 images lacked width/height attributes; Lighthouse independently failed the unsized-images audit. F18 medium: Image elements broadly omit intrinsic dimensions. |
follow-best-practicesbrowser-platform-hygiene | issues | high | Lighthouse failed valid-source-maps for the challenge script and numerous remoteEntry bundles. F19 low: Large production scripts expose broken or missing source-map references. |
be-discoverabletitle-and-description | pass | high | DOM probe found a descriptive title and meta description on the homepage. |
be-discoverablecrawlable-and-mobile-friendly | issues | high | Lighthouse found a crawlable “See more” link with no destination-specific wording. F21 low: At least one link uses generic text. |
be-discoverablecanonical-and-indexing-signals | pass | high | Homepage exposes canonical, index,follow, 46 hreflang links; robots.txt publishes extensive sitemap indexes. |
be-discoverablestructured-and-shareable-metadata | pass | high | Homepage exposes one JSON-LD block and seven Open Graph tags matching the visible Booking.com travel service. |
be-private-and-securesecure-transport-and-headers | issues | high | Headers evidence found no CSP, X-Content-Type-Options, clickjacking policy, Referrer-Policy, or Permissions-Policy; cookies evidence found g_state lacked Secure and used SameSite=None. HSTS is strong. F22 high: The main document omits several baseline security headers and sets one insecure cookie. |
be-private-and-securedata-minimisation-and-third-parties | issues | high | HAR recorded 141 third-party requests and 3.80 MB third-party transfer across 13 origins, including consent, Google account, WAF, telemetry, and CDN services. F23 high: The default third-party/network footprint is disproportionate. |
be-private-and-securein-context-permissions-and-modern-auth | pass | high | Lighthouse passed geolocation-on-start and notification-on-start; sign-in uses username/current-password autocomplete and page code exposes WebAuthn/passkey signals. |
be-private-and-securedefensive-browser-policies | issues | high | The response had HSTS but no CSP/frame-ancestors or X-Frame-Options, Referrer-Policy, Permissions-Policy, or nosniff. F24 medium: Browser-enforced defensive policies are incomplete. |
be-resilientprogressive-enhancement | issues | high | Raw HTML returned status 202 but only 157 text characters and 1% of rendered content; non-JS view omitted title, H1, description, destination search, and travel content. F25 medium: Core public content depends on JavaScript. |
be-resilientresilient-runtime-behaviour | pass | high | Date/occupancy overlays and multi-template navigation remained usable in exercised screenshots with no clipped blocking UI. |
be-resilientoffline-and-installable | issues | high | Platform probe found no manifest link and no controlling service worker on a multi-product booking application. F26 medium: The app-like commerce experience has no manifest, service worker, or offline fallback. |
be-resilientnetwork-and-http-failure-states | pass | high | An invalid route produced a clear Page Not Found state with explanation, a search form, home/destination links, and report-a-bug recovery. |
be-internationalisedlang-dir-and-logical-properties | issues | high | The document correctly sets lang=en-us and dir=ltr and exposes 46 hreflang links, but stylesheet inspection found no logical properties and 106 physical left/right declarations. F27 medium: CSS is not prepared for bidirectional/writing-mode adaptation. |
be-internationalisedlocale-aware-data | pass | high | US locale rendered dollar currency, localized date labels, and language/currency controls; 46 hreflang variants were present. |
be-internationalisedtime-zone-correctness | pass | medium | Flights surface clearly labels travel dates and route endpoints; no ambiguous timestamp or DST-sensitive event was exposed in the sampled public flow. |
be-trustworthyno-dark-patterns | pass | high | Sampled search, listing, detail, auth, and 404 surfaces used explicit Search/Reserve/Sign in labels and disclosed card terms; no forced continuity or disguised ad was observed. |
be-trustworthyhumane-error-handling | pass | high | Submitting an empty destination produced a specific aria-live alert and an invalid field rather than blame or data loss. |
be-trustworthytrustworthy-input-assistance | pass | high | Auth inputs use autocomplete=username/current-password; travel fields use labelled custom combobox/date/traveller assistance. |
be-trustworthysafe-commercial-and-account-flows | pass | high | Property page clearly exposes Reserve, reviews, address, house rules, legal info and price-match context; auth discloses terms/privacy before continuation. |
be-sustainableoptimised-assets | issues | high | Images evidence found 63 legacy-format images, 62 without srcset, 6 oversized, and all 84 without intrinsic dimensions. F28 high: Most images lack responsive/modern delivery. |
be-sustainableno-wasteful-work | issues | high | HAR attributes 3.80 MB of 4.53 MB and 141 of 166 requests to third-party origins; scripts account for 3.96 MB. F29 high: Third-party code dominates page weight. |
be-sustainablethird-party-and-media-budget | issues | high | HAR attributes 3.80 MB of 4.53 MB and 141 of 166 requests to third-party origins; scripts account for 3.96 MB. F29 high: Third-party code dominates page weight. |
be-agent-readystructured-agent-capabilities | issues | high | Platform probe found no WebMCP/modelContext registration despite search and reservation workflows that are valuable to agents; non-JS content is also only 1% complete. F30 medium: The commerce site exposes no structured agent capabilities. |
be-agent-readyon-device-inference | not-applicable | medium | On-device summarisation or generation is not necessary to complete the sampled deterministic travel search and reservation entry tasks; absence is not a failure. |
be-memory-efficientno-leak-under-repeated-interaction | pass | medium | After 10 occupancy open/close interactions, heap self size fell from 60.6 MB to 58.5 MB and sampled used JS heap fell from 78.7 MB to 69.5 MB. |
be-memory-efficientbounded-footprint | issues | high | Baseline heap summary contained 1,206,314 heap nodes, 5,492,295 edges, and 60.6 MB self size before user interaction. F31 medium: The initial page has a very large heap/object footprint for a search landing page. |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | high | Repeated interaction did not increase total heap nodes (1,206,314 baseline to 1,140,811 post); no accumulation signal appeared in the compared summaries. |
Provenance
Canonical report: results/atomic/reports/0010-www_booking_com.json
Report SHA-256: 9646e39df9e60e74dc19731ef4e6ab3e5a709bfb4c5c69fb5f06caf1608855d8
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_booking_com/2026-07-17T20-29-24-216Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_booking_com/2026-07-17T20-29-24-216Z
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.