Manifest position 179 · CrUX rank bucket 1000

https://rt.pornhub.org

Coverage complete

Coverage-complete report-mode audit. The mandatory age gate limited visual access to post-confirmation states, but rendered DOM and direct route responses remained inspectable and every registered check received a conclusive outcome.

Attempts
1 / 3
Judged checks
58 / 58
Blocked
0
Not run
0
This report has no published overall score. Blocked and not-run checks are not passes. A coverage-complete report means every check has a judged outcome; it does not mean every check passed.

All 58 atomic check outcomes

Principle / checkStatusConfidenceEvidence or reason
respect-user-preferences
respects-color-scheme
issueshighThe default and dark-condition screenshots are byte-identical at 63,768 bytes, and recon found no preference-driven theming. The fixed dark palette is usable but is not driven by the user preference.
F-001 low: The palette is hard-coded rather than preference-driven.
respect-user-preferences
respects-reduced-motion
issueshighThe reduced-motion probe confirmed the preference was active but still found 0.5s transitions on .scrollableBannerContent and #toastMessage, with no reduced-motion override.
F-002 low: Reduced-motion does not suppress non-essential transitions.
respect-user-preferences
respects-contrast
passmediumLighthouse color-contrast passed and the black, white, and orange age-gate controls remain strongly differentiated in desktop and mobile screenshots.
implement-natural-interactions
view-transitions
issuesmediumRecon found no view-transition CSS or API use; route probes show full-document navigation and abrupt age-gate redirects.
F-003 low: Route and state changes have no directional transition cues.
implement-natural-interactions
scroll-driven-animations
not-applicablehighThe audited surfaces do not use parallax, scrollytelling, carousels, or entry/exit reveal motion, so there is no scroll-linked animation to implement off-main-thread.
implement-natural-interactions
physical-gestures
passmediumThe observed list and age gate rely on native scrolling and buttons; no custom pointermove-driven gesture surface was found.
provide-guided-navigation
scroll-state-aware-chrome
issuesmediumThe homepage is a long listing, but recon found no scroll-state query, progress marker, or position-aware navigation chrome.
F-004 low: Long listings provide no scroll-position feedback.
provide-guided-navigation
anchored-positioning
not-applicablehighNo tooltip or edge-sensitive anchored popover was present on the audited first-load and legal-gate surfaces.
provide-guided-navigation
directs-attention
issuesmediumCategories, login, and unknown paths redirect to the homepage without a transition, route-specific heading, or focus cue explaining where attention moved.
F-005 low: Redirected navigation does not explain the resulting location.
maximize-content-reduce-noise
no-intrusive-interruptions
issueshighFirst load stacks a full-screen age gate with a separate three-choice cookie prompt in the accessibility tree before the primary content. The legal gate is expected, but the layered interruption increases first-use friction.
F-006 medium: Multiple first-load notices compete before content.
maximize-content-reduce-noise
semantic-dismissible-primitives
issueshighRecon found 0 dialog, 0 popover, and 0 details elements even though the age gate is a custom div with role=alertdialog and cookie customization is custom div-based UI.
F-007 medium: Custom div overlays replace native dismissible primitives.
maximize-content-reduce-noise
reduced-chrome
issueshighThe listing contains repeated advertising placements and 31 TrafficJunky requests; the probe exposed many repeated “remove ads” controls, so non-content chrome competes heavily with the listing.
F-008 medium: Advertising chrome crowds the content experience.
adapt-to-the-form-factor
responsive-no-horizontal-scroll
issueshighAlthough the layout metric reports no document-level horizontal overflow, the 360px screenshot visibly clips the logo, heading, legal copy, and the two age buttons off the right edge.
F-009 high: The mandatory age gate is visibly clipped on a 360px viewport.
adapt-to-the-form-factor
component-level-responsiveness
issueshighRecon found no container-query CSS, and the reused age-gate component fails to adapt within the narrow viewport.
F-010 medium: Reusable components depend on viewport assumptions rather than their container.
adapt-to-the-form-factor
input-modality-aware
issueshighCookie buttons and search input computed to outline:none/0px when focused, many links measured 15 to 22px high, and the first 30 controls included many navigation links without a visible focus outline.
F-011 high: Keyboard focus is often invisible and many targets are too short.
support-core-task-success
clear-purpose-and-primary-action
passhighThe age gate clearly states that this is an adults-only site and presents explicit enter and exit actions; the detail route exposes a specific H1 in the DOM.
support-core-task-success
primary-flow-completion
issueshighThe categories and /login requests both end at the homepage, while only the query-based detail route retains its URL. The requested flow context is lost before the user can continue through the age gate.
F-012 high: Age-gate routing loses requested listing and sign-in destinations.
support-core-task-success
clear-system-state-and-recovery
issueshighAn unknown path returns a 200 homepage with no not-found state, explanation, or recovery action.
F-013 high: Unknown URLs silently become the homepage.
be-fast-and-stable
good-core-web-vitals
issueshighLighthouse measured LCP 16.8s, FCP 3.0s, and TBT about 80ms; the independent trace measured LCP 4.55s. Both LCP observations exceed the 2.5s good threshold.
F-014 high: Largest Contentful Paint is well outside the good range.
be-fast-and-stable
visual-stability
issueshighThe mobile layout primitive recorded CLS 0.1021 from a shift around 1.2s, just outside the good threshold; three images also lack explicit dimensions.
F-015 medium: The mobile first load shifts after rendering.
be-fast-and-stable
efficient-main-thread
passhighThe trace recorded 0 long tasks and 0ms total blocking time; Lighthouse TBT was about 80ms, and both layout captures observed no long tasks.
be-fast-and-stable
efficient-resource-delivery
issueshighThe page made 172 requests and transferred 5.41MB. The HAR lists seven parser-inserted VeryHigh-priority stylesheets and three high-priority parser scripts as blocking candidates; Lighthouse also failed LCP discovery and dependency-tree insights.
F-016 high: A large blocking network graph delays primary rendering.
be-fast-and-stable
trim-unused-and-duplicate-code
issueshighLighthouse estimated 288KiB unused JavaScript and 74KiB unused CSS; three Google tag scripts account for much of the unused JavaScript.
F-017 medium: The first load ships substantial unused JavaScript and CSS.
be-inclusive
names-roles-labels
issueshighLighthouse found multiple visible ad iframes without titles and a visible-label/accessibility-name mismatch on the header user button. The search input also has no associated label.
F-018 high: Several controls and frames lack reliable accessible names.
be-inclusive
sufficient-contrast
passhighLighthouse color contrast passed with no failing nodes; first-load text and primary controls are visually high contrast.
be-inclusive
structure-and-focus
issueshighThe focus probe found outline:none on cookie actions and search and many navigation links without a visible outline; the age heading is H3 with no visible H1 on home.
F-019 high: Keyboard focus and page structure are inconsistent.
be-inclusive
legible-text
issueshighThe mobile age-gate copy and heading are clipped off the right edge, preventing complete reading of the mandatory notice.
F-020 high: Mandatory text is not fully legible on narrow screens.
be-inclusive
zoom-reflow-targets-and-media
issueshighLighthouse found user-scalable=no/maximum-scale=1 on the mobile document, the screenshot fails reflow, and many interactive targets are only 15 to 22px high.
F-021 high: Zoom is disabled and narrow reflow and target sizing are inadequate.
follow-best-practices
no-console-errors
issueshighA TypeError occurs in setInstallButton when addEventListener is called on null.
F-022 medium: The homepage throws an uncaught JavaScript exception.
follow-best-practices
sound-document-and-assets
issueshighThe document has a valid doctype and UTF-8 charset, but 3 images lack dimensions and Lighthouse reports deprecated media-control CSS usage.
F-023 medium: Asset sizing and deprecated media styling weaken document hygiene.
follow-best-practices
browser-platform-hygiene
issueshighLighthouse reports deprecated unload listeners, inspector issues, and four BFCache failure reasons including the unload handler and cache-control:no-store.
F-024 medium: Deprecated APIs and avoidable BFCache blockers remain.
be-discoverable
title-and-description
issueshighAll tested paths use the generic title “Pornhub” and no meta description, including the detail page with a specific H1.
F-025 high: Public pages lack unique descriptive titles and descriptions.
be-discoverable
crawlable-and-mobile-friendly
issueshighThe page declares noindex,nofollow, Lighthouse found javascript:void(0) anchors, and /robots.txt returns the full HTML page rather than valid robots directives.
F-026 high: Crawler directives and links prevent reliable discovery.
be-discoverable
canonical-and-indexing-signals
issueshighThe detail page canonical points to the homepage, listing and unknown paths redirect to the homepage with 200, every page is noindex, and /sitemap.xml returns 404.
F-027 high: Canonical, status, robots, and sitemap signals conflict.
be-discoverable
structured-and-shareable-metadata
issueshighRecon found no JSON-LD and no Open Graph metadata; the detail route exposes a rich video entity only in visible DOM.
F-028 medium: Video detail pages lack structured and share-preview metadata.
be-private-and-secure
secure-transport-and-headers
issueshighHTTPS and HSTS are present and no client secrets were detected, but CSP and X-Content-Type-Options are missing and cookie rp is not Secure.
F-029 high: Transport is HTTPS but key browser defenses and one cookie flag are missing.
be-private-and-secure
data-minimisation-and-third-parties
issueshighBefore consent resolution, the load contacted 12 third-party origins, including Google Tag Manager and DoubleClick; 101 third-party requests transferred 2.26MB.
F-030 high: A large tracking footprint loads before the user resolves consent.
be-private-and-secure
in-context-permissions-and-modern-auth
passmediumNo geolocation or notification prompt appeared on load, and the DOM contains a passkey continuation surface for sign-in.
be-private-and-secure
defensive-browser-policies
issueshighCSP, Referrer-Policy, Permissions-Policy, and nosniff are missing; seven cookies use SameSite=None and rp is not Secure. HSTS and X-Frame-Options are present.
F-031 high: The response omits several browser-enforced defenses.
be-resilient
progressive-enhancement
issueshighThe server sends substantial HTML and is not a JS shell, but only 45% of rendered content words overlap raw HTML and no H1 survives as a crawler-visible heading.
F-032 medium: Core server HTML only partially represents the rendered page.
be-resilient
resilient-runtime-behaviour
issueshighThe age gate clips on a narrow viewport and the homepage throws while binding an install button, showing that layout and initialization are not robust to the current state.
F-033 high: Mandatory UI and initialization fail under realistic states.
be-resilient
offline-and-installable
not-applicablehighThis is a streaming media site whose core playback is intrinsically online. A service worker surface exists, but offline playback/installability is not required for the audited public journey.
be-resilient
network-and-http-failure-states
issueshighThe unknown route silently returns a 200 homepage with no error explanation, retry, search, or preserved path.
F-034 high: HTTP failure states are replaced by misleading success.
be-internationalised
lang-dir-and-logical-properties
issueshighThe document correctly uses lang=ru, but the probe found 0 logical-property tokens versus 181 physical left/right tokens, and visible legal/consent UI mixes English and Russian.
F-035 medium: Language is mixed and layout styling is not writing-mode resilient.
be-internationalised
locale-aware-data
passmediumThe detail route renders relative time in Russian (“9 лет назад”) and compact localized counts; no currency or calendar input was present.
be-internationalised
time-zone-correctness
not-applicablehighNo scheduled event, absolute date/time input, recurring interval, or time-zone-sensitive transaction appears in the representative paths.
be-trustworthy
no-dark-patterns
issueshighThe interface offers an essential-only choice, but analytics and advertising trackers are already active while the consent prompt is still visible, so the stated choice does not precede collection.
F-036 high: Tracking begins before the consent choice can take effect.
be-trustworthy
humane-error-handling
not-applicablehighNo user-editable form with validation requirements was exposed in the representative unauthenticated paths; search has no required/invalid state to exercise.
be-trustworthy
trustworthy-input-assistance
issueshighThe visible search input has autocomplete=off and no associated label, reducing browser assistance and clarity.
F-037 medium: Search disables assistance and lacks a persistent label.
be-trustworthy
safe-commercial-and-account-flows
not-applicablehighNo checkout, subscription, cancellation, account-management, or authenticated sensitive action was reachable in the representative unauthenticated scope; /login redirected to home before exposing the account flow.
be-sustainable
optimised-assets
issueshighOf 37 images, 33 lack srcset, 20 use legacy formats, and 3 lack dimensions. Image transfers totaled 1.27MB on first load.
F-038 medium: Most images lack responsive modern delivery.
be-sustainable
no-wasteful-work
issueshighThe page performs 172 requests, including 101 third-party requests, while Lighthouse estimates 288KiB unused JavaScript and 74KiB unused CSS.
F-039 high: The first load performs substantial work unrelated to immediate content.
be-sustainable
third-party-and-media-budget
issueshighThird parties account for 2.26MB and 101 requests, including 31 TrafficJunky requests and multiple Google analytics/tag requests, before primary interaction.
F-040 high: Third-party cost is disproportionate on the first view.
be-agent-ready
structured-agent-capabilities
not-applicablehighThis public media listing does not expose a safe transactional or productivity capability that agents need to invoke; agent tool registration is not expected for this scope.
be-agent-ready
on-device-inference
not-applicablehighNo summarization, translation workflow, or other inference task is central to the audited first-load and playback-discovery journey.
be-memory-efficient
no-leak-under-repeated-interaction
passmediumThe post snapshot grew from 38.78MB/587,675 nodes to 40.08MB/597,670 nodes, about 3.4% size and 1.7% node growth. This single pair does not show unbounded retained growth.
be-memory-efficient
bounded-footprint
passmediumThe first-load snapshot is 38.78MB and the runtime probe reports about 29.5MB used JS heap with 1,426 live DOM elements, proportionate to a media listing with ads.
be-memory-efficient
no-detached-dom-or-unbounded-listeners
passlowNeither summary reports a Detached* constructor among retained constructor groups, and the ten-cycle comparison showed only modest aggregate growth. Listener internals were not directly exposed, so confidence is low.

Provenance

Canonical report: results/atomic/reports/0179-rt_pornhub_org.json
Report SHA-256: c6a51beac873c16ebd0ed7716a0c223dbed31067b414ac9bfe07ef164dae8195
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/rt_pornhub_org/2026-07-18T23-27-01-752Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/rt_pornhub_org/2026-07-18T23-27-01-752Z
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.