Manifest position 644 · CrUX rank bucket 1000
https://xoso.com.vn
Coverage complete
Coverage-complete representative audit of four public templates plus the 404 recovery path.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | The dark/reduced screenshot remains a white/cream light theme; the probe reports colorScheme "normal" and no authored prefers-color-scheme rule. F-01 medium: Dark preference is ignored |
respect-user-preferencesrespects-reduced-motion | pass | high | The reduced-motion probe reported zero active animations; no auto-advance or essential animated flow was present. |
respect-user-preferencesrespects-contrast | pass | high | Text, links, controls and consent actions remain visibly differentiated under forced-colors active. |
implement-natural-interactionsview-transitions | issues | high | The CSS probe found no authored view-transition rule or startViewTransition use across this multi-page site. F-02 low: Route changes are abrupt |
implement-natural-interactionsscroll-driven-animations | not-applicable | high | No parallax, scrollytelling, reveal animation or other scroll-linked motion exists to implement declaratively. |
implement-natural-interactionsphysical-gestures | pass | medium | Core pages rely on native page scrolling and links; no custom swipe/pointer interaction was found fighting platform behavior. |
provide-guided-navigationscroll-state-aware-chrome | issues | high | The 8,518px homepage and 5,816px article use fixed shared chrome, but the CSS probe found no scroll-state or scroll-timeline behavior. F-03 low: Long pages provide static rather than scroll-aware navigation |
provide-guided-navigationanchored-positioning | not-applicable | high | No tooltip/popover/menu requiring element-relative anchor positioning was present on the audited core paths. |
provide-guided-navigationdirects-attention | pass | medium | Article breadcrumbs, descriptive links, red active navigation and direct result links give users visible orientation. |
maximize-content-reduce-noiseno-intrusive-interruptions | issues | high | Desktop, homepage mobile, results, and statistics screenshots all show a modal consent wall covering the lottery results or form before interaction. F-04 high: Consent wall obscures the primary content on first load |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | DOM recon found multiple `div[role=dialog]` consent surfaces rather than native `<dialog>`, while the modal injects hundreds of vendor headings into the document. F-05 medium: Consent UI is custom dialog chrome |
maximize-content-reduce-noisereduced-chrome | issues | high | The consent interface lists 210 partners and the tracker probe sees 17 third-party origins; article Lighthouse also loads in-article advertising controls around the content. F-06 medium: Advertising and consent chrome compete with content |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | issues | high | At a 390px visual viewport, article layout metrics report scrollWidth/client layout width 496px and horizontalOverflowPx 106. F-07 high: Article template overflows mobile by 106px |
adapt-to-the-form-factorcomponent-level-responsiveness | issues | high | The article CSS probe found no authored `@container` rule despite cards, sidebars and result tables being reused across narrow and wide regions. F-08 medium: Shared components only use viewport-level adaptation |
adapt-to-the-form-factorinput-modality-aware | issues | high | The focused first link computed to `outline-style:none`; the probe also found multiple visible targets under 24px high. F-09 medium: Focus and target sizing are inconsistent |
support-core-task-successclear-purpose-and-primary-action | pass | high | The H1 and result tables immediately identify current three-region lottery results, with direct regional result links. |
support-core-task-successprimary-flow-completion | pass | high | Current results are readable without sign-in and regional/history links use real destinations; the primary lookup does not dead-end. |
support-core-task-successclear-system-state-and-recovery | pass | high | The server returns HTTP 404 with a clear bilingual not-found message, home link and alternative region links. |
be-fast-and-stablegood-core-web-vitals | issues | high | Mobile Lighthouse measured LCP 11.1s, TTI 11.5s and performance 67; the independent trace measured LCP 3.68s. F-10 high: Homepage LCP is far outside the good range |
be-fast-and-stablevisual-stability | pass | high | CLS was 0.013 home, 0.060 results, 0.028 stats and 0.063 article, all within the good threshold. |
be-fast-and-stableefficient-main-thread | issues | high | Article Lighthouse measured 530ms TBT and 28.6s TTI; mobile layout observed 90ms and 52ms long tasks. F-11 high: Article scripting blocks interaction |
be-fast-and-stableefficient-resource-delivery | issues | high | HAR recorded 2.44MB, including 2.21MB of scripts; 2.41MB came from third parties and a 414KB Prebid script was uncompressed. F-12 high: Third-party script delivery dominates the load |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | Lighthouse estimated 624KiB unused JS on home and 2,034KiB on the article, including duplicated gtag/ad stacks. F-13 high: Large amounts of shipped JavaScript are unused |
be-inclusivenames-roles-labels | issues | high | Article Lighthouse found six ad links with no discernible name; the statistics probe found date/select/button controls with no associated labels. F-14 medium: Some article and statistics controls lack accessible names |
be-inclusivesufficient-contrast | pass | medium | Lighthouse accessibility scored 100 on home and 97 on article without a reported contrast failure; forced colors remains readable. |
be-inclusivestructure-and-focus | issues | high | The page probe found no visible outline on the first focused link and consent markup injects several H1s plus hundreds of vendor H2s into the document. F-15 medium: Injected consent structure and focus styling weaken navigation |
be-inclusivelegible-text | pass | high | Article body uses large black text on white, clear hierarchy and comfortable line spacing in the visible reading column. |
be-inclusivezoom-reflow-targets-and-media | issues | high | The article has 106px horizontal overflow at 390px, and the interaction probe found multiple targets under 24px high. F-16 high: Mobile reflow and target sizing fail on the article |
follow-best-practicesno-console-errors | issues | high | Lighthouse reported “Not signed in with the identity provider” as a console error on home and article. F-17 low: Identity integration logs a browser error |
follow-best-practicessound-document-and-assets | issues | high | The image primitive found 21 of 25 images without width/height; 10 below-fold images were not lazy-loaded. F-18 medium: Most images lack intrinsic dimensions |
follow-best-practicesbrowser-platform-hygiene | issues | high | Lighthouse failed notification-on-start on both representative pages; article ads also triggered a deprecated Shared Storage warning. F-19 high: The page requests notifications on load |
be-discoverabletitle-and-description | pass | high | Home and article have descriptive unique titles and meta descriptions; Lighthouse passes both title and description audits. |
be-discoverablecrawlable-and-mobile-friendly | issues | high | Lighthouse found `a#curr_living_btn` labelled “➜ Xem ngay” with `href="javascript:void(0)"`. F-20 medium: A visible action uses a non-crawlable JavaScript URL |
be-discoverablecanonical-and-indexing-signals | pass | high | Both pages return 200, homepage has canonical URL, robots is valid and sitemap.xml is available without accidental noindex. |
be-discoverablestructured-and-shareable-metadata | pass | high | Homepage exposes Organization and WebSite JSON-LD plus Open Graph/Twitter title, description and image matching visible content. |
be-private-and-securesecure-transport-and-headers | issues | high | HTTPS is used, but headers lack CSP, HSTS and nosniff; all seven observed first-party cookies lacked Secure and used SameSite=None. F-21 high: Core transport defenses and cookie flags are missing |
be-private-and-securedata-minimisation-and-third-parties | issues | high | Tracker evidence found 17 third-party origins and six known trackers; HAR attributes 51/55 requests and 2.41/2.44MB to third parties before a consent choice. F-22 high: The initial page has an excessive tracking footprint |
be-private-and-securein-context-permissions-and-modern-auth | issues | high | Lighthouse identified a notification permission request on page load. The sign-in surface exists, but no passkey flow was exposed in the audited public path. F-23 high: Notification permission is requested out of context |
be-private-and-securedefensive-browser-policies | issues | high | Header audit found no HSTS, CSP/frame-ancestors, nosniff, Referrer-Policy or Permissions-Policy; only X-Frame-Options SAMEORIGIN was present. F-24 high: Browser-enforced defensive policies are incomplete |
be-resilientprogressive-enhancement | pass | high | Core results and article text are server-rendered without JS; home raw/rendered token coverage is 72% and neither page is a JS shell. |
be-resilientresilient-runtime-behaviour | pass | medium | Results, statistics, article and 404 pages render useful content; no clipped core overlay/menu or blank runtime state was observed. |
be-resilientoffline-and-installable | not-applicable | high | This public results/content site is not a long-lived app requiring offline use; a manifest exists but no service-worker registration was found. |
be-resilientnetwork-and-http-failure-states | pass | high | The server returns a real 404 and a useful recovery page with a homepage link and suggested result destinations. |
be-internationalisedlang-dir-and-logical-properties | pass | high | The document declares `lang="vi"`; Vietnamese text renders in the expected LTR reading order. |
be-internationalisedlocale-aware-data | not-applicable | high | The service deliberately targets Vietnamese lottery data in one locale and exposes no currency or user-selectable locale requiring cross-locale formatting. |
be-internationalisedtime-zone-correctness | not-applicable | high | Published draw/article dates are local Vietnamese dates; no cross-time-zone scheduling or user-entered time flow is present. |
be-trustworthyno-dark-patterns | pass | medium | Consent and Do not consent are equally prominent and the public result flow does not force account creation, purchase or continuity. |
be-trustworthyhumane-error-handling | not-applicable | medium | The audited public statistics flow has no required free-form submission or validation error state; login was outside the selected public core flow. |
be-trustworthytrustworthy-input-assistance | issues | high | The statistics form probe found an unlabeled text date, unlabeled select and button, all with empty autocomplete values. F-25 medium: Statistics inputs provide little programmatic assistance |
be-trustworthysafe-commercial-and-account-flows | not-applicable | high | No checkout, subscription, payment, account-management or sensitive account action is part of the audited public lottery lookup journey. |
be-sustainableoptimised-assets | issues | high | Image evidence reports 21 missing dimensions, 10 below-fold images not lazy-loaded and two images without responsive sources. F-26 low: Image loading metadata is incomplete |
be-sustainableno-wasteful-work | issues | high | HAR shows 51 third-party requests and 2.21MB of scripts for a mostly text/table page; Lighthouse estimates up to 2MB unused JS on the article. F-27 high: Background advertising work is disproportionate to the core page |
be-sustainablethird-party-and-media-budget | issues | high | 2.41MB of 2.44MB transferred on home was third party; top costs were tag manager, Prebid, ads, MGID and consent code. F-28 high: Third-party bytes overwhelm first-party content |
be-agent-readystructured-agent-capabilities | not-applicable | high | The site exposes public informational content rather than an agent-facing transaction/tool surface; WebMCP is not necessary for its declared experience. |
be-agent-readyon-device-inference | not-applicable | high | No summarization, generation or translation task is offered where on-device inference would be an expected product capability. |
be-memory-efficientno-leak-under-repeated-interaction | pass | low | Self size changed from 31.93MB to 32.72MB across separate fresh sessions; this does not establish unbounded retained growth, but confidence is low because third-party load variance dominates. |
be-memory-efficientbounded-footprint | issues | high | Baseline heap summary contains 575,957 nodes and 31.9MB self size, while the DOM probe counts 6,798 elements; third-party ad/consent code dominates the complexity. F-29 medium: Heap footprint is high for a mostly text/table page |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | medium | Neither heap top-constructor list contains Detached* nodes; the runtime probe found one inline listener-bearing element and no evidence of accumulating detached DOM. |
Provenance
Canonical report: results/atomic/reports/0644-xoso_com_vn.json
Report SHA-256: 2a912ed2c849fedf1ef77087e00e3dcc1b2bb337d26a60793308ee690c234be3
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/xoso_com_vn/2026-07-22T03-00-47-509Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/xoso_com_vn/2026-07-22T03-00-47-509Z
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.