Manifest position 89 · CrUX rank bucket 1000
https://www.24h.com.vn
Coverage complete
Coverage-complete representative audit of homepage, section listing and article templates.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | The dark-mode screenshot is visually identical to the light capture: white content and consent surfaces remain unchanged under prefers-color-scheme: dark. F01 medium: The site does not adapt to the user’s dark color preference. |
respect-user-preferencesrespects-reduced-motion | issues | high | The reduced-motion probe matched prefers-reduced-motion: reduce, found no matching CSS rule, and still found two running 700 ms animations. F02 medium: Animations continue when reduced motion is requested. |
respect-user-preferencesrespects-contrast | pass | high | Lighthouse identified ordinary contrast failures (reported separately) but controls and text remained present and distinguishable in the dark/default captures; no forced-color-hidden control was observed. |
implement-natural-interactionsview-transitions | issues | high | The platform probe found zero view-transition rules across the rendered homepage styles; navigation is a conventional full-document swap. F03 low: Primary page changes are abrupt and do not use View Transitions. |
implement-natural-interactionsscroll-driven-animations | pass | high | The CSS probe found no scroll timelines, and screenshots/recon found no parallax or scroll-linked animation that would require a declarative replacement. |
implement-natural-interactionsphysical-gestures | pass | high | The representative reading pages use native document scrolling and ordinary anchors; no custom pointer-move gesture or scroll hijacking was observed in DOM/recon. |
provide-guided-navigationscroll-state-aware-chrome | issues | high | The homepage/article screenshots show fixed dense chrome and floating controls, while CSS inspection found no container scroll-state or declarative scroll timeline support. F04 low: Long news pages provide static rather than scroll-state-aware navigation. |
provide-guided-navigationanchored-positioning | not-applicable | high | No first-party tooltip, popover, or viewport-edge anchored overlay was present in the representative news templates; the consent overlay is assessed as a dialog. |
provide-guided-navigationdirects-attention | pass | high | The article template exposes breadcrumbs, section context, a prominent article heading and persistent return/top controls, giving a visible orientation trail. |
maximize-content-reduce-noiseno-intrusive-interruptions | issues | high | Every entry capture shows a full-page consent interruption. At 360×800, its fixed 512 px panel is mostly off-screen to the right and the consent/refusal controls are not visible in the initial viewport. F05 critical: The consent interstitial blocks all content and breaks at the mobile viewport. |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | DOM inspection reported zero dialog and popover elements while the screenshots show a modal overlay that blocks the page. F06 medium: The consent overlay is not exposed as a native dialog. |
maximize-content-reduce-noisereduced-chrome | issues | high | Desktop and article screenshots devote substantial space to two navigation rows, floating home/up buttons and a full overlay before the article can be read. F07 medium: Dense navigation, floating controls, social modules and consent chrome compete with the news content. |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | issues | high | At 360×800 the layout primitive measured scrollWidth 1080 against clientWidth 360, 720 px horizontal overflow. The screenshot shows the page and consent controls clipped off-screen. F08 critical: The desktop layout is forced into the mobile viewport. |
adapt-to-the-form-factorcomponent-level-responsiveness | issues | high | CSS inspection found zero container queries, while the narrow capture retained a 1080 px desktop composition and clipped cards/overlay. F09 medium: Reusable story and navigation components do not adapt to their containers. |
adapt-to-the-form-factorinput-modality-aware | issues | high | The focused first link computed to outline-style none, Lighthouse failed target-size, and the probe found a 130×16 input plus many zero-sized hidden controls in the active consent DOM. F10 high: Focus visibility and target sizing are insufficient. |
support-core-task-successclear-purpose-and-primary-action | issues | high | Every entry capture shows a full-page consent interruption. At 360×800, its fixed 512 px panel is mostly off-screen to the right and the consent/refusal controls are not visible in the initial viewport. F05 critical: The consent interstitial blocks all content and breaks at the mobile viewport. |
support-core-task-successprimary-flow-completion | issues | high | The homepage, section and article all open behind consent; at 360 px the decision buttons are outside the initial visible panel because the overlay is clipped. F11 high: Reading a story is blocked on mobile by an unreachable consent decision. |
support-core-task-successclear-system-state-and-recovery | pass | high | The server returned a real HTTP 404 for a nonexistent route rather than a misleading success response; the consent dialog presents explicit manage/accept/refuse choices on desktop. |
be-fast-and-stablegood-core-web-vitals | issues | high | Lighthouse measured LCP at 18.3 s (performance 0.61); the trace independently measured LCP at 4.02 s under a different desktop run, still above the 2.5 s good threshold. F12 high: Largest Contentful Paint is far outside the good range. |
be-fast-and-stablevisual-stability | pass | high | The mobile layout observer measured CLS 0.0047 and Lighthouse measured CLS 0.009, both within the good range. |
be-fast-and-stableefficient-main-thread | issues | high | Lighthouse reported 3.2 s main-thread work and 190 ms TBT; the separate trace had no >50 ms tasks, indicating cumulative scripting rather than one isolated stall. F15 medium: Main-thread work is excessive even though measured blocking bursts were modest. |
be-fast-and-stableefficient-resource-delivery | issues | high | HAR recorded 143 requests and 4,437,907 transferred bytes; 140 requests and 4,340,098 bytes were classified third-party, including parser-inserted advertising scripts. F13 high: The initial page has a heavy, third-party-dominated dependency graph. |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | Lighthouse estimated 949 KiB of unused JavaScript and 48 KiB of legacy JavaScript; HAR shows 1.47 MB transferred script bytes. F14 high: Large amounts of unused and legacy JavaScript are shipped. |
be-inclusivenames-roles-labels | issues | high | The image audit found 42 images without alt text; the DOM probe found 47 anchors with no text, aria-label, or named image; Lighthouse failed image-alt and link-name. F16 high: Many links and images have no usable accessible name. |
be-inclusivesufficient-contrast | issues | high | Lighthouse’s color-contrast audit failed on the rendered homepage. F17 high: Text fails minimum color contrast. |
be-inclusivestructure-and-focus | issues | high | Lighthouse failed heading-order; the DOM contains empty H1/H2 nodes from the consent UI and the focused first link had outline-style none. F18 high: Heading structure and keyboard focus are not reliable. |
be-inclusivelegible-text | issues | high | At 360×800 the layout primitive measured scrollWidth 1080 against clientWidth 360, 720 px horizontal overflow. The screenshot shows the page and consent controls clipped off-screen. F08 critical: The desktop layout is forced into the mobile viewport. |
be-inclusivezoom-reflow-targets-and-media | issues | high | Lighthouse failed meta-viewport and target-size; the viewport specifies maximum-scale=1.0, and the mobile layout overflows by 720 px. F19 high: Viewport scaling and reflow do not provide an inclusive narrow-screen experience. |
follow-best-practicesno-console-errors | issues | high | Lighthouse failed the errors-in-console audit on the homepage. F20 medium: The page logs browser errors during load. |
follow-best-practicessound-document-and-assets | issues | high | Although doctype and UTF-8 are valid, 99 of 100 inspected images lacked explicit dimensions and 43 were oversized for display. F21 medium: Image markup is structurally weak and wastes bytes. |
follow-best-practicesbrowser-platform-hygiene | issues | high | Lighthouse reported one deprecated API warning and failed inspector-issues. F22 medium: Deprecated APIs and DevTools inspector issues remain. |
be-discoverabletitle-and-description | pass | high | Homepage and article provide descriptive titles and meta descriptions; raw-HTML discoverability confirmed both title and description survive without JavaScript. |
be-discoverablecrawlable-and-mobile-friendly | issues | high | Lighthouse failed crawlable-anchors; DOM recon found a javascript:void(0) anchor and 47 unnamed anchors. The mobile viewport is also not usable despite a viewport meta tag. F23 medium: Some links are not crawlable or descriptively named. |
be-discoverablecanonical-and-indexing-signals | pass | high | Homepage has a canonical URL, HTTP 200, index/follow robots meta, robots.txt allows crawling and points to sitemap-index.xml; article raw fetch also returned 200. |
be-discoverablestructured-and-shareable-metadata | pass | high | Homepage probe found JSON-LD and Open Graph title; article DOM/raw HTML expose the article title and descriptive metadata. |
be-private-and-securesecure-transport-and-headers | issues | high | Headers found no CSP, HSTS, nosniff, clickjacking, Referrer-Policy or Permissions-Policy. All eight observed first-party cookies lacked Secure and used SameSite=None; several analytics/consent cookies last 390–400 days. F24 high: Transport is HTTPS but security headers and cookie attributes are unsafe. |
be-private-and-securedata-minimisation-and-third-parties | issues | high | Tracker capture found 39 third-party origins and 12 known tracker domains. HAR classified 140 of 143 requests and 4.34 MB as third-party-origin traffic. F25 high: The page exposes users to an unusually broad advertising/tracking surface. |
be-private-and-securein-context-permissions-and-modern-auth | not-applicable | high | No authentication flow or browser permission request is part of the representative public news-reading journey. |
be-private-and-securedefensive-browser-policies | issues | high | Headers found no CSP, HSTS, nosniff, clickjacking, Referrer-Policy or Permissions-Policy. All eight observed first-party cookies lacked Secure and used SameSite=None; several analytics/consent cookies last 390–400 days. F24 high: Transport is HTTPS but security headers and cookie attributes are unsafe. |
be-resilientprogressive-enhancement | pass | high | Discoverability captured substantial server HTML: 79% homepage and 53% article rendered tokens were present without JavaScript; neither page was a JS shell and article H1 survived. |
be-resilientresilient-runtime-behaviour | issues | high | The same consent component remains fixed-width and clipped on homepage and article at 360×800, placing recovery/decision controls outside the visible region. F26 high: The blocking consent runtime is not resilient at narrow viewports. |
be-resilientoffline-and-installable | not-applicable | high | This MPA news publication is content-focused rather than an installable app; offline installability is not required for the scoped reading journey. |
be-resilientnetwork-and-http-failure-states | pass | high | A nonexistent route returns HTTP 404 with an HTML document rather than a blank shell or false 200. |
be-internationalisedlang-dir-and-logical-properties | pass | high | The root document declares lang="vi" and Vietnamese content reads in the expected left-to-right direction. |
be-internationalisedlocale-aware-data | not-applicable | high | The site is deliberately Vietnamese-only and the audited templates contain no user-entered currency/calendar data requiring locale switching. |
be-internationalisedtime-zone-correctness | not-applicable | high | No scheduling or cross-time-zone event flow appears in the audited news templates. |
be-trustworthyno-dark-patterns | pass | high | Desktop consent presents equally prominent “Do not consent” and “Consent” actions plus manage options; no confirmshaming or disguised action was observed. |
be-trustworthyhumane-error-handling | not-applicable | high | No user form was present on the homepage, section, or article templates. |
be-trustworthytrustworthy-input-assistance | not-applicable | high | No sign-in, address, payment, or data-entry form was present in the scoped templates. |
be-trustworthysafe-commercial-and-account-flows | not-applicable | high | No checkout, subscription, authentication, or account-management flow was present in scope. |
be-sustainableoptimised-assets | issues | high | Of 100 images, 43 were oversized, 75 lacked srcset, 42 used legacy formats and 93 below-fold images were not marked lazy. F27 high: Images are broadly unoptimised for their display contexts. |
be-sustainableno-wasteful-work | issues | high | Tracker capture found 39 third-party origins and 12 known tracker domains. HAR classified 140 of 143 requests and 4.34 MB as third-party-origin traffic. HAR transferred 4.44 MB across 143 requests, with 4.34 MB classified third-party; scripts alone were 1.47 MB and images 2.70 MB. F25 high: The page exposes users to an unusually broad advertising/tracking surface. F28 high: Advertising and third-party media dominate the page budget. |
be-sustainablethird-party-and-media-budget | issues | high | HAR transferred 4.44 MB across 143 requests, with 4.34 MB classified third-party; scripts alone were 1.47 MB and images 2.70 MB. F28 high: Advertising and third-party media dominate the page budget. |
be-agent-readystructured-agent-capabilities | not-applicable | high | The audited public news templates expose content rather than transactional capabilities; WebMCP tools are not applicable to this scope. |
be-agent-readyon-device-inference | not-applicable | high | No summarisation or generative feature is offered, so on-device inference is not required for the current product surface. |
be-memory-efficientno-leak-under-repeated-interaction | pass | high | After ten full-page down/up cycles, heap grew only 320,667 bytes (1.14%) and node count 3,529 (0.73%); Array/Object/Promise counts were flat or lower, not an unbounded-growth signal. |
be-memory-efficientbounded-footprint | pass | high | Baseline heap summary was 28.16 MB across 480,243 nodes for a media-heavy page; large but proportionate to the 100-image, advertising-heavy document, with no single abnormal JS constructor dominating. |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | high | Before/after constructor summaries showed stable Array, Object, Promise and closure populations (closures +33, 0.13%) and no Detached* constructor among top retained objects. |
Provenance
Canonical report: results/atomic/reports/0089-www_24h_com_vn.json
Report SHA-256: 60172cd91b4f3a20d213a788f54f5ee4cc3a2a21114fa322c093d2a017d84dd2
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_24h_com_vn/2026-07-18T08-06-43-728Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_24h_com_vn/2026-07-18T08-06-43-728Z
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.