Manifest position 431 · CrUX rank bucket 1000
https://xosodaiphat.com
Coverage complete
Representative audit of five page archetypes/journeys. Excluded: authenticated/account states, every date/province variant sharing audited templates, and destructive/commercial flows not exposed publicly.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | The dark-mode screenshot is pixel-identical in palette and file size to the light capture; computed body background remains rgb(255,255,255), html color-scheme is normal, and no dark scheme is declared. F-001 medium: The site does not adapt to the user’s dark colour preference. |
respect-user-preferencesrespects-reduced-motion | pass | high | Reduced-motion emulation matched and the page reported zero active animations; no authored reduced-motion rule was needed for the observed static UI. |
respect-user-preferencesrespects-contrast | pass | medium | Lighthouse accessibility scored 1.0 and native keyboard focus remained visible; no contrast failure was reported. |
implement-natural-interactionsview-transitions | issues | high | The platform probe found zero view-transition rules, while the site exposes hundreds of same-origin route links across long result and statistics templates. F-002 low: Full-page route changes have no authored transition continuity. |
implement-natural-interactionsscroll-driven-animations | not-applicable | high | No scroll-linked animation was observed on the representative templates, so there is no implementation to evaluate. |
implement-natural-interactionsphysical-gestures | not-applicable | high | No gesture-driven control is part of the representative public journeys. |
provide-guided-navigationscroll-state-aware-chrome | issues | high | The homepage is 11,148 CSS px tall on mobile, but CSS inspection found no scroll-state query/timeline behavior and the visible header does not provide progress or sticky orientation feedback. F-003 low: Long pages provide no scroll-state-aware orientation aid. |
provide-guided-navigationanchored-positioning | not-applicable | high | No tooltip, popover or viewport-edge menu overlay was present in the representative paths. |
provide-guided-navigationdirects-attention | pass | high | Direct evidence on representative paths supports this outcome. |
maximize-content-reduce-noiseno-intrusive-interruptions | pass | high | Direct evidence on representative paths supports this outcome. |
maximize-content-reduce-noisesemantic-dismissible-primitives | not-applicable | high | No transient overlay or modal flow appeared in the audited public paths. |
maximize-content-reduce-noisereduced-chrome | pass | high | Direct evidence on representative paths supports this outcome. |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | pass | high | Direct evidence on representative paths supports this outcome. |
adapt-to-the-form-factorcomponent-level-responsiveness | pass | high | Representative dense content/listing components reflowed successfully at 360px without overflow; no same component was observed in conflicting container contexts. |
adapt-to-the-form-factorinput-modality-aware | issues | high | The 360px focus/target probe measured many meaningful links at only 14–22px high, including province and date links; the recommended target is substantially larger. Keyboard outlines were visible, so the failure is specifically touch sizing. F-004 medium: Many mobile links have undersized touch targets. |
support-core-task-successclear-purpose-and-primary-action | pass | high | Direct evidence on representative paths supports this outcome. |
support-core-task-successprimary-flow-completion | pass | high | Direct evidence on representative paths supports this outcome. |
support-core-task-successclear-system-state-and-recovery | pass | high | Direct evidence on representative paths supports this outcome. |
be-fast-and-stablegood-core-web-vitals | pass | high | Direct evidence on representative paths supports this outcome. |
be-fast-and-stablevisual-stability | pass | high | Direct evidence on representative paths supports this outcome. |
be-fast-and-stableefficient-main-thread | pass | high | Direct evidence on representative paths supports this outcome. |
be-fast-and-stableefficient-resource-delivery | issues | high | Lighthouse reports TTI 9.6s and 214KiB potential cache savings; the HAR identifies parser-inserted player/DMCA scripts and a 1.6s GTM request. F-005 medium: Third-party delivery and caching waste delay readiness despite good paint metrics. |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | Lighthouse estimates 499KiB unused JavaScript, 29KiB legacy JavaScript and 14KiB unminified JavaScript; HAR records 731KiB of script transfer out of 804KiB total. F-006 high: The page ships a large amount of unused and legacy JavaScript. |
be-inclusivenames-roles-labels | issues | high | Lighthouse identifies the Keno table’s fake caption and data cells without headers. The form probe also shows #inputNumberDo has no associated label, relying on placeholder/title. F-007 medium: Data tables and one lookup input lack complete accessible semantics. |
be-inclusivesufficient-contrast | pass | high | Direct evidence on representative paths supports this outcome. |
be-inclusivestructure-and-focus | pass | high | Direct evidence on representative paths supports this outcome. |
be-inclusivelegible-text | pass | high | Direct evidence on representative paths supports this outcome. |
be-inclusivezoom-reflow-targets-and-media | issues | high | At 360px, the target probe records dozens of interactive links only 14–22px high, even though the page otherwise reflows without horizontal overflow. F-008 medium: Small targets reduce usability under touch and zoomed/reflowed conditions. |
follow-best-practicesno-console-errors | issues | high | Lighthouse captured a console.error from notification.services.js: notification permission was blocked (messaging/permission-blocked). F-009 low: The page logs an avoidable Firebase messaging error. |
follow-best-practicessound-document-and-assets | issues | high | The image primitive found 3 images without width/height and 2 below-fold images without loading=lazy; one loading asset remains GIF. F-010 low: Several images omit intrinsic dimensions and below-fold loading hints. |
follow-best-practicesbrowser-platform-hygiene | issues | high | Lighthouse’s notification-on-start audit points to notification.services.js line 92; the resulting denial also causes the console error. F-011 high: Notification permission is requested on page load. |
be-discoverabletitle-and-description | pass | high | Direct evidence on representative paths supports this outcome. |
be-discoverablecrawlable-and-mobile-friendly | pass | high | Direct evidence on representative paths supports this outcome. |
be-discoverablecanonical-and-indexing-signals | pass | high | Direct evidence on representative paths supports this outcome. |
be-discoverablestructured-and-shareable-metadata | pass | high | Direct evidence on representative paths supports this outcome. |
be-private-and-securesecure-transport-and-headers | issues | high | The headers primitive reports missing CSP, HSTS and nosniff. All four analytics cookies lack Secure and use SameSite=None; three persist for 400 days. F-012 high: HTTPS is used, but baseline security headers and cookie protections are absent. |
be-private-and-securedata-minimisation-and-third-parties | issues | high | Tracker evidence found 15 third-party origins and five known tracker domains. HAR attributes 42 of 45 requests and 772,761 of 804,382 transferred bytes to third parties. F-013 high: The page has a disproportionate tracking and third-party footprint. |
be-private-and-securein-context-permissions-and-modern-auth | issues | high | Lighthouse directly reports notification-on-start and the permission denial error. Authentication was not a covered public flow, so this finding is limited to permission timing. F-014 high: Notification permission is requested without in-context intent. |
be-private-and-securedefensive-browser-policies | issues | high | The response has no clickjacking protection, Referrer-Policy or Permissions-Policy, in addition to missing CSP/HSTS/nosniff. F-015 high: Browser-enforced defensive policies are not configured. |
be-resilientprogressive-enhancement | pass | high | Direct evidence on representative paths supports this outcome. |
be-resilientresilient-runtime-behaviour | pass | high | Direct evidence on representative paths supports this outcome. |
be-resilientoffline-and-installable | issues | high | manifest.json has display: standalone, start_url and icons, yet navigator.serviceWorker.getRegistrations() returned an empty array and the page was not controlled. F-016 medium: The manifest declares an app-like standalone experience, but no service worker or offline fallback is registered. |
be-resilientnetwork-and-http-failure-states | pass | high | Direct evidence on representative paths supports this outcome. |
be-internationalisedlang-dir-and-logical-properties | not-applicable | high | The service is deliberately Vietnamese and region-specific; broader multi-locale support was judged outside current scope. |
be-internationalisedlocale-aware-data | not-applicable | high | The service is deliberately Vietnamese and region-specific; broader multi-locale support was judged outside current scope. |
be-internationalisedtime-zone-correctness | not-applicable | high | The service is deliberately Vietnamese and region-specific; broader multi-locale support was judged outside current scope. |
be-trustworthyno-dark-patterns | pass | high | Direct evidence on representative paths supports this outcome. |
be-trustworthyhumane-error-handling | pass | high | Required fields use native required constraints and the page preserves browser validation behavior; no custom premature/blaming error UI was found. |
be-trustworthytrustworthy-input-assistance | pass | high | Direct evidence on representative paths supports this outcome. |
be-trustworthysafe-commercial-and-account-flows | not-applicable | high | No checkout, subscription or account-management journey was exposed in the representative public paths. |
be-sustainableoptimised-assets | issues | high | The image audit found 3 missing intrinsic dimensions, 2 below-fold images not lazy-loaded, 2 images without responsive sources and one legacy GIF. F-017 low: A small set of image-delivery inefficiencies remains. |
be-sustainableno-wasteful-work | issues | high | The HAR records repeated Glia pixel requests plus Google analytics/ad collection; 42 of 45 requests are third party, while Lighthouse finds 499KiB unused JS. F-018 high: Background analytics and advertising work is chatty and mostly unrelated to the core result task. |
be-sustainablethird-party-and-media-budget | issues | high | Third parties transfer 772,761 bytes of 804,382 total; GTM, AdSense and the Glia player are the largest offenders, while the primary content is server-rendered text/tables. F-019 high: Third-party scripts dominate the page’s transfer budget. |
be-agent-readystructured-agent-capabilities | not-applicable | high | No declared agent-facing intent was found; this emerging capability is optional for this public results site. |
be-agent-readyon-device-inference | not-applicable | high | No declared need for on-device inference was found; this emerging capability is optional for this results site. |
be-memory-efficientno-leak-under-repeated-interaction | not-applicable | high | The audited experience is a server-rendered MPA whose core interactions navigate/reload; no representative long-lived in-page interaction exists to repeat meaningfully. |
be-memory-efficientbounded-footprint | pass | high | Baseline heap was 13.18MB self size for the fully rendered long page; no disproportionate constructor population or detached DOM signal was present. |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | high | Heap summary exposed no Detached* constructor among retained top constructors; no long-lived SPA interaction was present to accumulate listeners. |
Provenance
Canonical report: results/atomic/reports/0431-xosodaiphat_com.json
Report SHA-256: b22ca774eef945c3e5a0e106c9972220c0615cbae7a3b09daa409c561337bef2
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/xosodaiphat_com/2026-07-20T18-51-28-143Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/xosodaiphat_com/2026-07-20T18-51-28-143Z
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.