Manifest position 828 · CrUX rank bucket 1000
https://xnhau.vc
Coverage complete
Coverage-complete audit of five representative paths. Gallery/member/upload templates were not separately exercised because gallery/listing templates were represented and upload/account actions are gated; destructive, registration, and media-playback actions were not performed.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | The preference probe found rootClass="dark" under both emulated light and dark, computed root color-scheme "normal", no prefers-color-scheme or prefers-contrast CSS, and three running animations under prefers-reduced-motion: reduce. F01 medium: Honours prefers-color-scheme: a usable dark mode exists and is driven by the user's preference (color-scheme / prefers-color-scheme / light-dark()), not hard-coded light only. |
respect-user-preferencesrespects-reduced-motion | issues | high | The preference probe found rootClass="dark" under both emulated light and dark, computed root color-scheme "normal", no prefers-color-scheme or prefers-contrast CSS, and three running animations under prefers-reduced-motion: reduce. F02 medium: Honours prefers-reduced-motion: non-essential animations and auto-advance are reduced or removed when the user asks for less motion. |
respect-user-preferencesrespects-contrast | issues | high | The preference probe found rootClass="dark" under both emulated light and dark, computed root color-scheme "normal", no prefers-color-scheme or prefers-contrast CSS, and three running animations under prefers-reduced-motion: reduce. F03 medium: Honours prefers-contrast / forced-colors: controls, text and scrollbars remain visible under high-contrast preferences. |
implement-natural-interactionsview-transitions | issues | high | The CSS/API probe found zero view-transition rules across the loaded styles and representative MPA navigation changes pages abruptly. F04 low: State and route changes use View Transitions (including same-document, cross-document and scroll-driven/staggered) rather than instant, jarring swaps. |
implement-natural-interactionsscroll-driven-animations | not-applicable | high | No scroll-linked animation, parallax, scrollytelling, carousel, or entry/exit reveal was present on the representative templates, so there is no scroll-linked implementation to assess. |
implement-natural-interactionsphysical-gestures | not-applicable | high | The representative surfaces expose links, search, forms, and media controls but no swipe, pull, drag, or comparable custom gesture interaction. |
provide-guided-navigationscroll-state-aware-chrome | issues | high | The 14,057px mobile page uses static chrome and the CSS probe found no scroll-state/container, anchor positioning, scroll markers, or view-transition cues. F05 medium: Sticky/affixed UI reacts to scroll state and position (e.g. the new scroll-state(scrolled) query, shrinking headers, progress indicators) so chrome responds to position instead of static or JS-driven toggling. |
provide-guided-navigationanchored-positioning | issues | high | The 14,057px mobile page uses static chrome and the CSS probe found no scroll-state/container, anchor positioning, scroll markers, or view-transition cues. F06 medium: Tooltips, popovers and menus use CSS anchor positioning (with fallback positions) so they stay attached and reposition correctly rather than being manually positioned. |
provide-guided-navigationdirects-attention | issues | high | The 14,057px mobile page uses static chrome and the CSS probe found no scroll-state/container, anchor positioning, scroll markers, or view-transition cues. F07 medium: Navigation and in-page jumps guide attention (highlight effects, scroll/carousel markers, directional transitions, drill-down and drawer navigation) so the user can follow where focus moved. |
maximize-content-reduce-noiseno-intrusive-interruptions | issues | high | Mobile screenshots show warnings and stacked gambling ads consuming the initial viewport; the login surface is a custom AJAX/Fancybox fragment rather than a native dialog. F08 high: No intrusive pop-ups, interstitials or banners that obscure content on load; overlays are dismissible and content-first. |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | Mobile screenshots show warnings and stacked gambling ads consuming the initial viewport; the login surface is a custom AJAX/Fancybox fragment rather than a native dialog. F09 high: Overlays and rich controls use the right primitive: popover (with declarative light-dismiss) for transient UI, dialog for modal flows, details for disclosure, native-but-branded selects and pickers, rather than ad-hoc divs. |
maximize-content-reduce-noisereduced-chrome | issues | high | Mobile screenshots show warnings and stacked gambling ads consuming the initial viewport; the login surface is a custom AJAX/Fancybox fragment rather than a native dialog. F10 high: Minimise non-content chrome and borders so the content is the focus, not the application frame; expressive/decorative visuals serve the content rather than crowd it. |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | pass | high | At 360x800 the layout primitive reported scrollWidth=clientWidth=innerWidth=360 and horizontalOverflowPx=0 with a viewport meta tag. |
adapt-to-the-form-factorcomponent-level-responsiveness | issues | high | The 360px layout has no horizontal overflow, but the CSS probe found zero container queries and Lighthouse failed target-size; many visible controls are below 44px. F11 medium: Components adapt to their container with container queries (incl. anchored container queries) and content/state-based styling where reused at different sizes, not only global viewport breakpoints. |
adapt-to-the-form-factorinput-modality-aware | issues | high | The 360px layout has no horizontal overflow, but the CSS probe found zero container queries and Lighthouse failed target-size; many visible controls are below 44px. F12 medium: Touch targets are adequately sized and hover-only affordances have a non-hover fallback, and keyboard focus is visible, so the UI works for touch, pointer and keyboard alike. |
support-core-task-successclear-purpose-and-primary-action | issues | high | Home, listing, and detail mobile screenshots put warnings and stacked gambling ads before the media content; the unknown-route test returns a bare nginx 404 with no recovery link. F13 high: The page communicates what it is for and exposes the primary next action without requiring users to hunt through decorative content, generic copy, or competing calls to action. |
support-core-task-successprimary-flow-completion | issues | high | Home, listing, and detail mobile screenshots put warnings and stacked gambling ads before the media content; the unknown-route test returns a bare nginx 404 with no recovery link. F14 high: The representative primary flow can be completed end-to-end with predictable steps, no avoidable dead ends, no hidden required information, and no needless detours through modals, account walls, or upsells. |
support-core-task-successclear-system-state-and-recovery | issues | high | Home, listing, and detail mobile screenshots put warnings and stacked gambling ads before the media content; the unknown-route test returns a bare nginx 404 with no recovery link. F15 high: Loading, empty, success, error, offline, and partial-completion states are visible and actionable; users can retry, undo, cancel, go back, or continue without losing context. |
be-fast-and-stablegood-core-web-vitals | issues | high | Trace measured LCP 3.887s and mobile layout measured CLS 0.176; HAR recorded 1.98MB including 1.36MB of autoplay advertising media, while Lighthouse estimated 268KiB unused JS and 58KiB unused CSS. F16 high: Core Web Vitals are in the good range: LCP is fast, interaction latency (INP) is low, and CLS is minimal; work is prioritised and deferred sensibly. |
be-fast-and-stablevisual-stability | issues | high | Trace measured LCP 3.887s and mobile layout measured CLS 0.176; HAR recorded 1.98MB including 1.36MB of autoplay advertising media, while Lighthouse estimated 268KiB unused JS and 58KiB unused CSS. F17 high: No cumulative layout shift from late content (images, banners, fonts) that arrives without reserved space. |
be-fast-and-stableefficient-main-thread | pass | high | The trace found one 95.46ms long task and 45.46ms TBT; Lighthouse measured 10ms TBT, indicating limited blocking work. |
be-fast-and-stableefficient-resource-delivery | issues | high | Trace measured LCP 3.887s and mobile layout measured CLS 0.176; HAR recorded 1.98MB including 1.36MB of autoplay advertising media, while Lighthouse estimated 268KiB unused JS and 58KiB unused CSS. F18 high: Critical resources are delivered efficiently: cache headers are useful, render-blocking chains are short, fonts do not block or shift text, HTTP delivery is modern, and network dependency trees do not delay the main content. |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | Trace measured LCP 3.887s and mobile layout measured CLS 0.176; HAR recorded 1.98MB including 1.36MB of autoplay advertising media, while Lighthouse estimated 268KiB unused JS and 58KiB unused CSS. F19 high: The page does not ship large unused or duplicated JavaScript/CSS, avoidable legacy bundles, or third-party code that dominates the load without user value. |
be-inclusivenames-roles-labels | issues | high | Lighthouse accessibility scored 77 and failed contrast, iframe title, labels, link names, target size, and main-landmark checks. F20 high: Interactive elements have accessible names, correct roles, and form fields have labels; images have alt text where meaningful; canvas/expressive content is exposed to assistive technology. |
be-inclusivesufficient-contrast | issues | high | Lighthouse accessibility scored 77 and failed contrast, iframe title, labels, link names, target size, and main-landmark checks. F21 high: Text and essential UI meet WCAG colour-contrast minimums against their background. |
be-inclusivestructure-and-focus | issues | high | Lighthouse accessibility scored 77 and failed contrast, iframe title, labels, link names, target size, and main-landmark checks. F22 high: Heading and landmark structure is logical, focus order follows reading order, keyboard focus is always visible, and interactive state survives DOM moves. |
be-inclusivelegible-text | issues | high | Lighthouse accessibility scored 77 and failed contrast, iframe title, labels, link names, target size, and main-landmark checks. F23 high: Text is legible and inclusively rendered: comfortable line layout, precise alignment, stable rendering across mixed fonts, no clipping or cramped wrapping that harms comprehension. |
be-inclusivezoom-reflow-targets-and-media | issues | high | Lighthouse accessibility scored 77 and failed contrast, iframe title, labels, link names, target size, and main-landmark checks. F24 high: The experience remains usable when zoomed or reflowed, touch targets are large enough, media has captions or equivalents where needed, and the viewport does not prevent user scaling. |
follow-best-practicesno-console-errors | issues | high | Lighthouse best practices scored 69 and reported console errors, DevTools inspector issues, and low-resolution images; the image probe found 20 missing dimensions and 12 oversized images. F25 medium: The page loads without console errors or uncaught exceptions. |
follow-best-practicessound-document-and-assets | issues | high | Lighthouse best practices scored 69 and reported console errors, DevTools inspector issues, and low-resolution images; the image probe found 20 missing dimensions and 12 oversized images. F26 medium: Valid doctype and charset, images sized with correct aspect ratio, no deprecated APIs misused, and CSS/HTML are well structured and not needlessly repetitive. (HTTPS, CSP and permission hygiene are judged under be-private-and-secure, not here.) |
follow-best-practicesbrowser-platform-hygiene | issues | high | Lighthouse best practices scored 69 and reported console errors, DevTools inspector issues, and low-resolution images; the image probe found 20 missing dimensions and 12 oversized images. F27 medium: The page uses the platform cleanly: no deprecated APIs, no avoidable BFCache blockers, no broken source maps or inspector issues, no stale vulnerable libraries, no paste-prevention on inputs, and no notification/geolocation prompts on load. |
be-discoverabletitle-and-description | pass | high | Rendered and raw HTML both contain the descriptive title and meta description; discoverability confirmed both survive without JavaScript. |
be-discoverablecrawlable-and-mobile-friendly | issues | high | Metadata and SSR are strong, but Lighthouse found non-crawlable anchors, 29 anchors have no href, the sitemap advertises xnhau.video while the canonical is xnhau.guru, and no JSON-LD was present. F28 medium: Links are crawlable (real href), there is a viewport meta tag, robots does not block indexing, and link text is descriptive. |
be-discoverablecanonical-and-indexing-signals | issues | high | Metadata and SSR are strong, but Lighthouse found non-crawlable anchors, 29 anchors have no href, the sitemap advertises xnhau.video while the canonical is xnhau.guru, and no JSON-LD was present. F29 medium: Public pages expose the indexing signals search engines need: successful HTTP status, canonical URL when appropriate, hreflang for localized variants, robots/sitemap consistency, and no accidental noindex/noarchive policy. |
be-discoverablestructured-and-shareable-metadata | issues | high | Metadata and SSR are strong, but Lighthouse found non-crawlable anchors, 29 anchors have no href, the sitemap advertises xnhau.video while the canonical is xnhau.guru, and no JSON-LD was present. F30 medium: Where the page represents an article, product, organization, event, place or other rich entity, structured data and share-preview metadata accurately describe the visible content. |
be-private-and-securesecure-transport-and-headers | issues | high | HTTPS, HSTS, nosniff, SAMEORIGIN, and no exposed secrets were observed, but CSP, Referrer-Policy, and Permissions-Policy are absent; GA/Cloudflare analytics load and the sign-in form is password-only with no autocomplete tokens. F31 high: Served over HTTPS with a sensible Content-Security-Policy and secure, SameSite cookies; no mixed content or obvious transport/header smells. |
be-private-and-securedata-minimisation-and-third-parties | issues | high | HTTPS, HSTS, nosniff, SAMEORIGIN, and no exposed secrets were observed, but CSP, Referrer-Policy, and Permissions-Policy are absent; GA/Cloudflare analytics load and the sign-in form is password-only with no autocomplete tokens. F32 high: No over-collection of user data, no leaky third parties, and analytics/background data collection is minimised and batched rather than chatty or session-wide by default. |
be-private-and-securein-context-permissions-and-modern-auth | issues | high | HTTPS, HSTS, nosniff, SAMEORIGIN, and no exposed secrets were observed, but CSP, Referrer-Policy, and Permissions-Policy are absent; GA/Cloudflare analytics load and the sign-in form is password-only with no autocomplete tokens. F33 high: Permission prompts are requested in context (not on load), and authentication uses modern, phishing-resistant methods (passkeys / WebAuthn) where relevant rather than passwords alone. |
be-private-and-securedefensive-browser-policies | issues | high | HTTPS, HSTS, nosniff, SAMEORIGIN, and no exposed secrets were observed, but CSP, Referrer-Policy, and Permissions-Policy are absent; GA/Cloudflare analytics load and the sign-in form is password-only with no autocomplete tokens. F34 high: Browser-enforced defenses are configured where appropriate: HSTS, clickjacking protection (frame-ancestors / X-Frame-Options), Trusted Types for XSS-sensitive apps, origin isolation, privacy-preserving third-party cookie posture, and sensible Referrer-Policy / Permissions-Policy. |
be-resilientprogressive-enhancement | pass | high | Discoverability fetched HTTP 200 raw HTML with 99% content-word coverage, a raw H1/title/description, and no empty SPA mount. |
be-resilientresilient-runtime-behaviour | issues | high | Raw HTML contains 99% of rendered content, but there is no service worker despite an app/manifest surface, custom overlay runtime is fragile, and the tested 404 is a bare nginx response without recovery. F35 medium: The page behaves robustly at runtime: overlays and menus never get cut off, DOM state survives moves, background work and async dependencies are sequenced and conditional rather than fragile, and initial visibility state is detected correctly. |
be-resilientoffline-and-installable | issues | high | Raw HTML contains 99% of rendered content, but there is no service worker despite an app/manifest surface, custom overlay runtime is fragile, and the tested 404 is a bare nginx response without recovery. F36 medium: Where the site is an app, it is installable (web app manifest) and offers an offline fallback and works on flaky networks. (Contextual: a brochure or intrinsically-online site may reasonably not need this.) |
be-resilientnetwork-and-http-failure-states | issues | high | Raw HTML contains 99% of rendered content, but there is no service worker despite an app/manifest surface, custom overlay runtime is fragile, and the tested 404 is a bare nginx response without recovery. F37 medium: HTTP errors, network failures, timeouts and stale data states are handled intentionally: users see useful recovery options rather than blank screens, infinite spinners, broken shells, or misleading success states. |
be-internationalisedlang-dir-and-logical-properties | issues | high | html lang="vi" and Vietnamese relative dates are present, but dir is absent and loaded CSS contains 323 physical left/right declarations versus four logical-property declarations despite a language selector. F38 medium: Correct lang and dir attributes, logical CSS properties (inline/block) rather than physical left/right, and translation-ready markup so the layout and reading order survive other languages and writing modes. |
be-internationalisedlocale-aware-data | pass | high | The Vietnamese UI renders relative publication ages and localized labels consistently, and exposes a language selector for alternate locales. |
be-internationalisedtime-zone-correctness | not-applicable | high | No scheduled events, appointments, recurring intervals, or absolute user-facing times were present on the representative paths; only relative publication ages were shown. |
be-trustworthyno-dark-patterns | issues | high | Screenshots show dominant gambling promotions and an overlapping closable ad; login fields lack required/autocomplete metadata and error containers lack live-region semantics, while account links use data-href rather than real href. F39 high: No deceptive design: no confirmshaming, forced continuity, disguised ads, or nagging consent walls; honest defaults; clear pricing and consent; easy reversal/cancel; predictable, declaratively-wired actions; and no hidden-text tricks (hidden content stays deep-linkable and indexable rather than used to deceive). |
be-trustworthyhumane-error-handling | issues | high | Screenshots show dominant gambling promotions and an overlapping closable ad; login fields lack required/autocomplete metadata and error containers lack live-region semantics, while account links use data-href rather than real href. F40 high: Forms prevent and recover from mistakes humanely: validate after interaction (not prematurely), give clear required-field feedback, announce errors accessibly, and signal invalid fields visibly rather than blaming the user. |
be-trustworthytrustworthy-input-assistance | issues | high | Screenshots show dominant gambling promotions and an overlapping closable ad; login fields lack required/autocomplete metadata and error containers lack live-region semantics, while account links use data-href rather than real href. F41 high: Input is assisted, not obstructed: correct autocomplete tokens so address, payment, sign-in and sign-up fields autofill, and inputs are highlighted/sized to help the user rather than trip them up. |
be-trustworthysafe-commercial-and-account-flows | issues | high | Screenshots show dominant gambling promotions and an overlapping closable ad; login fields lack required/autocomplete metadata and error containers lack live-region semantics, while account links use data-href rather than real href. F42 high: Checkout, subscription, consent, authentication and account-management flows are clear, reversible, and proportionate: pricing and commitments are visible, cancellation is findable, sensitive actions re-authenticate when appropriate, and users are not tricked into continuity. |
be-sustainableoptimised-assets | issues | high | HAR recorded 1.98MB on initial load, including 1.36MB across seven advertising media requests; eight muted videos autoplay and 57 below-fold images are not natively lazy-loaded. F43 high: Images and decorative assets are optimised and served at appropriate resolutions; decorative pseudo-element imagery and heavy decorative images are resolution-optimised rather than oversized. |
be-sustainableno-wasteful-work | issues | high | HAR recorded 1.98MB on initial load, including 1.36MB across seven advertising media requests; eight muted videos autoplay and 57 below-fold images are not natively lazy-loaded. F44 high: Background work and fetching are not wasteful: background processing is efficient and de-prioritised, and the lightest technique that achieves the result is preferred over heavy or redundant work. |
be-sustainablethird-party-and-media-budget | issues | high | HAR recorded 1.98MB on initial load, including 1.36MB across seven advertising media requests; eight muted videos autoplay and 57 below-fold images are not natively lazy-loaded. F45 high: Third-party scripts, fonts, video, audio, animation and heavy media are proportionate to the user value they provide; autoplay or background media is avoided unless essential and resource use is cached or deferred where possible. |
be-agent-readystructured-agent-capabilities | not-applicable | high | No developer intent or agent-facing transaction surface was declared. This emerging capability is not expected for this public media catalogue. |
be-agent-readyon-device-inference | not-applicable | high | No summarisation, generation, translation, or other inference task was part of the observed core journey, so on-device inference is not applicable. |
be-memory-efficientno-leak-under-repeated-interaction | pass | medium | After ten real full-page scroll-down/back cycles, heap size was 17.21MB versus 16.83MB baseline (~2.3%); arrays stayed effectively flat (6,170 to 6,169) and closures rose only 49. |
be-memory-efficientbounded-footprint | pass | medium | The content-heavy page retained 16.83MB baseline heap across 265,241 heap nodes, proportionate to its long media catalogue. |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | medium | Neither heap summary listed any Detached* constructor among top constructors, and repeated scrolling produced no material array/closure population growth. |
Provenance
Canonical report: results/atomic/reports/0828-xnhau_vc.json
Report SHA-256: b0885044b2bbe30cbea6ee301109105fa06b78da3261560e3d29c0d5eeff01b0
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/xnhau_vc/2026-07-28T08-19-51-737Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/xnhau_vc/2026-07-28T08-19-51-737Z
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.