Manifest position 707 ยท CrUX rank bucket 1000
https://sinoptik.ua
Coverage complete
Coverage-complete report-mode audit of representative public forecast, long-range, feedback, legal, and error templates.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | The dark and default screenshots are byte-identical (91,884 bytes), and the computed root color-scheme is "normal". F01 medium: No user-preference dark theme |
respect-user-preferencesrespects-reduced-motion | pass | medium | Reduced-motion probe matched reduce=true and returned zero active document animations. |
respect-user-preferencesrespects-contrast | issues | high | The prefers-contrast screenshot is unchanged, while Lighthouse fails color-contrast. F02 medium: Contrast preferences and minimum contrast are not fully supported |
implement-natural-interactionsview-transitions | issues | high | DOM/CSS inspection found no view-transition declarations for navigation between forecast views. F03 low: Route and forecast-state changes are abrupt |
implement-natural-interactionsscroll-driven-animations | pass | medium | DOM/CSS inspection and the animation probe found no scroll-linked animation or custom animated scrolling to implement inefficiently. |
implement-natural-interactionsphysical-gestures | pass | medium | Representative forecast pages use ordinary links and native scrolling; no custom pointer/gesture handler surface was observed. |
provide-guided-navigationscroll-state-aware-chrome | issues | high | CSS inspection found no scroll-state container query or progress indicator on long forecast/legal pages. F04 low: Navigation chrome does not reflect scroll position |
provide-guided-navigationanchored-positioning | not-applicable | high | No anchored tooltip, menu, or popover surface was present on the representative paths. |
provide-guided-navigationdirects-attention | issues | high | Forecast-day and 10-day navigation use ordinary abrupt link swaps with no transition/highlight cue. F05 low: Navigation changes provide no attention cue |
maximize-content-reduce-noiseno-intrusive-interruptions | issues | high | Load screenshots show a full modal and dimmed page before any user action; on 360px it is clipped off-screen. F06 high: Consent interstitial obscures the entire primary forecast |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | DOM probe reports four DIV role=dialog surfaces, no dialog elements, no popovers, and no aria-modal. F07 medium: Consent UI is implemented as custom dialog divs |
maximize-content-reduce-noisereduced-chrome | issues | high | The first viewport is entirely consent chrome; HAR shows most transferred script bytes come from advertising/analytics. F08 medium: Advertising and consent chrome dominate content |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | issues | high | At a 360px viewport, layout reports scrollWidth/innerWidth 1010px and 650px overflow; the consent panel is clipped. F09 critical: Forecast pages force a desktop-width canvas on mobile |
adapt-to-the-form-factorcomponent-level-responsiveness | issues | high | The computed CSS probe found zero container rules; reused forecast cards retain fixed desktop sizing at 360px. F10 medium: Forecast components do not adapt to their containers |
adapt-to-the-form-factorinput-modality-aware | issues | high | The focus probe reports outline style none for sampled links, inputs, and buttons; many links are only 14px high and buttons 17-28px high. F11 high: Keyboard focus is invisible and several targets are too small |
support-core-task-successclear-purpose-and-primary-action | pass | medium | H1 and first forecast content clearly identify the Kyiv forecast and expose week/10-day navigation. |
support-core-task-successprimary-flow-completion | issues | high | All primary-path screenshots open behind a full consent wall naming 234 partners; the forecast cannot be read until it is handled. F12 high: Consent wall blocks the core weather task on entry |
support-core-task-successclear-system-state-and-recovery | pass | medium | The exercised invalid route renders a clear not-found explanation and directs users to the place-search form. |
be-fast-and-stablegood-core-web-vitals | issues | high | Lighthouse reports LCP 9.5s, TBT 218.5ms, performance 0.70; desktop layout independently observed CLS 0.119. F13 high: Throttled LCP is far outside the good range |
be-fast-and-stablevisual-stability | issues | high | The layout primitive recorded CLS 0.1193 on the Kyiv page, including an initial 0.1126 shift; images lack dimensions. F14 medium: Late content causes visible layout instability |
be-fast-and-stableefficient-main-thread | issues | high | Lighthouse reports 218.5ms TBT and forced-reflow insight failure; 13 scripts are loaded. F15 medium: Main-thread work misses the interaction budget under throttling |
be-fast-and-stableefficient-resource-delivery | issues | high | HAR captures 87 requests/1.43MB, including 1.03MB script and 175KB fonts; Lighthouse flags render blocking, font display, caching, and dependency-tree insights. F16 medium: Critical delivery is burdened by fonts and third parties |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | Lighthouse estimates 367KiB unused JavaScript and 24KiB unused CSS; HAR shows duplicate Google tag payloads near 157KB each. F17 medium: Large unused JavaScript is shipped |
be-inclusivenames-roles-labels | issues | high | Lighthouse fails button-name, aria-prohibited-attr, aria-required-children, aria-required-parent, and label-content-name-mismatch. F18 high: Interactive ARIA semantics are invalid or unnamed |
be-inclusivesufficient-contrast | issues | high | Lighthouse explicitly fails the color-contrast audit on the representative forecast page. F19 high: Text and UI fail minimum contrast |
be-inclusivestructure-and-focus | issues | high | All sampled interactive elements compute outline:none; the consent DOM injects hundreds of H2s and several H1s into the page hierarchy. F20 high: Focus visibility and heading structure are compromised |
be-inclusivelegible-text | issues | high | At 360px the page lays out at 1010px; the screenshot exposes only a narrow slice and many links compute to 14px high. F21 medium: Mobile forecast text is scaled and clipped instead of reflowed |
be-inclusivezoom-reflow-targets-and-media | issues | high | Mobile layout has 650px horizontal overflow, while focus probe shows multiple controls below 24px tall. F22 high: Reflow and target sizing fail on mobile |
follow-best-practicesno-console-errors | pass | medium | Lighthouse best-practices scored 1.0 and reported no console-error audit failure during representative load. |
follow-best-practicessound-document-and-assets | issues | high | Images primitive finds all three images without width/height attributes; one below-fold image is not lazy and one PNG lacks a responsive source. F23 medium: Images omit intrinsic dimensions |
follow-best-practicesbrowser-platform-hygiene | issues | high | Lighthouse reports three BFCache failure reasons. F24 medium: The page is not eligible for back/forward cache |
be-discoverabletitle-and-description | pass | medium | DOM probe reads a unique descriptive Kyiv title and a matching forecast meta description. |
be-discoverablecrawlable-and-mobile-friendly | pass | medium | Main forecast navigation uses real href values, viewport meta is present, and robots.txt permits public forecast paths. |
be-discoverablecanonical-and-indexing-signals | pass | medium | Kyiv returns 200 and exposes canonical URL plus uk, ru-UA, and x-default hreflang; robots has no accidental noindex. |
be-discoverablestructured-and-shareable-metadata | pass | medium | Probe finds matching WebPage/Place JSON-LD and complete Open Graph title, description, URL, and image metadata. |
be-private-and-securesecure-transport-and-headers | issues | high | Headers primitive finds no CSP; cookies primitive reports six cookies without Secure and several SameSite=None, long-lived cookies. F25 high: CSP is missing and multiple cookies are not Secure |
be-private-and-securedata-minimisation-and-third-parties | issues | high | Trackers primitive finds 20 third-party origins and three known trackers; consent names 234 partners and HAR records 38 XHR/fetch requests. F26 high: Tracking footprint is disproportionate to a weather lookup |
be-private-and-securein-context-permissions-and-modern-auth | pass | high | No geolocation/notification permission prompt fired on load and no authentication surface exists on this public forecast service. |
be-private-and-securedefensive-browser-policies | issues | high | Headers primitive confirms HSTS, nosniff, and X-Frame-Options, but finds no CSP, Referrer-Policy, or Permissions-Policy. F27 medium: Referrer-Policy and Permissions-Policy are absent |
be-resilientprogressive-enhancement | pass | medium | Discoverability capture returns 83% raw/rendered content coverage with title, H1 and description in server HTML; not a JS shell. |
be-resilientresilient-runtime-behaviour | issues | high | The 360x800 screenshot shows only the right portion of the consent panel and action area because the document remains 1010px wide. F28 high: Consent dialog is cut off at narrow viewports |
be-resilientoffline-and-installable | pass | medium | A manifest is linked and an active service worker is registered; serviceworker.js contains cache/fetch handling and explicit offline behavior. |
be-resilientnetwork-and-http-failure-states | pass | medium | The invalid route produces a useful 404 state with explanation and a recovery path to place search instead of a blank shell. |
be-internationalisedlang-dir-and-logical-properties | issues | high | The page correctly sets lang=uk and exposes uk/ru-UA hreflang, but CSS inspection counts 121 physical left/right rules and the root has no explicit dir. F29 medium: Layout is not writing-mode resilient |
be-internationalisedlocale-aware-data | pass | medium | Rendered weekday/date/temperature labels are localized in Ukrainian, matching html lang=uk and structured inLanguage uk-UA. |
be-internationalisedtime-zone-correctness | pass | medium | Structured data carries explicit +03:00 offsets and the forecast labels local hourly conditions for the selected city. |
be-trustworthyno-dark-patterns | issues | high | The opening dialog prominently offers Settings and Agree, with no equally visible Reject action, while stating 234 partners may process data. F30 high: Consent choice is asymmetric and vendor-heavy |
be-trustworthyhumane-error-handling | issues | high | Email and message fields are not required in markup and the submit button starts disabled; the initial DOM exposes no error/help association or live status. F31 medium: Feedback form gives no pre-submit explanation for a disabled action |
be-trustworthytrustworthy-input-assistance | issues | high | Feedback probe finds inputmode=email but an empty autocomplete token on the response email field. F32 low: Email input omits autocomplete |
be-trustworthysafe-commercial-and-account-flows | not-applicable | high | No checkout, subscription, authentication, or account-management flow exists in the audited public weather and feedback surfaces. |
be-sustainableoptimised-assets | issues | high | Images primitive reports three missing intrinsic dimensions, one non-lazy below-fold image, a legacy PNG, and a missing responsive source. F33 medium: Asset delivery misses basic image optimisations |
be-sustainableno-wasteful-work | issues | high | HAR records 87 requests including 38 XHR/fetch and 1.03MB scripts; top payloads are ad-tech and duplicate analytics resources. F34 high: Advertising and analytics create substantial background work |
be-sustainablethird-party-and-media-budget | issues | high | 20 of 21 observed origins are third party; large ad/analytics scripts dominate the 1.43MB transfer for a text-and-icon forecast. F35 high: Third-party script budget exceeds visible user value |
be-agent-readystructured-agent-capabilities | not-applicable | high | The public forecast is already server-rendered and structured with JSON-LD; no transactional agent capability is needed for the selected scope. |
be-agent-readyon-device-inference | not-applicable | high | No summarisation or generative task was identified where on-device inference would improve this deterministic weather forecast. |
be-memory-efficientno-leak-under-repeated-interaction | pass | medium | After 10 repeated detail-button toggles, nodes fell 465,530โ464,406 and heap changed only +82,163 bytes; no unbounded retained growth signal. |
be-memory-efficientbounded-footprint | issues | high | Baseline heap summary contains 465,530 nodes and 26.26MB self size; the consent vendor UI contributes hundreds of headings and 755 links. F36 medium: DOM/heap footprint is excessive for a forecast page |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | medium | Baseline and post-interaction heap summaries contain no Detached* constructors and node count decreased after repetition. |
Provenance
Canonical report: results/atomic/reports/0707-sinoptik_ua.json
Report SHA-256: ea2e11ac72b1683410fe31e4501becd4ba810a0923682c2a10d8c43777efe66b
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/sinoptik_ua/2026-07-22T13-03-56-619Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/sinoptik_ua/2026-07-22T13-03-56-619Z
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.