Manifest position 986 · CrUX rank bucket 1000

https://weather.com

Coverage complete

Coverage-complete representative-template audit. Radar rendering did not expose map content in headless Chrome, so map-specific usability was not asserted; all atomic checks were nevertheless judged with other direct evidence.

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
issueshighScreenshots under default and prefers-color-scheme: dark are visually identical: the consent surface and page remain fixed light/white, and the DOM probe found no site dark-theme response.
F01 medium: The site does not adapt to the user’s dark colour preference.
respect-user-preferences
respects-reduced-motion
passhighevaluate under prefers-reduced-motion: reduce found no running animations and scroll-behavior auto.
respect-user-preferences
respects-contrast
passhighprefers-contrast screenshot retained visible controls/text; Lighthouse accessibility scored 100.
implement-natural-interactions
view-transitions
issueshighThe comprehensive CSS probe found no view-transition rules even though daily, hourly, 10-day and radar are prominent state/route changes.
F02 low: Forecast route and state changes do not use View Transitions.
implement-natural-interactions
scroll-driven-animations
passhighCSS probe found no scroll-linked animation, and layout tests captured only content scrolling, so no main-thread scroll animation anti-pattern applies.
implement-natural-interactions
physical-gestures
passhighForecast navigation uses native links and native overflow scrolling; no custom pointermove gesture layer was observed.
provide-guided-navigation
scroll-state-aware-chrome
issueshighThe DOM/CSS probe found no scroll timeline and the long hourly/10-day templates expose no progress or scroll-aware header state.
F03 low: Long forecast pages do not expose scroll-state-aware chrome.
provide-guided-navigation
anchored-positioning
issueshighThe page contains menu/dialog surfaces, while the CSS probe found no anchor-name, position-anchor, or position-try rules.
F04 low: Menus and overlays are not built with CSS anchor positioning.
provide-guided-navigation
directs-attention
passhighForecast tabs expose Today, Hourly, 10-Day and Monthly destinations and preserve clear location context in page titles/headings.
maximize-content-reduce-noise
no-intrusive-interruptions
issueshighDesktop and mobile load screenshots show a blocking cookie dialog covering the primary weather content; on mobile it consumes nearly the full viewport. Reject all is equally prominent, which avoids a deceptive-choice finding.
F05 medium: A first-visit consent dialog obscures the entire forecast until a choice is made.
maximize-content-reduce-noise
semantic-dismissible-primitives
passhighThe consent surface is exposed as role=dialog with explicit Accept all, Reject all and settings controls.
maximize-content-reduce-noise
reduced-chrome
issueshighRendered today/10-day DOM includes repeated “Advertisement” slots and “Sponsored Content”; the HAR records 78 third-party requests, while core forecast pages devote substantial structure to non-content modules.
F06 medium: Advertising and sponsored chrome repeatedly interrupt forecast content.
adapt-to-the-form-factor
responsive-no-horizontal-scroll
passhighAll four narrow layout probes reported viewport meta and 0 px horizontal overflow at 360×800.
adapt-to-the-form-factor
component-level-responsiveness
passhighCSS probe found a container-query rule; forecast layouts reflowed to 360 px without overflow.
adapt-to-the-form-factor
input-modality-aware
passhighLighthouse accessibility scored 100 and focus probe showed a 3 px outline or focus ring on sampled primary controls; mobile controls remained operable.
support-core-task-success
clear-purpose-and-primary-action
passhighTitles, location context, forecast tabs and current/forecast values make the weather task explicit on today, hourly and 10-day templates.
support-core-task-success
primary-flow-completion
passhighToday, hourly and ten-day forecast destinations loaded complete London forecast data through real links without account gating.
support-core-task-success
clear-system-state-and-recovery
passhighSynthetic missing route rendered a clear 404 explanation and recovery links to Video, Maps and Local Weather.
be-fast-and-stable
good-core-web-vitals
issueshighLighthouse measured LCP 12.7 s, CLS 0.146 and TBT 530 ms (performance 45). The first-party trace was better at LCP 2.29 s and TBT 91.5 ms, showing variability but not negating the poor throttled result.
F07 high: Lab loading performance misses the Core Web Vitals quality bar.
be-fast-and-stable
visual-stability
issueshighLighthouse measured CLS 0.146, including a 0.135 shift from an animated skeleton; the narrow layout probes were stable after their observation window.
F08 medium: Late forecast content causes measurable layout shift.
be-fast-and-stable
efficient-main-thread
issueshighLighthouse reports 3.4 s main-thread work, 2.3 s JavaScript execution, and 530 ms TBT; the trace also captured a 141.5 ms long task.
F09 high: JavaScript keeps the main thread busy during load.
be-fast-and-stable
efficient-resource-delivery
issueshighHAR captured 143 requests and 2.42 MB transferred, including two document redirects and multiple parser-discovered high-priority scripts; Lighthouse estimates 850 ms redirect waste and reports a 12.7 s LCP without fetchpriority.
F10 high: The landing page ships a heavy, redirecting critical path.
be-fast-and-stable
trim-unused-and-duplicate-code
issueshighLighthouse estimates 779 KiB unused JavaScript and 76 KiB legacy JavaScript. HAR shows 62 scripts and 2.09 MB script transfer, led by Taboola, Google Ads and Rubicon.
F11 high: Large unused and legacy JavaScript dominates transfer cost.
be-inclusive
names-roles-labels
issueshighLighthouse details multiple hourly links whose aria-label omits visible label content, and the DOM probe found five links plus several buttons with no text or aria-label.
F12 medium: Some interactive controls have incomplete or mismatched accessible names.
be-inclusive
sufficient-contrast
passhighLighthouse accessibility scored 100 and the prefers-contrast capture retained visible text and controls.
be-inclusive
structure-and-focus
passhighMain/nav/header/footer landmarks are present, a skip link appears on the 404 route, and sampled primary controls expose visible focus treatment.
be-inclusive
legible-text
passhighDesktop/mobile captures and forecast DOM show readable text hierarchy and no horizontal clipping at 360 px.
be-inclusive
zoom-reflow-targets-and-media
passhighViewport allows scaling (no maximum-scale/user-scalable=no); all tested templates reflow at 360 px without overflow, and Lighthouse accessibility scored 100.
follow-best-practices
no-console-errors
issueshighLighthouse captured React hydration error #418, FedCM NetworkError and missing en-GB translation messages in the console.
F13 medium: The page logs runtime and hydration errors during load.
follow-best-practices
sound-document-and-assets
passhighDOM reports html doctype, UTF-8 charset and valid viewport; image probe found dimensions on every img and no oversized rendered img in its sample.
follow-best-practices
browser-platform-hygiene
issueshighLighthouse found a large first-party JavaScript chunk without a source map and 24 KiB minification savings.
F14 low: Production debugging and asset hygiene is incomplete.
be-discoverable
title-and-description
passhighLanding, hourly, ten-day, radar and login pages expose unique descriptive titles; landing has a descriptive meta description.
be-discoverable
crawlable-and-mobile-friendly
issueshighLighthouse SEO found the hourly link text “More”; the DOM also includes empty links. The viewport and real hrefs otherwise passed.
F15 medium: Some crawlable links use non-descriptive text.
be-discoverable
canonical-and-indexing-signals
issueshighLighthouse reports hreflang="xc-MN" as an unexpected language code. Canonical, robots and sitemap signals were otherwise present and successful.
F16 low: One hreflang entry is invalid.
be-discoverable
structured-and-shareable-metadata
passhighLanding DOM contains 3 JSON-LD blocks and 4 Open Graph tags corresponding to visible weather/location content.
be-private-and-secure
secure-transport-and-headers
issueshighHeaders probe found no CSP, X-Content-Type-Options, Referrer-Policy or Permissions-Policy; clickjacking protection was absent. Cookie probe found 15 cookies flagged insecure and extensive SameSite=None use. HTTPS and HSTS passed.
F17 high: Core browser security headers and cookie attributes are incomplete.
be-private-and-secure
data-minimisation-and-third-parties
issueshighTracker probe found 16 third-party origins and eight known trackers. HAR attributed 78 requests and 1.40 MB to third parties, including Taboola, DoubleClick, Rubicon and Amazon Ads.
F18 high: The default page load has a large advertising and tracking footprint.
be-private-and-secure
in-context-permissions-and-modern-auth
issueshighThe login DOM contains email/password controls and no WebAuthn/passkey affordance; no permission prompt fired on load.
F19 medium: Sign-in exposes password-only authentication with no observed passkey path.
be-private-and-secure
defensive-browser-policies
issueshighHeaders probe found no CSP, X-Content-Type-Options, Referrer-Policy or Permissions-Policy; clickjacking protection was absent. Cookie probe found 15 cookies flagged insecure and extensive SameSite=None use. HTTPS and HSTS passed.
F17 high: Core browser security headers and cookie attributes are incomplete.
be-resilient
progressive-enhancement
passhighDiscoverability probe found 70% raw/rendered word coverage, with title, H1 and description in server HTML; it is not a JS shell.
be-resilient
resilient-runtime-behaviour
passhighForecast pages stabilised with low post-load CLS in layout probes and the consent dialog remained within both desktop and 360 px viewports.
be-resilient
offline-and-installable
issueshighA web app manifest exists, but the runtime probe found no controlling service worker; forecast access therefore has no demonstrated offline fallback.
F20 low: The app-like weather experience has no active offline runtime.
be-resilient
network-and-http-failure-states
passhighThe representative 404 renders a useful explanation and links back to core weather surfaces rather than a blank shell.
be-internationalised
lang-dir-and-logical-properties
passhighRendered document declares lang=en-GB and dir=ltr; locale navigation offers many language/region variants.
be-internationalised
locale-aware-data
passhighLondon forecasts render locale-appropriate “Friday 24 July”, 24-hour time and BST labels across hourly/daily templates.
be-internationalised
time-zone-correctness
passhighForecast headings explicitly state BST and all hourly entries progress coherently across the local day boundary.
be-trustworthy
no-dark-patterns
passhighConsent offers equally prominent Accept all and Reject all actions plus settings; no confirmshaming or forced account gate was observed.
be-trustworthy
humane-error-handling
passhighEmpty login submission leaves both required controls invalid using native constraint validation; labels remain present and no data is lost.
be-trustworthy
trustworthy-input-assistance
issueshighLogin DOM shows both email and password inputs with empty autocomplete attributes; the site-search input explicitly uses autocomplete="off".
F21 medium: The sign-in fields omit standard autocomplete tokens.
be-trustworthy
safe-commercial-and-account-flows
issueshighThe login DOM contains email/password controls and no WebAuthn/passkey affordance; no permission prompt fired on load. Login DOM shows both email and password inputs with empty autocomplete attributes; the site-search input explicitly uses autocomplete="off".
F19 medium: Sign-in exposes password-only authentication with no observed passkey path.
F21 medium: The sign-in fields omit standard autocomplete tokens.
be-sustainable
optimised-assets
issueshighLighthouse reports the 256×256 Storm Radar PNG displayed around 70×70, with about 41 KiB potential savings; the image probe confirms a legacy PNG among otherwise SVG assets.
F22 low: A footer raster image is oversized and inefficient.
be-sustainable
no-wasteful-work
issueshighHAR reports 1.40 MB third-party transfer across 78 requests; the largest scripts are recommendation and ad systems, while Lighthouse identifies their bundles as mostly unused.
F23 high: Third-party script cost is disproportionate to the core forecast task.
be-sustainable
third-party-and-media-budget
issueshighHAR reports 1.40 MB third-party transfer across 78 requests; the largest scripts are recommendation and ad systems, while Lighthouse identifies their bundles as mostly unused.
F23 high: Third-party script cost is disproportionate to the core forecast task.
be-agent-ready
structured-agent-capabilities
not-applicablehighNo declared agent-facing transaction or tool surface was found; emerging WebMCP capability is optional here, while weather content remains machine-readable through server HTML and JSON-LD.
be-agent-ready
on-device-inference
not-applicablehighNo summarisation or generative interaction is offered, so on-device inference has no concrete user task to serve in the audited forecast/account scope.
be-memory-efficient
no-leak-under-repeated-interaction
passhighAfter 10 full-page scroll cycles, heap snapshot node count decreased by 393 and retained size changed only +10,284 bytes; DOM count stayed exactly 1,403.
be-memory-efficient
bounded-footprint
passhighBaseline heap summary measured 623,558 nodes and 34.68 MB self size for the script-heavy forecast page; footprint remained stable after interaction.
be-memory-efficient
no-detached-dom-or-unbounded-listeners
passhighBefore/after heap constructor summaries show no Detached* population among top constructors; DOM count stayed 1,403 and closures decreased after repeated scroll.

Provenance

Canonical report: results/atomic/reports/0986-weather_com.json
Report SHA-256: 715234788b4a83edd51ce7d75f5f3433864eb4370b74c998db1bb24a7a95bc3b
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/weather_com/2026-07-24T08-46-49-037Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/weather_com/2026-07-24T08-46-49-037Z
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.