Manifest position 646 · CrUX rank bucket 1000
https://translate.google.com
Coverage complete
Atomic coverage complete: all 58 catalog checks have conclusive outcomes.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | Raw-CDP preference probe reports prefers-color-scheme: dark=true while body remains rgb(255,255,255), text remains dark, and computed color-scheme is normal. The dark-condition screenshot remains light. F1 medium: The app does not follow the system dark-color preference. |
respect-user-preferencesrespects-reduced-motion | pass | high | Under prefers-reduced-motion: reduce, the app reported zero active animations; the primary flow remains fully usable. |
respect-user-preferencesrespects-contrast | pass | high | Under prefers-contrast: more, controls and text remain visible in the captured app state, including the focused Saved control. |
implement-natural-interactionsview-transitions | issues | high | The consent-to-app video shows an instant document swap, and app CSS inspection found no view-transition usage. F2 low: Major state and document changes are abrupt rather than continuity-preserving. |
implement-natural-interactionsscroll-driven-animations | not-applicable | high | The audited translator flow has no scroll-linked animation, parallax, carousel, or scrollytelling surface. |
implement-natural-interactionsphysical-gestures | pass | high | The representative flow uses native typing and button activation; inspection found no custom pointer/scroll gesture layer fighting platform behavior. |
provide-guided-navigationscroll-state-aware-chrome | not-applicable | high | The selected translator and consent surfaces fit within their task view and do not use scrolling chrome that needs scroll-state adaptation. |
provide-guided-navigationanchored-positioning | issues | medium | The app exposes language pickers, Settings, and menus, while live stylesheet inspection found no anchor-name, position-anchor, or position-try usage. F3 low: Overlay-triggering controls are present without CSS anchor-positioning support. |
provide-guided-navigationdirects-attention | pass | high | Selected modes and languages use strong underlines/fills, results appear in the adjacent result surface, and an aria-live message announces availability. |
maximize-content-reduce-noiseno-intrusive-interruptions | pass | high | The consent surface gives equally prominent Reject all and Accept all choices and transitions to a content-first translator without advertising popups. |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | medium | The rendered app contains Settings and picker surfaces, but DOM inspection found zero dialog elements and zero popover attributes. F4 medium: Rich overlays are implemented without the platform dialog or popover primitives. |
maximize-content-reduce-noisereduced-chrome | pass | high | Desktop and mobile captures devote the main viewport to source and result panes; secondary History/Saved actions are visually subordinate. |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | pass | high | At 360x800, layout reports scrollWidth=clientWidth=360 and zero horizontal overflow. |
adapt-to-the-form-factorcomponent-level-responsiveness | pass | high | Live CSS inspection found container-query support and desktop/mobile captures show the translator changing from side-by-side to stacked layout. |
adapt-to-the-form-factorinput-modality-aware | pass | high | No visible target was under 24px in the mobile probe; core targets are 36-48px high and a keyboard-focused Saved control has a visible outline. |
support-core-task-successclear-purpose-and-primary-action | pass | high | The first app view labels Text, Images, Documents, Websites, source language, target language, Source text, and Translation results with clear hierarchy. |
support-core-task-successprimary-flow-completion | pass | high | Entering Hello world updates the URL and produces Hello world in Translation result without a dead end. |
support-core-task-successclear-system-state-and-recovery | pass | high | The completed flow exposes aria-live polite text Translation results available; the DOM also contains an actionable Try again control for failed translation state. |
be-fast-and-stablegood-core-web-vitals | issues | high | The DevTools trace summary measured LCP at 2616.89 ms. CLS was 0 and total blocking time was only 11 ms. F5 medium: Lab LCP narrowly misses the good threshold during the first-use consent-to-app journey. |
be-fast-and-stablevisual-stability | pass | high | Mobile layout observation recorded CLS 0 with no shift entries. |
be-fast-and-stableefficient-main-thread | pass | high | Trace records one 61ms long task and only 11ms total blocking time. |
be-fast-and-stableefficient-resource-delivery | issues | high | HAR summary records 1,590,577 transferred bytes, including 991,384 script bytes and 207,052 font bytes. It identifies a VeryHigh-priority parser stylesheet and High-priority parser scripts; DOM inspection confirms loaded external scripts are not async, defer, or modules. F6 medium: The first-use journey transfers a large script-led payload and retains parser-priority blocking candidates. |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | 24 script requests transfer 991,384 bytes; 55 requests and 1,312,350 bytes are outside translate.google.com, led by 1,013,713 bytes from www.gstatic.com. F7 medium: JavaScript and same-organization third-party delivery dominate page weight. |
be-inclusivenames-roles-labels | issues | high | axe reports a serious aria-command-name violation on .ita-kd-icon-button and an aria-allowed-role violation because role=combobox is applied to the source textarea. F8 high: The primary translator contains invalid ARIA and an unnamed input-tools button. |
be-inclusivesufficient-contrast | pass | high | Visual review under normal and prefers-contrast:more conditions found readable text/control separation; axe raised no definite contrast violation, only manual-review candidates. |
be-inclusivestructure-and-focus | pass | high | The app has H1/H2 task headings, labelled controls, ordered focusables, and a visible focus outline in the keyboard-state capture. |
be-inclusivelegible-text | pass | high | Desktop/mobile screenshots show unclipped, comfortably sized source and result text with clear pane alignment. |
be-inclusivezoom-reflow-targets-and-media | pass | high | Viewport permits scaling, 360px reflow has no overflow, and the mobile probe found no visible control below 24px. |
follow-best-practicesno-console-errors | pass | high | Raw CDP captured zero console error/warning entries and zero uncaught exceptions through consent and app load. |
follow-best-practicessound-document-and-assets | pass | high | Live app has HTML doctype, charset-bearing response, viewport metadata, and visible branding assets reserve dimensions; no aspect-ratio break is visible. |
follow-best-practicesbrowser-platform-hygiene | pass | high | No runtime exceptions, permission prompts, or paste blocking appeared in the audited flow; platform probes found clean loading behavior. |
be-discoverabletitle-and-description | pass | high | Rendered app has title Google Translate and a specific meta description of the free translation service. |
be-discoverablecrawlable-and-mobile-friendly | issues | high | Discoverability capture found only 19% rendered-word coverage in raw HTML; title and h1 were absent from raw content, and crawler/browser captures materially differ. F9 high: Core translator content is poorly represented without JavaScript. |
be-discoverablecanonical-and-indexing-signals | pass | high | HTTP status is 200; canonical is https://translate.google.com/; robots allows the root and points to a 200 sitemap. |
be-discoverablestructured-and-shareable-metadata | not-applicable | high | The translator tool is not an article, product, event, or other rich entity requiring schema.org or social entity markup. |
be-private-and-securesecure-transport-and-headers | issues | high | The headers primitive found no HSTS or Referrer-Policy on the consent response and reported unsafe-inline/unsafe-eval in its combined CSP policy; direct app HEAD also lacked HSTS and Referrer-Policy, though it used nonces, Trusted Types, X-Frame-Options, and nosniff. F10 medium: The observed response policy leaves defense-in-depth gaps. |
be-private-and-securedata-minimisation-and-third-parties | pass | high | Reject all was exercised; tracker scan found no known tracker domains, and all observed third-party origins are Google service/static origins. |
be-private-and-securein-context-permissions-and-modern-auth | pass | high | No camera, microphone, geolocation, or notification prompt appeared on load; authentication is delegated to Google Accounts rather than embedded in the translator. |
be-private-and-securedefensive-browser-policies | issues | high | The headers primitive found no HSTS or Referrer-Policy on the consent response and reported unsafe-inline/unsafe-eval in its combined CSP policy; direct app HEAD also lacked HSTS and Referrer-Policy, though it used nonces, Trusted Types, X-Frame-Options, and nosniff. F10 medium: The observed response policy leaves defense-in-depth gaps. |
be-resilientprogressive-enhancement | issues | high | Discoverability capture found only 19% rendered-word coverage in raw HTML; title and h1 were absent from raw content, and crawler/browser captures materially differ. F9 high: Core translator content is poorly represented without JavaScript. |
be-resilientresilient-runtime-behaviour | pass | high | The translator completed after a full consent redirect, retained clear state in the URL, and exposed stable mode/language controls without clipping in mobile capture. |
be-resilientoffline-and-installable | issues | high | The live app probe found a web app manifest but navigator.serviceWorker.getRegistration() returned null. F11 medium: The app advertises a manifest but has no active service worker or offline fallback. |
be-resilientnetwork-and-http-failure-states | pass | high | The app DOM includes a Try again recovery control and the success path provides explicit polite live status; no blank or infinite loading state occurred. |
be-internationalisedlang-dir-and-logical-properties | pass | high | The live document declares lang=en-US and dir=ltr, uses logical CSS properties, and exposes broad source/target language selection. |
be-internationalisedlocale-aware-data | not-applicable | high | The representative translation flow displays no dates, currencies, locale-formatted numbers, durations, or calendars. |
be-internationalisedtime-zone-correctness | not-applicable | high | The representative translator flow contains no time, event, recurrence, or time-zone data. |
be-trustworthyno-dark-patterns | pass | high | Consent presents Reject all and Accept all as peer actions; the translator has no upsell, forced continuity, or disguised advertising in the audited flow. |
be-trustworthyhumane-error-handling | not-applicable | high | The text translator is an immediate-input tool with no required-field submission or invalid-input form state in the representative flow. |
be-trustworthytrustworthy-input-assistance | pass | high | The free-form translation textarea intentionally disables autocomplete/autocorrect and clearly labels Source text, avoiding inappropriate personal-data autofill. |
be-trustworthysafe-commercial-and-account-flows | not-applicable | high | No checkout, subscription, payment, cancellation, or account-management journey is part of the public translator flow; Sign in leads to the separate Google Accounts service. |
be-sustainableoptimised-assets | issues | high | The app DOM contains both light and dark drag-and-drop PNGs for dormant document/image surfaces, and HAR records these assets before those modes are opened. F12 low: Inactive translation modes load hidden decorative assets during the text-only journey. |
be-sustainableno-wasteful-work | issues | high | The app DOM contains both light and dark drag-and-drop PNGs for dormant document/image surfaces, and HAR records these assets before those modes are opened. F12 low: Inactive translation modes load hidden decorative assets during the text-only journey. |
be-sustainablethird-party-and-media-budget | issues | high | 24 script requests transfer 991,384 bytes; 55 requests and 1,312,350 bytes are outside translate.google.com, led by 1,013,713 bytes from www.gstatic.com. The app DOM contains both light and dark drag-and-drop PNGs for dormant document/image surfaces, and HAR records these assets before those modes are opened. F7 medium: JavaScript and same-organization third-party delivery dominate page weight. F12 low: Inactive translation modes load hidden decorative assets during the text-only journey. |
be-agent-readystructured-agent-capabilities | not-applicable | high | This emerging check was judged out of scope: the public page provides a human translation tool and declares no agent-facing intent. Absence is an opportunity, not a failure. |
be-agent-readyon-device-inference | not-applicable | high | No on-device inference use case is declared for this server-backed translation service; the emerging check is not applicable without agent/on-device intent. |
be-memory-efficientno-leak-under-repeated-interaction | pass | medium | Across ten input/clear cycles, DOM nodes remained exactly 15,746; heap rose from 19.0MB to 24.3MB while translation modules warmed, with no evidence of unbounded growth in this bounded run. |
be-memory-efficientbounded-footprint | pass | medium | Post-load heap summary is 24.85MB for the interactive multilingual app; the live DOM has 15,746 nodes and remained responsive. |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | medium | Ten cycles left DOM count unchanged, created no intervals, cleared one timer, and instrumented only two new listeners; no accumulating detached-DOM signal was observed. |
Provenance
Canonical report: results/atomic/reports/0646-translate_google_com.json
Report SHA-256: 92fca9c14f16639f0fb47d597d91f2c2f1150bb66b8bf4706df64fdafbe578e3
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/translate_google_com/2026-07-22T03-15-29-234Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/translate_google_com/2026-07-22T03-15-29-234Z
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.