Manifest position 16 · CrUX rank bucket 1000

https://letsporn.com

Coverage complete

Coverage-complete remote audit of seven representative paths. Playback and personal age verification were intentionally not performed; the audited product surface is the pre-verification catalog and handoff.

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
issuesmediumThe preference probe confirmed prefers-color-scheme: dark, but the page declares color-scheme: normal and the light and dark captures are visually identical; body remains rgb(0,0,0).
F01 low: The fixed dark palette does not respond to the user color-scheme preference.
respect-user-preferences
respects-reduced-motion
passhighPreference probe reported no active animations under reduce; no CSS media rules or load motion were observed.
respect-user-preferences
respects-contrast
issueshighLighthouse accessibility scored 0.75 and its color-contrast audit found one failing element.
F02 medium: Some foreground/background combinations fail minimum contrast.
implement-natural-interactions
view-transitions
passhighDOM/CSS inspection found no View Transition API usage, but MPA route changes keep stable global navigation and do not use disorienting custom transitions.
implement-natural-interactions
scroll-driven-animations
passhighNo scroll-linked animation or main-thread scroll animation was present; long pages use native scrolling and layout reported no long tasks.
implement-natural-interactions
physical-gestures
passhighThe content grid and horizontal navigation use native touch scrolling; no custom pointer gesture traps were found.
provide-guided-navigation
scroll-state-aware-chrome
passhighThe long mobile listing retains clear section headings and native scroll behavior without obstructive sticky chrome.
provide-guided-navigation
anchored-positioning
passmediumNo visible tooltip/popover placement failure occurred in entry or mobile states; overlay concerns are separately recorded against semantic primitives.
provide-guided-navigation
directs-attention
passhighFirst viewport has one clear age action and strong content heading; category pills and See More links establish hierarchy.
maximize-content-reduce-noise
no-intrusive-interruptions
passhighThe legally required age prompt is an inline banner, not a full-viewport modal; browsing structure remains visible and thumbnails are blurred.
maximize-content-reduce-noise
semantic-dismissible-primitives
issuesmediumDOM inspection found #favoriteModal as a div role=dialog with nested div role=document, data-backdrop=static and a close button with no accessible name.
F03 medium: Dismissible overlays use custom Bootstrap-style divs rather than native dialog/popover semantics.
maximize-content-reduce-noise
reduced-chrome
passhighScreenshots show most post-banner viewport area dedicated to content cards rather than decorative chrome.
adapt-to-the-form-factor
responsive-no-horizontal-scroll
passhighAll four tested 360px templates reported scrollWidth=clientWidth=360 and zero horizontal overflow.
adapt-to-the-form-factor
component-level-responsiveness
passhighHome, category, channel and detail templates all reflowed to 360px with no overflow; the DOM uses responsive image sizes even without container queries.
adapt-to-the-form-factor
input-modality-aware
issueshighThe focus probe focused the visible logo link and computed outline was none (0px) with no box shadow; several icon buttons also lack names.
F04 high: Keyboard focus is not visibly indicated on key controls.
support-core-task-success
clear-purpose-and-primary-action
passhighThe page identifies the catalog, presents a prominent legally required Get started action, and labels Explore/Charts/Channels/Pornstars/Categories.
support-core-task-success
primary-flow-completion
passhighSearch results, category, channel and detail URLs all loaded successfully; video playback correctly remains gated behind the explicit age-verification action.
support-core-task-success
clear-system-state-and-recovery
passhighAn unknown route returned HTTP 404 and rendered a branded PAGE NOT FOUND state with working navigation and recovery content.
be-fast-and-stable
good-core-web-vitals
issueshighLighthouse measured LCP at 4.4s (score 0.40), despite the unthrottled trace reporting 663ms; the mobile lab result exceeds the 2.5s good threshold.
F05 high: Mobile Largest Contentful Paint is slow.
be-fast-and-stable
visual-stability
passhighLayout primitives reported CLS 0 with no shifts on homepage, category, channel and detail mobile templates.
be-fast-and-stable
efficient-main-thread
passhighTrace reported zero long tasks and 0ms total blocking time; Lighthouse TBT was 22ms.
be-fast-and-stable
efficient-resource-delivery
issueshighHAR recorded 49 requests and 1,339,517 transferred bytes; Lighthouse reported an 879ms longest dependency chain. Parser-inserted jQuery and all.min.js lack async/defer, although they are placed near the end of body.
F06 medium: Resource delivery has a long dependency chain and avoidable weight.
be-fast-and-stable
trim-unused-and-duplicate-code
issueshighLighthouse estimated 204 KiB unused JavaScript: 71 KiB gtag, 63 KiB GTM, 53 KiB Yandex and 21 KiB first-party JS; it also estimated 11 KiB unused CSS.
F07 medium: The page ships substantial unused JavaScript and CSS.
be-inclusive
names-roles-labels
issueshighLighthouse found 52 buttons without accessible names; the DOM probe independently counted 55 unlabeled buttons, including search, account, menu, favorite and close controls.
F08 high: Dozens of icon buttons have no accessible name.
be-inclusive
sufficient-contrast
issueshighLighthouse accessibility scored 0.75 and its color-contrast audit found one failing element.
F02 medium: Some foreground/background combinations fail minimum contrast.
be-inclusive
structure-and-focus
issueshighLighthouse failed landmark-one-main; the focus probe found no visible outline, weakening keyboard orientation despite otherwise coherent h1/h2 ordering.
F09 high: The page lacks a main landmark and consistent visible focus structure.
be-inclusive
legible-text
passhighDesktop and mobile screenshots show readable headings/body copy with coherent spacing and no text clipping.
be-inclusive
zoom-reflow-targets-and-media
issueshighLighthouse found 24 target-size failures; the 360px probe measured top icon controls at 20x20, Get started at 32px high, pills at 34px high and several links at 18px high.
F10 medium: Many mobile touch targets are too small or tightly spaced.
follow-best-practices
no-console-errors
passhighLighthouse errors-in-console audit passed with no items.
follow-best-practices
sound-document-and-assets
issueshighThe image primitive found 5 images without dimensions and 2 without alt text among 100 images.
F11 low: Some images omit intrinsic dimensions and alt text.
follow-best-practices
browser-platform-hygiene
issuesmediumLighthouse best-practices scored 0.77, found an Inspector issue, and reported five reasons preventing back/forward cache restoration.
F12 medium: Browser platform hygiene is weakened by bfcache and DevTools issues.
be-discoverable
title-and-description
passhighHome and detail probes found distinct non-empty titles and descriptions.
be-discoverable
crawlable-and-mobile-friendly
issueshighLighthouse SEO found four links without descriptive text, while raw HTML coverage was otherwise 100%.
F13 low: Several crawler-visible links have non-descriptive text.
be-discoverable
canonical-and-indexing-signals
passhighPages returned 200, expose canonical/hreflang signals, robots.txt allows public templates, and sitemap.xml is populated.
be-discoverable
structured-and-shareable-metadata
issueshighHome and detail probes found no og:* metadata. The detail page does provide useful VideoObject JSON-LD, title, description and canonical URL.
F14 low: Pages omit Open Graph/social preview metadata.
be-private-and-secure
secure-transport-and-headers
issueshighHeaders show no CSP, Referrer-Policy or Permissions-Policy. Strict-Transport-Security is sent with max-age=0, which removes HSTS protection rather than enabling it. Cookie audit found PHPSESSID, kt_tcookie, kt_is_visited and Google Analytics cookies without Secure; PHPSESSID also lacks HttpOnly, and several cookies use SameSite=None.
F15 high: Transport and browser security policies are incomplete, and HSTS is effectively disabled.
F16 high: Session and analytics cookies lack basic protections.
be-private-and-secure
data-minimisation-and-third-parties
issueshighOn initial load the tracker probe contacted five third-party origins including Google Tag Manager, Google Analytics and Yandex; HAR attributed about 379 KiB to GTM/Yandex scripts and cookies included 365-400 day identifiers.
F17 high: Tracking begins before age verification or any visible consent choice.
be-private-and-secure
in-context-permissions-and-modern-auth
passhighNo permission prompt fired on load; the age-verification action is explicit and external rather than a surprise browser permission request.
be-private-and-secure
defensive-browser-policies
issueshighHeaders show no CSP, Referrer-Policy or Permissions-Policy. Strict-Transport-Security is sent with max-age=0, which removes HSTS protection rather than enabling it. Cookie audit found PHPSESSID, kt_tcookie, kt_is_visited and Google Analytics cookies without Secure; PHPSESSID also lacks HttpOnly, and several cookies use SameSite=None.
F15 high: Transport and browser security policies are incomplete, and HSTS is effectively disabled.
F16 high: Session and analytics cookies lack basic protections.
be-resilient
progressive-enhancement
passhighDiscoverability comparison found 100% rendered-word coverage in 227KB raw HTML, with title, H1 and description present and no JS shell.
be-resilient
resilient-runtime-behaviour
passhighServer-rendered navigation/search templates load independently and mobile menus/search controls are present without an SPA runtime dependency.
be-resilient
offline-and-installable
not-applicablehighThe catalog is a public MPA and does not advertise an offline or installable experience; the linked manifest is favicon metadata with no app name/start URL and there is no service-worker registration.
be-resilient
network-and-http-failure-states
passhighThe tested unknown route returned a real HTTP 404 and rendered a branded recovery page with navigation and trending links.
be-internationalised
lang-dir-and-logical-properties
issueshighThe German page correctly sets lang=de and translates navigation/dates, but its prominent legal age banner still reads “Verify your age…”, “It’s fast…” and “Get started” in English.
F19 medium: The German locale leaves the age-verification call to action in English.
be-internationalised
locale-aware-data
passhighGerman route sets lang=de and localizes relative dates and view-count labels (for example “vor 1 Woche”, “30K aufrufe”).
be-internationalised
time-zone-correctness
not-applicablehighNo scheduled events, user-entered times, or time-zone-sensitive coordination surfaced on the representative templates.
be-trustworthy
no-dark-patterns
issueshighThe banner says “we don’t store personal data,” yet the initial page sets persistent Google/Yandex identifiers and sends analytics requests before the visitor starts age verification.
F22 high: The age banner’s privacy reassurance conflicts with observed tracking.
be-trustworthy
humane-error-handling
passhighThe only local form is search; no premature validation is applied, and the dedicated 404 state clearly identifies failure and offers recovery links.
be-trustworthy
trustworthy-input-assistance
not-applicablehighThe only pre-verification input is a simple search field; no identity, address, payment or profile fields are exposed.
be-trustworthy
safe-commercial-and-account-flows
not-applicablehighNo checkout, subscription, account-management or payment flow is exposed in the audited pre-verification surface; regulated age verification is external and is not an account purchase flow.
be-sustainable
optimised-assets
issueshighLighthouse estimated 420 KiB image savings. The image probe found 15 oversized images, 59 without srcset and all 100 reported img URLs in legacy JPEG/PNG formats.
F20 medium: Image delivery wastes hundreds of kilobytes.
be-sustainable
no-wasteful-work
issueshighGTM and Yandex scripts transfer about 379 KiB before interaction; Yandex performs multiple cookie-sync redirects and Lighthouse identifies most analytics code as unused on load.
F21 medium: Analytics and background tracking consume a disproportionate share of initial work.
be-sustainable
third-party-and-media-budget
issueshighLighthouse estimated 420 KiB image savings. The image probe found 15 oversized images, 59 without srcset and all 100 reported img URLs in legacy JPEG/PNG formats. GTM and Yandex scripts transfer about 379 KiB before interaction; Yandex performs multiple cookie-sync redirects and Lighthouse identifies most analytics code as unused on load.
F20 medium: Image delivery wastes hundreds of kilobytes.
F21 medium: Analytics and background tracking consume a disproportionate share of initial work.
be-agent-ready
structured-agent-capabilities
not-applicablehighNo developer intent or user-facing agent workflow is advertised; this is a conventional read-only media catalog, so WebMCP tool exposure is not required.
be-agent-ready
on-device-inference
not-applicablehighThe site offers no summarisation, generation or other inference feature for which built-in on-device AI would be applicable.
be-memory-efficient
no-leak-under-repeated-interaction
passmediumAfter 10 menu/search open-close cycles, heap grew from 12.21MB to 13.73MB, largely code/native initialization; closures rose only 1.1% and no Detached* constructor entered the top set. Separate-browser variance lowers confidence but provides no direct leak signal.
be-memory-efficient
bounded-footprint
passhighHeap summaries measured a 12.21MB baseline and 13.73MB post-interaction footprint, proportionate for a media catalog with analytics.
be-memory-efficient
no-detached-dom-or-unbounded-listeners
passmediumCompared summaries showed no Detached* constructor in the top retained populations and only 115 additional closures after repeated controls.

Provenance

Canonical report: results/atomic/reports/0016-letsporn_com.json
Report SHA-256: a85ffa51337e6011c706b521e53de44b84acbe4a705f4716f19a3657251fe9c0
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/letsporn_com/2026-07-17T21-10-21-378Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/letsporn_com/2026-07-17T21-10-21-378Z
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.