Manifest position 813 · CrUX rank bucket 1000
https://photos.google.com
Coverage complete
Coverage complete. The unauthenticated URL redirects to the public Google Photos marketing site; the gated signed-in product was not audited.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | The dark-mode screenshot remains a white surface, and the CSS probe found no prefers-color-scheme rule. F01 medium: The marketing pages do not adapt to the user’s dark colour-scheme preference. |
respect-user-preferencesrespects-reduced-motion | issues | high | The reduced-motion probe matched reduce and found no running animations, but computed scroll-behavior remained smooth. F02 low: Reduced-motion users still receive smooth scrolling. |
respect-user-preferencesrespects-contrast | pass | high | High-contrast emulation preserved readable text, imagery, and controls; CSS includes forced-colors focus rules. |
implement-natural-interactionsview-transitions | issues | high | The platform probe found no view-transition CSS or authored startViewTransition use while the header exposes navigation between overview and editing pages. F03 low: Route changes do not use View Transitions. |
implement-natural-interactionsscroll-driven-animations | issues | high | The 17,198px overview page uses in-view effects, while the CSS probe found no animation-timeline or scroll-timeline. F04 low: Long-page reveal and scroll-linked presentation is not implemented with CSS scroll-driven animations. |
implement-natural-interactionsphysical-gestures | issues | high | The DOM exposes custom photos-scrollable carousels and the CSS probe found no scroll-snap or overscroll-behavior. F05 low: Carousels use custom controls without platform scroll snapping or overscroll containment. |
provide-guided-navigationscroll-state-aware-chrome | issues | high | The overview is 17,198px tall, while CSS inspection found no scroll-state container query or authored scroll progress treatment. F06 low: The fixed navigation does not react to scroll state on a very long page. |
provide-guided-navigationanchored-positioning | not-applicable | high | The selected public marketing surface contains no applicable target for this check. |
provide-guided-navigationdirects-attention | pass | high | Active Overview and Photo editing tabs are visibly underlined, skip navigation is present, and descriptive section links target the long-page regions. |
maximize-content-reduce-noiseno-intrusive-interruptions | issues | high | Desktop and mobile screenshots show the cookie notice covering the bottom of the hero; on 360x800 it consumes roughly one third of the viewport. F07 medium: The cookie notice obscures a large share of the first viewport. |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | DOM inspection found no dialog, popover, or details elements, despite a large FAQ and multiple transient/custom carousel controls. F08 low: Disclosure and carousel UI relies on custom elements instead of native disclosure primitives. |
maximize-content-reduce-noisereduced-chrome | pass | high | Content dominates the layout after the compact header; decorative framing is restrained and cards support the photography content. |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | pass | high | Both mobile layouts reported scrollWidth 360, clientWidth 360, no horizontal overflow, and a viewport meta tag. |
adapt-to-the-form-factorcomponent-level-responsiveness | issues | high | The CSS probe found no @container rules despite cards, tiles, carousels, and navigation being reused across sizes. F09 low: Reusable components adapt only through viewport media queries. |
adapt-to-the-form-factorinput-modality-aware | issues | high | Lighthouse target-size auditing found the Magic Eraser link had only 13px of safe clickable spacing because an image-comparison range overlaps it; carousel dots are also only 8px high. F10 medium: Some interactive targets are too small or overlap another control. |
support-core-task-successclear-purpose-and-primary-action | pass | high | The hero identifies Google Photos and its value, with prominent Visit Google Photos and Get the app actions. |
support-core-task-successprimary-flow-completion | pass | high | The Get the app action reaches a focused download page with visible Google Play and App Store destinations and no account detour. |
support-core-task-successclear-system-state-and-recovery | not-applicable | high | The selected public marketing surface contains no applicable target for this check. |
be-fast-and-stablegood-core-web-vitals | issues | high | Lighthouse measured FCP 3.2s, LCP 3.6s, Speed Index 5.5s, and TTI 8.5s. The independent trace measured LCP 2.33s, showing sensitivity to load conditions. F11 high: The initial load misses the good LCP threshold in the mobile lab run. |
be-fast-and-stablevisual-stability | pass | high | Observed CLS was 0.018 on the overview and 0 on editing, both within the good range. |
be-fast-and-stableefficient-main-thread | pass | high | The trace recorded one 77ms long task and 27ms TBT; mobile layout recorded one 69ms task, with no sustained blocking. |
be-fast-and-stableefficient-resource-delivery | issues | high | HAR and Lighthouse identify the photos.google.com redirect, parser-blocking cookie script and styles, and about 1.0s potential savings from redirects and render blocking. Module scripts were confirmed deferred by type=module and are not counted as blockers. F12 high: A redirect and render-blocking resources delay the first render. |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | Lighthouse estimated 187 KiB unused JavaScript across three Tag Manager and Analytics bundles, each 44% to 53% unused. F13 medium: Analytics bundles add substantial unused JavaScript. |
be-inclusivenames-roles-labels | issues | high | Lighthouse found visible-label/name mismatches on ten links, three role=img SVG search icons without names, and two images without alt text. F14 medium: Several controls expose conflicting or missing accessible names. |
be-inclusivesufficient-contrast | pass | high | Lighthouse did not report a colour-contrast failure and high-contrast emulation remained legible. |
be-inclusivestructure-and-focus | issues | high | Lighthouse and the platform probe found three focusable tab buttons inside a ul with aria-hidden=true. F15 medium: Focusable carousel tabs are hidden from the accessibility tree. |
be-inclusivelegible-text | pass | high | Body and heading text is large, well-spaced, unclipped, and readable across the selected viewports. |
be-inclusivezoom-reflow-targets-and-media | issues | high | Lighthouse target-size auditing found a link partially obscured by a large range input, leaving 13px safe spacing. F16 medium: Touch-target spacing fails in an interactive image comparison. |
follow-best-practicesno-console-errors | pass | high | Lighthouse found no browser errors logged to the console. |
follow-best-practicessound-document-and-assets | issues | high | The image primitive found 7 of 35 images without dimensions and Lighthouse failed the image aspect-ratio audit. Observed CLS stayed low but the authored asset contract is fragile. F17 medium: Some image assets lack dimensions or render at the wrong aspect ratio. |
follow-best-practicesbrowser-platform-hygiene | pass | high | No deprecated API, paste prevention, permission-on-load, or console failure was observed; scripts use modules or async loading except the separately reported cookie script. |
be-discoverabletitle-and-description | pass | high | The page has a descriptive title and a matching, specific meta description. |
be-discoverablecrawlable-and-mobile-friendly | issues | high | Lighthouse SEO auditing listed seven generic Learn more links, reducing destination clarity for crawlers and users. F18 medium: Seven links use generic “Learn more” text. |
be-discoverablecanonical-and-indexing-signals | issues | high | Lighthouse reports that the canonical points to another hreflang location; the page redirects from photos.google.com to www.google.com/photos/about/ and then declares an en_uk canonical. F19 medium: The entry URL’s canonical and hreflang signals conflict. |
be-discoverablestructured-and-shareable-metadata | pass | high | Open Graph type, locale, site name, title, description, image, and URL accurately describe the visible Google Photos landing page. |
be-private-and-securesecure-transport-and-headers | issues | high | The header probe found no HSTS and a CSP containing unsafe-eval; the only NID cookie was HttpOnly but not Secure and SameSite=None. The exposed Google API key is a public client key and was not treated as a secret. F21 high: Transport protection is incomplete despite HTTPS and CSP. |
be-private-and-securedata-minimisation-and-third-parties | issues | high | The load screenshot still shows the consent notice while trackers detected Google Tag Manager and two Google Analytics origins; HAR recorded 89 nominally cross-origin requests and 4.92 MB from those origins. F20 high: Analytics and tracking requests start before the user chooses consent. |
be-private-and-securein-context-permissions-and-modern-auth | not-applicable | high | The selected public marketing surface contains no applicable target for this check. |
be-private-and-securedefensive-browser-policies | issues | high | The header probe found no frame-ancestors or X-Frame-Options, Referrer-Policy, or Permissions-Policy on the effective page response. F22 medium: Several browser-enforced policy headers are absent. |
be-resilientprogressive-enhancement | issues | high | Discoverability measured 90% raw-text coverage, but the raw HTML had no H1 and the crawler screenshot showed a mostly blank first viewport with navigation only. F23 medium: The first viewport does not present the core hero correctly without JavaScript. |
be-resilientresilient-runtime-behaviour | pass | high | Navigation, FAQ, carousel, and download paths rendered without clipping, runtime exceptions, or broken primary controls at tested sizes. |
be-resilientoffline-and-installable | not-applicable | high | The selected public marketing surface contains no applicable target for this check. |
be-resilientnetwork-and-http-failure-states | not-applicable | high | The selected public marketing surface contains no applicable target for this check. |
be-internationalisedlang-dir-and-logical-properties | pass | high | The effective UK page declares lang=en-GB, uses a locale URL/canonical, and rendered reading order correctly in the inspected locale. |
be-internationalisedlocale-aware-data | pass | high | Visible product copy and dated blog material are presented in the en-GB locale, with UK spelling and locale URL signals rather than hard-coded US-only presentation. |
be-internationalisedtime-zone-correctness | not-applicable | high | The selected public marketing surface contains no applicable target for this check. |
be-trustworthyno-dark-patterns | pass | high | Consent offers equally prominent Agree and No thanks controls, with no confirmshaming; app and product claims are clearly separated. |
be-trustworthyhumane-error-handling | not-applicable | high | The selected public marketing surface contains no applicable target for this check. |
be-trustworthytrustworthy-input-assistance | not-applicable | high | The selected public marketing surface contains no applicable target for this check. |
be-trustworthysafe-commercial-and-account-flows | not-applicable | high | The selected public marketing surface contains no applicable target for this check. |
be-sustainableoptimised-assets | issues | high | Lighthouse transferred 5,903 KiB and estimated 1,044 KiB image-delivery savings; HAR recorded 3.32 MB of images, while 16 images lacked srcset. F24 high: The landing page ships a heavy image and media payload with large optimisation savings. |
be-sustainableno-wasteful-work | issues | high | HAR loaded 93 requests including 27 scripts and 19 media requests; analytics alone shipped over 400 KB, with 187 KiB estimated unused. F25 medium: Background analytics and media work is disproportionate before interaction. |
be-sustainablethird-party-and-media-budget | issues | high | HAR attributes 4.92 MB of 4.92 MB to nominal cross-origin hosts, including 3.31 MB images, 745 KB fonts, and 406 KB Tag Manager. F26 high: Third-party fonts, analytics, images, and media dominate the transfer budget. |
be-agent-readystructured-agent-capabilities | not-applicable | high | The selected public marketing surface contains no applicable target for this check. |
be-agent-readyon-device-inference | not-applicable | high | The selected public marketing surface contains no applicable target for this check. |
be-memory-efficientno-leak-under-repeated-interaction | pass | high | After opening and closing the FAQ 10 times, heap self-size decreased from 17,393,578 to 17,390,546 bytes; same-context DOM nodes stayed at 3,541. |
be-memory-efficientbounded-footprint | pass | high | The feature-rich page retained about 17.4 MB heap self-size and 3,541 live DOM elements, proportionate to its media-rich content. |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | high | Neither baseline nor post-FAQ heap summary reported Detached constructors; repeated interaction did not increase live DOM nodes. |
Provenance
Canonical report: results/atomic/reports/0813-photos_google_com.json
Report SHA-256: af40c051d426ee92df93d5122c43688359766369fd2b7a46e3b2619a9df4067b
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/photos_google_com/2026-07-23T04-52-19-327Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/photos_google_com/2026-07-23T04-52-19-327Z
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.