Manifest position 777 · CrUX rank bucket 1000
https://de.pornhub.com
Coverage complete
Coverage-complete guest-path audit. Listing, category, search, and invalid paths redirected to the homepage; authenticated, upload, subscription, and account-management flows were not covered.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | Light and dark captures are byte-identical (123,680 bytes), and the rendered CSS probe found no prefers-color-scheme rule. The site forces one dark palette instead of following the user setting. F-01 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 | On the detail page, prefers-reduced-motion: reduce matched, but two 1,500 ms animations remained running and no reduced-motion rule was present. F-02 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 | pass | high | Forced-colors capture kept all gate text and controls visible; Lighthouse contrast passed. |
implement-natural-interactionsview-transitions | issues | high | The cross-path CSS probe found no view-transition rules, and route/listing requests swap or redirect abruptly. F-03 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 | pass | high | No scroll-linked animation was observed and the CSS probe found no main-thread scroll animation implementation. |
implement-natural-interactionsphysical-gestures | pass | high | The audited feed uses native scrolling; no custom pointer-driven gesture that fights the platform was observed. |
provide-guided-navigationscroll-state-aware-chrome | issues | high | DOM/CSS inspection found no scroll-state query, progress indicator, or position-aware header behavior on the long feed. F-04 low: 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 | pass | high | No tooltip or edge-positioned popover was present in the exercised guest path, and no detached menu drift was observed. |
provide-guided-navigationdirects-attention | issues | high | The listing, categories, search, and invalid-route probes all ended at the homepage without an explanatory state or attention cue. F-05 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 | pass | high | The entry interruption communicates a legally relevant age decision with clear enter and exit actions; it is task-relevant rather than promotional. |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | The gate is exposed only as role=dialog; DOM inspection found zero native dialog, popover, or details elements. Focus remained on a background link after activation. F-06 medium: 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 | The homepage loaded 31 TrafficJunky image-ad requests and 100 third-party requests; ad iframes are interleaved throughout the content feed, reducing content density. F-07 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 | issues | high | At 360x800, the mandatory age gate is visibly clipped on both sides: its heading, notice control, explanatory copy, and under-18 action extend beyond the visible area. The page clips rather than reporting document overflow. F-08 critical: Layout adapts to narrow viewports with no horizontal overflow and no fixed pixel widths forcing a desktop layout on mobile; viewport meta present; fluid scaling and intrinsic sizing rather than brittle breakpoints. |
adapt-to-the-form-factorcomponent-level-responsiveness | issues | high | CSS inspection across homepage and detail found no container queries; the fixed-width gate does not adapt to its narrow containing viewport. F-09 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 probe found 87 visible targets below 24 px and focused the first link with outline:none and no box shadow. F-10 high: 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 | pass | high | The first viewport clearly states that this is an adult site and presents explicit over-18 entry and under-18 exit actions. |
support-core-task-successprimary-flow-completion | pass | high | The over-18 control activated and exposed the next cookie-choice state without a dead-end. |
support-core-task-successclear-system-state-and-recovery | issues | high | Listing, categories, search, and a deliberately invalid route silently resolved to the homepage, with no error, empty, or recovery explanation. F-11 medium: 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 | Lighthouse measured LCP 7.2 s and CLS 0.965 (performance 47). The independent trace measured LCP 2.93 s, showing variability, while the Lighthouse result is far outside good thresholds. F-12 critical: 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 | Lighthouse measured CLS 0.965; the independent desktop layout observer also captured CLS 0.0618 from a late shift around 2.06 s. F-13 critical: No cumulative layout shift from late content (images, banners, fonts) that arrives without reserved space. |
be-fast-and-stableefficient-main-thread | pass | high | Trace reported zero long tasks and 0 ms total blocking time; Lighthouse TBT was 30 ms. |
be-fast-and-stableefficient-resource-delivery | issues | high | HAR captured 171 requests and 5.43 MB transferred, with many parser-inserted VeryHigh-priority stylesheets and 100 third-party requests. F-14 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 | The gate/homepage loaded 39 scripts and 11 stylesheets before the primary content, while third parties transferred 2.03 MB. F-15 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 | axe reported 30 serious frame-title violations and 116 region violations; detail inspection also found an image without alt and an unlabeled textarea. F-16 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 | pass | high | Lighthouse contrast passed and forced-colors capture preserved visible text and controls. |
be-inclusivestructure-and-focus | issues | high | The homepage has no h1 and only a header landmark; the first focused link had no visible outline, and focus stayed on a background Notice link during the gate flow. F-17 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 | The 360 px screenshot shows mandatory gate copy and heading cropped at both edges, making sentences and actions unreadable. F-18 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 | The narrow reflow capture clips essential controls; 87 targets were under 24 px. The detail page exposed videos with no caption/subtitle tracks in the DOM. F-19 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 captured an uncaught TypeError in setInstallButton while reading addEventListener from null. F-20 medium: The page loads without console errors or uncaught exceptions. |
follow-best-practicessound-document-and-assets | issues | high | The image audit found 3 images without dimensions, 33 without srcset, and 21 legacy-format assets; the page did include a valid viewport and document. F-21 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 | pass | high | No notification prompt appeared on load, viewport metadata is valid, and the observed best-practice failure was isolated to the separately reported console exception. |
be-discoverabletitle-and-description | issues | high | The homepage and detail both use the generic title Pornhub; probes found no meta description, and the homepage has no h1. F-22 high: The page has a unique, descriptive <title> and a meta description. |
be-discoverablecrawlable-and-mobile-friendly | issues | high | The probe counted 36 non-crawlable/javascript links; Lighthouse failed crawlable anchors, and the mobile gate is clipped despite a viewport meta tag. F-23 high: 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 | Both homepage and detail declare noindex,nofollow; the detail canonical points to the homepage, representative listing/search URLs redirect to home, and /sitemap.xml returned 404. F-24 high: 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 | The public video detail has zero JSON-LD and zero Open Graph tags despite representing a rich media entity. F-25 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 and strong HSTS are present, but CSP and X-Content-Type-Options are absent; cookie audit found rp without Secure and all seven cookies using SameSite=None. F-26 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 | The load contacted 11 third-party origins, including Google Tag Manager and DoubleClick, and sent 100 third-party requests totaling 2.03 MB. F-27 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 | pass | high | Notification permission remained default with no prompt on load; authentication was not required in the guest flow. |
be-private-and-securedefensive-browser-policies | issues | high | CSP, Referrer-Policy, Permissions-Policy, and nosniff are missing. X-Frame-Options and HSTS are present. F-28 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 | Raw HTML returned 200 with substantial server-rendered content and the detail h1 survived without JavaScript; the site is not an empty JS shell. |
be-resilientresilient-runtime-behaviour | issues | high | The mandatory modal is clipped on mobile, and focus is not contained or moved into the active gate. F-29 high: 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 | not-applicable | high | A streaming catalog is intrinsically network-dependent; installability/offline media was not treated as a required guest-web outcome. |
be-resilientnetwork-and-http-failure-states | issues | high | A deliberately invalid route silently redirected to the homepage, as did listing/search probes, without explaining the failure or preserving the attempted task. F-30 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 | The document correctly declares lang=de, but CSS inspection found no logical properties and no direction declaration, increasing bidi and writing-mode risk. F-31 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 | not-applicable | high | No user-facing dates, currencies, or locale-sensitive numeric data appeared on the audited guest surfaces. |
be-internationalisedtime-zone-correctness | not-applicable | high | No event scheduling or time-zone-sensitive data appeared on the audited guest surfaces. |
be-trustworthyno-dark-patterns | pass | high | The age decision offers explicit enter and exit choices, and the cookie state exposes Accept All, Essential Only, and Customize controls without confirmshaming. |
be-trustworthyhumane-error-handling | not-applicable | high | The representative guest search has no required/validated fields; no applicable validation error flow was present. |
be-trustworthytrustworthy-input-assistance | pass | high | The only primary guest input is search; it has an accessible name and does not require sensitive autofill tokens. |
be-trustworthysafe-commercial-and-account-flows | not-applicable | high | Authenticated subscription and account-management flows were outside the guest content journey and no commercial commitment occurred in scope. |
be-sustainableoptimised-assets | issues | high | The image audit found 33/37 images without srcset and 21 legacy-format assets; the load transferred 1.2 MB of images. F-32 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 | The initial gate/home load made 171 requests, including 37 fetch/XHR requests and 100 third-party requests before the user entered. F-33 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 | Third parties transferred 2.03 MB, including 31 TrafficJunky requests; this is disproportionate before the age-gate decision. F-34 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 declared agent-facing intent or transactional agent surface was present; this emerging capability is contextual. |
be-agent-readyon-device-inference | not-applicable | high | No summarisation, generation, or language task requiring on-device inference was present. |
be-memory-efficientno-leak-under-repeated-interaction | pass | high | After entry plus ten repeated full-feed scroll cycles, heap self size grew about 0.84 MB (2.3%) and live DOM count stayed 1,466; this did not demonstrate unbounded growth. |
be-memory-efficientbounded-footprint | issues | high | The baseline heap summary contained 534,358 heap nodes and 36.1 MB self size before the user entered; this is a large footprint for a gated first state. F-35 medium: Heap size and DOM node count are reasonable for what the page is; the footprint is proportionate rather than bloated. |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | high | Baseline/post summaries showed no Detached* constructor among top retained constructors, and live DOM count remained 1,466 after ten scroll cycles. |
Provenance
Canonical report: results/atomic/reports/0777-de_pornhub_com.json
Report SHA-256: 556aeaf497393d65eb3507a322928674e745500824a9b8dfc80776ef3659e876
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/de_pornhub_com/2026-07-22T23-49-41-002Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/de_pornhub_com/2026-07-22T23-49-41-002Z
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.