Manifest position 981 · CrUX rank bucket 1000

https://homepage.vivo.com

Coverage complete

Coverage complete. The target is a single hash-routed OEM browser start portal; no additional internal routes, sitemap, or links were exposed. The public entry rendered a live failure state, which was audited rather than treated as a bot block.

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
issueshighThe dark-mode capture is pixel-identical to the light mobile capture and computed color-scheme is normal; both stylesheets contain no prefers-color-scheme rule.
F01 medium: Dark preference is ignored
respect-user-preferences
respects-reduced-motion
passhighUnder prefers-reduced-motion: reduce, the active page reported zero Web Animations; the current error/search state had no running non-essential motion.
respect-user-preferences
respects-contrast
passhighThe forced-colors/high-contrast screenshot retained visible text, search affordance, error illustration, and Refresh text against the system black canvas.
implement-natural-interactions
view-transitions
passhighThe only exercised state change, typing in search, updated the search affordance without relocating content or producing an abrupt route swap; the site exposes no internal route links.
implement-natural-interactions
scroll-driven-animations
passhighThe page has no scroll-linked visual effect to implement; CSS inspection found no animation-timeline usage, and layout/trace found no long task during load.
implement-natural-interactions
physical-gestures
passhighDOM and visual inspection found no swipe, drag, carousel, pull-to-refresh, or custom pointer-driven surface that fights native scrolling.
provide-guided-navigation
scroll-state-aware-chrome
passhighAt 360x800 the content size equals the viewport and exposes no scroll-dependent navigation chrome; there is no hidden scroll state requiring a cue.
provide-guided-navigation
anchored-positioning
passhighDOM inspection found no dialog, popover, tooltip, menu, or anchored overlay on the only page surface.
provide-guided-navigation
directs-attention
issueshighThe error recovery is a non-focusable DIV and the search button is a non-focusable DIV; the search-flow probe leaves focus on the 20px input with no programmatic cue to the failed content.
F02 medium: Recovery and search state changes do not guide keyboard attention
maximize-content-reduce-noise
no-intrusive-interruptions
passhighDesktop and mobile load screenshots show no modal, consent wall, interstitial, or content-obscuring banner.
maximize-content-reduce-noise
semantic-dismissible-primitives
passhighDOM inspection found zero dialog, popover, or disclosure surfaces, so there is no ad-hoc overlay implementation on the audited page.
maximize-content-reduce-noise
reduced-chrome
passhighScreenshots show a sparse content-first canvas with a search field, shortcuts, and one error state rather than a heavy application frame.
adapt-to-the-form-factor
responsive-no-horizontal-scroll
passhighAt 360x800, layout measured scrollWidth=clientWidth=360 and horizontalOverflowPx=0; viewport meta is present.
adapt-to-the-form-factor
component-level-responsiveness
issueshighAt 1440px, the phone-specific message and sparse mobile controls stretch across the full width while content stays tiny; CSS inspection found no container queries.
F03 medium: Desktop is a stretched mobile layout rather than an adapted form factor
adapt-to-the-form-factor
input-modality-aware
issueshighThe only focusable control is a 170x20 input with outline none; search and Refresh are DIVs without role/tabindex, so keyboard users cannot activate them.
F04 high: Primary controls are too small and not keyboard operable
support-core-task-success
clear-purpose-and-primary-action
issueshighBoth viewports lead with a location instruction, empty shortcut placeholders, and “Unable to open web page”; there is no heading or descriptive primary action.
F05 high: The entry page does not communicate a working purpose
support-core-task-success
primary-flow-completion
issueshighThe init endpoint returns {retcode:20000}; the rendered page says “Unable to open web page”. Search submission is a DIV unavailable to keyboard users.
F06 critical: The public entry experience fails its core load and search action is pointer-only
support-core-task-success
clear-system-state-and-recovery
issueshighThe page gives no failure cause or alternate path, and Refresh is a non-focusable DIV with no role or keyboard activation.
F07 high: Failure recovery is vague and inaccessible
be-fast-and-stable
good-core-web-vitals
issueshighLighthouse measured LCP 5.6s (score 0.17), although the unthrottled trace measured 1.67s; the error illustration became the LCP.
F08 high: LCP is slow under Lighthouse mobile conditions
be-fast-and-stable
visual-stability
passhighLayout measured CLS 0.022 and Lighthouse measured 0.021, both within the good range.
be-fast-and-stable
efficient-main-thread
passhighThe trace recorded zero long tasks and 0 ms total blocking time; Lighthouse TBT was 28.5 ms.
be-fast-and-stable
efficient-resource-delivery
issueshighHAR found ten resources without useful cache headers and an uncompressed 40KB ad SDK; Lighthouse says the LCP image is not initial-document discoverable or fetch-prioritised.
F09 medium: Critical delivery and cache hygiene are weak
be-fast-and-stable
trim-unused-and-duplicate-code
issueshighLighthouse estimates 323KiB unused JavaScript; HAR shows 468,797 of 639,530 transferred bytes are third-party, led by DoubleClick and GTM.
F10 high: Unused ad and analytics JavaScript dominates the small page
be-inclusive
names-roles-labels
issueshighLighthouse found 11 images without alt, an unlabeled search input, and no main landmark; Refresh/search actions are generic DIVs.
F11 high: The accessibility tree lacks names and semantics
be-inclusive
sufficient-contrast
issueshighLighthouse measured contrast ratios 2.84:1 and 2.92:1 for the location instruction and error message against white, below 4.5:1.
F12 high: Status text fails WCAG contrast
be-inclusive
structure-and-focus
issueshighThe page has no headings or landmarks; focusing the only input yields outline none and no box shadow, while action DIVs cannot receive focus.
F13 high: There is no semantic structure or visible keyboard focus
be-inclusive
legible-text
issueshighThe location text is 13px at 2.84:1 and the error text is 14px at 2.92:1; on desktop it remains visually tiny amid a very wide canvas.
F14 medium: Tiny low-contrast status text harms readability
be-inclusive
zoom-reflow-targets-and-media
issueshighViewport content includes maximum-scale=1 and user-scalable=no; Lighthouse fails meta-viewport and the focus probe measures a 20px-high search input.
F15 high: The viewport disables zoom and the primary input target is only 20px high
follow-best-practices
no-console-errors
issueshighLighthouse captured TypeError: Cannot read properties of null (reading exposeLink) in home.aa123ac2.js.
F16 medium: The page throws during load
follow-best-practices
sound-document-and-assets
issueshighThe images primitive found 11/11 images without width/height; the 548px error PNG is displayed at 180px and has no responsive source.
F17 medium: Images lack intrinsic dimensions and one is oversized
follow-best-practices
browser-platform-hygiene
issueshighLighthouse geolocation-on-start fails at home.aa123ac2.js; the page immediately instructs users to enable positioning before an intentional user action.
F18 high: Geolocation is requested on page load
be-discoverable
title-and-description
issueshighThe title is only “Homepage” and no meta description is present.
F19 medium: Metadata is generic and incomplete
be-discoverable
crawlable-and-mobile-friendly
issueshighRendered DOM contains zero anchors, while the viewport disables scaling; robots.txt returns a branded nginx 404.
F20 high: The page has no crawlable links and blocks user zoom
be-discoverable
canonical-and-indexing-signals
issueshighNo canonical or hreflang is present; robots.txt and sitemap.xml both return 404.
F21 medium: Canonical, sitemap, and language indexing signals are absent
be-discoverable
structured-and-shareable-metadata
issueshighProbe found zero Open Graph tags and zero JSON-LD blocks despite a public branded start page.
F22 low: The public organization/start page has no share metadata
be-private-and-secure
secure-transport-and-headers
issueshighThe bundle exposes an API_KEY plus SECRET used to derive weather access keys. All four cookies use SameSite=None and three analytics cookies lack Secure; CSP and HSTS are absent.
F23 critical: Client credentials and cookie/header defenses are unsafe
be-private-and-secure
data-minimisation-and-third-parties
issueshighTracker capture found nine third-party origins including DoubleClick, GTM and Google Analytics; HAR attributes 73% of transferred bytes to third parties.
F24 high: Tracking and ad vendors dominate network use without visible consent
be-private-and-secure
in-context-permissions-and-modern-auth
issueshighLighthouse directly flags geolocation-on-start before the user chooses weather or location functionality; authentication is not present and does not affect this failure.
F25 high: Location permission is requested out of context on load
be-private-and-secure
defensive-browser-policies
issueshighHeaders inspection found no CSP, HSTS, nosniff, frame protection, Referrer-Policy, or Permissions-Policy.
F26 high: The response omits all inspected browser defense headers
be-resilient
progressive-enhancement
issueshighDiscoverability found 0% rendered-word coverage in raw HTML; the crawler screenshot is blank while the browser view contains the error/search UI.
F27 high: Core content disappears without JavaScript
be-resilient
resilient-runtime-behaviour
issueshighA null exposeLink access throws during load and the init API returns only retcode 20000, leaving empty shortcut placeholders and a failed shell.
F28 high: Optional integrations can break runtime behaviour
be-resilient
offline-and-installable
issueshighDOM/runtime probes found no manifest, no service-worker controller, and raw HTML contains no usable fallback content.
F29 medium: The app-like portal has no install or offline baseline
be-resilient
network-and-http-failure-states
issueshighThe init response is {retcode:20000}; the page renders “Unable to open web page” with a non-semantic Refresh DIV and no alternative core route.
F30 high: The live API failure collapses the page into a dead-end shell
be-internationalised
lang-dir-and-logical-properties
issueshighBoth DOM probe and Lighthouse show an empty html lang attribute; assistive technology cannot determine the English page language.
F31 high: Document language is missing
be-internationalised
locale-aware-data
passhighThe init request sends language=en-GB rather than hard-coding a display locale; no successfully rendered dates, currencies, or durations contradicted this.
be-internationalised
time-zone-correctness
not-applicablehighThe only locale-sensitive surface is weather, which did not render; the audited page exposes no events, recurring times, or cross-zone scheduling to test.
be-trustworthy
no-dark-patterns
passhighVisual and DOM review found no consent wall, subscription, upsell, disguised ad control, confirmshaming, or forced-continuity flow.
be-trustworthy
humane-error-handling
passhighThe only input is a free-form search field with no required/validity constraints; no premature validation or blame-oriented form error is present.
be-trustworthy
trustworthy-input-assistance
issueshighThe only search input explicitly sets autocomplete=off and has no label or placeholder, reducing recognition and browser assistance.
F32 medium: Search disables browser input assistance
be-trustworthy
safe-commercial-and-account-flows
not-applicablehighThe single-page start portal exposes no checkout, subscription, authentication, consent-management, or account flow.
be-sustainable
optimised-assets
issueshighAll 11 images lack dimensions; the 548px PNG error asset is rendered at 180px with no srcset and no modern-format alternative.
F33 medium: Image delivery is not resolution-aware
be-sustainable
no-wasteful-work
issueshighHAR transfers 468,797 third-party bytes and Lighthouse identifies 323KiB unused JavaScript while the core content remains an error shell.
F34 high: The failed page still loads substantial advertising and analytics work
be-sustainable
third-party-and-media-budget
issueshighEleven third-party requests transfer 468,797 of 639,530 bytes; DoubleClick alone transfers 262,404 bytes on a sparse failed page.
F35 high: Third parties consume 73% of page bytes
be-agent-ready
structured-agent-capabilities
not-applicablehighThis OEM browser start portal exposes search/news/weather, but no agent-facing transaction or productivity capability where WebMCP tooling would be expected.
be-agent-ready
on-device-inference
not-applicablehighNo summarisation, generation, or other inference task is present in the audited start-page experience.
be-memory-efficient
no-leak-under-repeated-interaction
passmediumAfter ten representative focus/type/clear/blur cycles, heap self size was 9.04 MB versus 8.90 MB baseline (+1.6%) and node count +0.4%; closure count fell, with no evidence of unbounded retained growth.
be-memory-efficient
bounded-footprint
passmediumHeap summaries measured 8.90-9.04 MB self size for the loaded portal, a proportionate bounded footprint despite third-party scripts.
be-memory-efficient
no-detached-dom-or-unbounded-listeners
passmediumNeither heap summary listed a Detached* constructor among retained populations; ten input cycles did not increase closure count (13,936 to 13,918).

Provenance

Canonical report: results/atomic/reports/0981-homepage_vivo_com.json
Report SHA-256: ad23168a324024227c1da4a75b042cb5b6f17297a75a1f81ad1caf8f70e060c2
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/homepage_vivo_com/2026-07-24T07-14-52-036Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/homepage_vivo_com/2026-07-24T07-14-52-036Z
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.