Manifest position 852 · CrUX rank bucket 1000
https://cn.pornhub.com
Coverage complete
Coverage-complete audit of the age gate, post-confirmation browse surface, representative detail page, direct route/recovery behaviour and cross-cutting security/performance/accessibility conditions.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | medium | Under emulated dark preference the body remains fixed black and computed `color-scheme` is `normal`; there is no adaptive color-scheme declaration. F01 low: The page does not declare or respond to the user color scheme |
respect-user-preferencesrespects-reduced-motion | pass | medium | Reduced-motion emulation matched and the page exposed no active animations; no nonessential motion or auto-advance was observed on the gate. |
respect-user-preferencesrespects-contrast | pass | medium | Forced-colors/high-contrast probe showed visible white controls and yellow links on black with preserved borders; Lighthouse did not fail color contrast. |
implement-natural-interactionsview-transitions | issues | medium | DOM probes found the View Transition API available but no view-transition CSS or authored transition use on homepage/detail surfaces. F02 low: Route and state changes do not use View Transitions |
implement-natural-interactionsscroll-driven-animations | not-applicable | high | No scroll-linked animation, parallax or reveal interaction was present on the audited surfaces, so implementation technique does not apply. |
implement-natural-interactionsphysical-gestures | not-applicable | high | No swipe, pull, drag, carousel gesture or equivalent physical interaction was present in the audited guest journeys. |
provide-guided-navigationscroll-state-aware-chrome | issues | medium | The rendered CSS/DOM probe found no scroll-state/container-query or progress treatment on the long browse surface. F03 low: Navigation chrome is not scroll-state aware |
provide-guided-navigationanchored-positioning | not-applicable | high | No tooltip, anchored menu or edge-positioned popover was present in the representative paths. |
provide-guided-navigationdirects-attention | issues | high | Direct tests of `/video`, `/categories`, search, login and an unknown URL all resolved to the homepage without route-specific heading or recovery message. F04 medium: Several visible navigation destinations do not preserve route context |
maximize-content-reduce-noiseno-intrusive-interruptions | pass | medium | The blocking age notice is necessary to the site purpose and provides explicit enter/exit choices; the cookie surface includes essential-only and customise options. |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | DOM inspection found zero `<dialog>` and zero popover elements while a blocking age gate and cookie controls are presented. F05 medium: The age and cookie overlays use custom containers instead of semantic top-layer primitives |
maximize-content-reduce-noisereduced-chrome | pass | medium | Desktop screenshot shows a focused legal decision surface with minimal decorative chrome. |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | issues | high | The 360x800 screenshot cuts off the heading, body text, law-enforcement link and the second decision button; layout reports no horizontal scrolling, so clipped content cannot be reached sideways. F06 critical: The mandatory age gate is clipped on a 360px viewport |
adapt-to-the-form-factorcomponent-level-responsiveness | issues | high | At 360px, fixed/minimum control sizing produces clipped copy and side-by-side decision controls; probes found no container-query support. F07 medium: The age-gate component does not adapt to its narrow container |
adapt-to-the-form-factorinput-modality-aware | issues | high | Lighthouse found visible-label/accessibility-name mismatches, while the mobile gate clips a primary button and several computed focused controls rely on minimal/default outlines. F08 medium: Focus and touch support are inconsistent |
support-core-task-successclear-purpose-and-primary-action | pass | medium | The first viewport clearly states that this is an adult site and exposes explicit over-18 enter and under-18 exit decisions. |
support-core-task-successprimary-flow-completion | pass | medium | Programmatic activation of the over-18 control revealed homepage navigation and working links to representative content, including a detail page. |
support-core-task-successclear-system-state-and-recovery | issues | high | The synthetic 404, `/video`, `/categories`, search and `/login` probes all landed on the generic homepage, with no not-found, loading or recovery explanation. F09 high: Unknown and route-specific URLs fail without an explanatory state |
be-fast-and-stablegood-core-web-vitals | issues | high | Lighthouse measured LCP 6.51s and CLS 0.887 (performance score 0.45); the independent trace measured LCP 5.39s. F10 high: Core Web Vitals are poor on the entry experience |
be-fast-and-stablevisual-stability | issues | high | Lighthouse measured CLS 0.887 and the mobile layout observer independently recorded a 0.101 shift at about 4.25s. F11 high: The page shifts substantially during load |
be-fast-and-stableefficient-main-thread | pass | medium | Trace measured zero long tasks and zero blocking time; Lighthouse TBT was 34ms. |
be-fast-and-stableefficient-resource-delivery | issues | high | The HAR captured 172 requests and 5.94MB transferred, including seven parser-inserted high-priority stylesheets and multiple parser-inserted scripts requiring deferral review. F12 high: The critical delivery path is heavy and has many blocking candidates |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | The HAR records 39 scripts (663KB) and 101 third-party requests (2.32MB), including about 303KB from Tag Manager scripts. F13 medium: Third-party and script payloads dominate a large load |
be-inclusivenames-roles-labels | issues | high | Lighthouse failed iframe-title and visible-label/name matching; the detail probe found multiple unlabeled text, checkbox and textarea controls. F14 high: Some controls and embedded content lack robust accessible names |
be-inclusivesufficient-contrast | pass | medium | Forced-colors probe preserved control/text contrast, and Lighthouse did not report a WCAG color-contrast failure. |
be-inclusivestructure-and-focus | issues | high | Lighthouse reports invalid html lang and label/name issues; the homepage begins with empty/H3 headings rather than a logical H1, and custom overlays are not semantic dialogs. F15 medium: Document language, heading structure and focus semantics are inconsistent |
be-inclusivelegible-text | issues | high | The mobile screenshot visibly clips multiple lines at both edges and truncates the primary heading and link text. F16 critical: Age-gate text is not legible in the narrow viewport |
be-inclusivezoom-reflow-targets-and-media | issues | high | Lighthouse reports `user-scalable=no` or a maximum scale below 5, and the 360px screenshot shows clipped legal copy and actions. F17 high: Viewport scaling is restricted and narrow reflow fails |
follow-best-practicesno-console-errors | issues | high | Lighthouse failed `errors-in-console` during the audited load. F18 medium: The page logs browser errors |
follow-best-practicessound-document-and-assets | issues | high | The image probe found 3 images without dimensions, 33 without responsive sources and 16 legacy-format assets; Lighthouse also reported two deprecated-API warnings. F19 medium: Document and asset hygiene has avoidable defects |
follow-best-practicesbrowser-platform-hygiene | issues | high | Lighthouse found two deprecation warnings, inspector issues and four back/forward-cache failure reasons. F20 medium: Deprecated APIs, inspector issues and BFCache blockers remain |
be-discoverabletitle-and-description | issues | high | The homepage and representative detail page both report title `Pornhub`; probes found no meta description on rendered pages, so the detail is not uniquely described. F21 high: Public pages use generic metadata |
be-discoverablecrawlable-and-mobile-friendly | issues | high | Lighthouse found non-crawlable anchors and 4,071 robots.txt parse errors; 18 visible homepage links use `javascript:` and `/robots.txt` redirects to the HTML homepage. F22 high: Crawlability signals are broken |
be-discoverablecanonical-and-indexing-signals | issues | high | The detail page canonical points to the homepage, rendered robots is `noindex, nofollow`, there are no hreflang links, and sitemap.xml returns 404. F23 high: Localized/detail pages expose contradictory indexing signals |
be-discoverablestructured-and-shareable-metadata | issues | high | The metadata probe found no JSON-LD, Open Graph, Twitter Card or hreflang entries on the representative video page. F24 medium: The content detail has no structured or social metadata |
be-private-and-securesecure-transport-and-headers | issues | high | HTTPS and HSTS are present, but CSP and X-Content-Type-Options are missing; cookie audit flags `rp` as not Secure and all seven cookies as SameSite=None. F25 high: Security headers and one cookie posture are incomplete |
be-private-and-securedata-minimisation-and-third-parties | issues | high | Tracker evidence found 12 third-party origins including Tag Manager and DoubleClick; the HAR records 101 third-party requests and 2.32MB transferred while the consent UI is present. F26 high: The first load has a large tracking and advertising footprint |
be-private-and-securein-context-permissions-and-modern-auth | issues | high | The visible login destination and direct `/login` test resolve to the generic homepage, and the inspected DOM contains no WebAuthn/passkey affordance. F27 medium: The account entry path does not expose a verifiable modern-auth flow |
be-private-and-securedefensive-browser-policies | issues | high | Headers show no CSP/frame-ancestors policy, no Referrer-Policy, no Permissions-Policy and no X-Content-Type-Options; X-Frame-Options and HSTS are present. F28 high: Defensive browser policies are incomplete |
be-resilientprogressive-enhancement | issues | high | Discoverability measured only 31% raw/rendered word overlap on home and 20% on detail; the age confirmation button requires JavaScript to reveal the primary experience. F29 high: Core browse content is only partially available without JavaScript |
be-resilientresilient-runtime-behaviour | issues | high | At 360px the age gate clips mandatory text and an exit decision, with no horizontal recovery. F30 critical: The blocking overlay fails at a common adverse viewport |
be-resilientoffline-and-installable | not-applicable | high | This public media/content site was judged not to be an installable app; offline media playback is not required for the representative web journey. |
be-resilientnetwork-and-http-failure-states | issues | high | A synthetic unknown route resolves to the generic homepage rather than a useful 404/recovery state, while sitemap.xml returns a bare openresty 404. F31 high: HTTP and missing-route recovery is not intentional |
be-internationalisedlang-dir-and-logical-properties | issues | high | The document reports `lang="cn"`; Lighthouse fails html-lang-valid. `cn` is a region code, not the BCP 47 language code for Chinese. F32 high: The Chinese locale uses an invalid language tag |
be-internationalisedlocale-aware-data | not-applicable | high | No user-facing dates, currencies, durations or locale-sensitive numeric data appeared in the representative guest paths. |
be-internationalisedtime-zone-correctness | not-applicable | high | No event scheduling, recurring time or cross-zone time data appeared in the representative paths. |
be-trustworthyno-dark-patterns | issues | high | Visible nav labels such as LIVE CAMS and DATING 18+ point to TrafficJunky advertising URLs, while tracker evidence shows Google/DoubleClick activity during the initial consent/age surface. F33 high: Advertising destinations are disguised as primary navigation and tracking starts on the consent surface |
be-trustworthyhumane-error-handling | issues | high | The detail probe found unlabeled text, checkbox and textarea fields; accessible error association cannot be reliable without names/labels. F34 medium: Interactive forms do not consistently expose humane, accessible validation |
be-trustworthytrustworthy-input-assistance | issues | high | The primary search field sets autocomplete off, and detail controls lack labels/autocomplete semantics. F35 medium: Input assistance is disabled or absent |
be-trustworthysafe-commercial-and-account-flows | issues | high | The visible login link/direct `/login` journey resolves to the homepage, hiding authentication requirements and recovery until a script-driven state is found. F36 high: The account flow has no stable, inspectable entry route |
be-sustainableoptimised-assets | issues | high | Image inspection found 33 of 37 images without srcset, 16 legacy-format assets, 3 missing dimensions and 2 below-fold images not lazy-loaded. F37 medium: Image delivery is not consistently responsive or modern |
be-sustainableno-wasteful-work | issues | high | The HAR captures 172 requests including 38 fetch/XHR requests and 101 third-party requests during a gate/consent-first experience. F38 high: The first view performs substantial background/network work |
be-sustainablethird-party-and-media-budget | issues | high | Third parties account for 101 requests and 2.32MB; advertising image origins and Tag Manager are among the largest contributors. F39 high: Third-party resource cost is disproportionate on the entry surface |
be-agent-readystructured-agent-capabilities | not-applicable | high | This public adult-media browse experience does not declare an agent-facing capability or agentic-commerce intent; emerging WebMCP exposure is therefore not required. |
be-agent-readyon-device-inference | not-applicable | high | No summarisation, language-model or other inference feature is part of the representative journey, so on-device inference is not applicable. |
be-memory-efficientno-leak-under-repeated-interaction | pass | medium | Across baseline and post-interaction heap summaries after ten repeated scroll cycles, self size grew about 0.55MB (1.5%) and node count about 0.34%, not evidence of unbounded growth. |
be-memory-efficientbounded-footprint | issues | high | Baseline heap summary reports 557,496 nodes and 36.86MB self size for a gated browse page. F40 medium: The entry page has a large in-memory footprint before sustained use |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | medium | No Detached* constructor appeared in either top-constructor summary; closures increased only 103 and overall nodes remained nearly stable after repeated interaction. |
Provenance
Canonical report: results/atomic/reports/0852-cn_pornhub_com.json
Report SHA-256: 4a05a2aa6bce082ba90c13c223e0017ace8e9d1daca47a3f9a66ff76c9b8daf1
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/cn_pornhub_com/2026-07-23T10-31-57-425Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/cn_pornhub_com/2026-07-23T10-31-57-425Z
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.