Manifest position 350 · CrUX rank bucket 1000
https://faphouse.com
Coverage complete
Coverage-complete model-driven audit of four representative templates plus sign-in and 404 recovery states.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | The preferences probe reports colorScheme "normal" and no prefers-color-scheme/color-scheme CSS; the dark-emulation screenshot is visually identical to the default screenshot. F01 medium: The site imposes one dark theme instead of following the user’s color-scheme preference. |
respect-user-preferencesrespects-reduced-motion | issues | high | Rendered CSS inspection found no prefers-reduced-motion rule, while the UI CSS contains 100–200ms transitions and fade/transform animations. F02 medium: Motion is not adapted for users who request reduced motion. |
respect-user-preferencesrespects-contrast | pass | high | Forced-colors/prefers-contrast screenshot preserves text, controls, outlines, and navigation legibility. |
implement-natural-interactionsview-transitions | issues | high | Rendered stylesheet inspection found no view-transition usage; the sign-in and detail states appear as custom overlays. F03 low: Route and modal state changes use abrupt custom swaps without View Transitions. |
implement-natural-interactionsscroll-driven-animations | not-applicable | high | No scroll-linked animation is present, so implementation choice is not applicable. |
implement-natural-interactionsphysical-gestures | not-applicable | high | No swipe, pull, carousel, or other gesture-driven control was found on the representative guest paths. |
provide-guided-navigationscroll-state-aware-chrome | issues | high | The homepage content is over 21,000 CSS pixels tall, while rendered CSS contains no scroll-state query, scroll timeline, or progress affordance. F04 medium: Long listing pages provide static navigation chrome without scroll-state or progress feedback. |
provide-guided-navigationanchored-positioning | not-applicable | high | No tooltip or viewport-edge anchored explanatory overlay was observed; modal dialogs are judged separately. |
provide-guided-navigationdirects-attention | pass | high | Active navigation uses a visible yellow underline and the categories page labels its current section and sorting state. |
maximize-content-reduce-noiseno-intrusive-interruptions | issues | high | The detail screenshot shows a subscription modal over dimmed video content, a cookie modal over that modal, and an age-verification bar above both. F05 high: Stacked consent, age-verification, and subscription layers obscure primary content on entry. |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | Rendered DOM reports zero dialog, popover, and details elements despite visible sign-in, consent, and subscription overlays. F06 medium: Modal and transient UI are implemented as custom containers instead of semantic dialog/popover primitives. |
maximize-content-reduce-noisereduced-chrome | issues | high | The detail screenshot shows a subscription modal over dimmed video content, a cookie modal over that modal, and an age-verification bar above both. F05 high: Stacked consent, age-verification, and subscription layers obscure primary content on entry. |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | issues | high | Layout captures for home, categories, and video detail each report scrollWidth/innerWidth 769 against a 360px visual viewport, producing 409px horizontal overflow. Join is the only tested template without overflow. F07 high: Core content routes render a 769px layout into a 360px viewport. |
adapt-to-the-form-factorcomponent-level-responsiveness | issues | high | Rendered CSS inspection found no @container rules, and three content templates retain a 769px layout at a 360px visual viewport. F08 medium: Reusable content components rely on global layout rules and do not adapt to their containers. |
adapt-to-the-form-factorinput-modality-aware | issues | high | The focus probe reports outline:none on Start verification, search, notifications, cart, Sign in, Join now, and other controls. Lighthouse found 137 target-size failures. F09 high: Keyboard focus disappears on important controls and many touch targets are undersized. |
support-core-task-successclear-purpose-and-primary-action | pass | high | Homepage and categories H1/copy clearly identify full-length videos and category browsing; video cards have descriptive destination text. |
support-core-task-successprimary-flow-completion | issues | high | Opening a video detail automatically shows the membership chooser, with the cookie prompt layered above it and age verification still present. F10 high: The representative watch flow is interrupted before the user can evaluate or play the selected content. |
support-core-task-successclear-system-state-and-recovery | issues | high | After dismissing cookies and activating Sign in with empty fields, the probe found no :invalid elements, aria-invalid state, alert, or live-region message. F11 medium: Blank sign-in submission produces no visible or programmatic validation state. |
be-fast-and-stablegood-core-web-vitals | issues | high | Lighthouse measured LCP 4.0s, TBT 360ms, and Speed Index 6.2s. The trace measured FCP/LCP 4.37s. Detail and join mobile layouts observed CLS 0.239 and 0.221. F12 high: Load performance is slow and key templates shift substantially. |
be-fast-and-stablevisual-stability | issues | high | Lighthouse measured LCP 4.0s, TBT 360ms, and Speed Index 6.2s. The trace measured FCP/LCP 4.37s. Detail and join mobile layouts observed CLS 0.239 and 0.221. F12 high: Load performance is slow and key templates shift substantially. |
be-fast-and-stableefficient-main-thread | issues | high | Lighthouse measured LCP 4.0s, TBT 360ms, and Speed Index 6.2s. The trace measured FCP/LCP 4.37s. Detail and join mobile layouts observed CLS 0.239 and 0.221. F12 high: Load performance is slow and key templates shift substantially. |
be-fast-and-stableefficient-resource-delivery | issues | high | HAR summary reports 4,980,826 transferred bytes, including 3,152,223 image bytes and 1,476,567 script bytes; Lighthouse estimates 778 KiB image savings and 1,370ms render-blocking savings. F13 high: The homepage transfers about 5 MB across 188 requests, with avoidable image and render-blocking cost. |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | Lighthouse estimates 773 KiB unused JavaScript and 98 KiB unused CSS; Google Tag Manager alone transfers about 304 KiB across two scripts. F14 medium: Large amounts of shipped CSS and JavaScript are unused on initial load. |
be-inclusivenames-roles-labels | issues | high | Lighthouse found 3 unnamed buttons, 132 unnamed links, and an unlabeled VR checkbox; DOM inspection found no main landmark and hundreds of unnamed visible controls/links. F15 high: Many controls and links lack accessible names, and form controls lack labels. |
be-inclusivesufficient-contrast | issues | high | Lighthouse found seven contrast failures, including white/green age-verification text at 2.42:1 and discount badges at 4.04:1. F16 high: Age-verification and promotional text fail WCAG contrast minimums. |
be-inclusivestructure-and-focus | issues | high | The page has two H1 elements, skips to H4 for age verification/footer headings, has no main/nav/header/footer landmarks in the rendered probe, and removes focus outlines on primary controls. F17 high: Heading, landmark, and focus structure is not reliable for keyboard and assistive-technology users. |
be-inclusivelegible-text | pass | high | Screenshots show readable card titles and body copy with no text clipping at the tested desktop condition; failures are covered by contrast/reflow checks. |
be-inclusivezoom-reflow-targets-and-media | issues | high | Lighthouse captured user-scalable=0 with maximum-scale=1.0, 137 undersized targets, and the layout primitive measured 409px overflow at 360px on three core templates. F18 high: The production viewport disables zoom and core templates fail narrow-screen reflow. |
follow-best-practicesno-console-errors | pass | high | Lighthouse errors-in-console audit scored 1 with zero error items. |
follow-best-practicessound-document-and-assets | issues | high | The image audit found 8 images without dimensions, 32 oversized images, 40 below-fold images without lazy loading, and 73 legacy-format images. F19 medium: Image sizing and delivery are inconsistent despite a valid document shell. |
follow-best-practicesbrowser-platform-hygiene | issues | high | Lighthouse reports BFCache blocked by Cache-Control: no-store after cookie modification and Cookie issues in DevTools; the best-practices score is 0.77. F20 medium: Browser platform diagnostics show avoidable lifecycle and cookie issues. |
be-discoverabletitle-and-description | pass | high | Home, categories, and detail expose descriptive titles; probes/discoverability confirm a meta description in raw HTML. |
be-discoverablecrawlable-and-mobile-friendly | issues | high | Lighthouse found javascript:void(0) anchors and a failing crawlable-anchors audit; the viewport disables scaling. F21 medium: Some navigation controls are uncrawlable and the mobile viewport policy is hostile to users. |
be-discoverablecanonical-and-indexing-signals | issues | high | The probe found a correct canonical and crawlable robots.txt, while /sitemap.xml returned HTTP 404. F22 medium: Canonical and robots signals are present, but the conventional sitemap endpoint returns 404. |
be-discoverablestructured-and-shareable-metadata | issues | high | Rendered probe found zero JSON-LD blocks and zero Open Graph properties, despite video detail and catalog entities that qualify for VideoObject/Breadcrumb metadata. F23 medium: Rich video pages do not expose structured or social-preview metadata. |
be-private-and-securesecure-transport-and-headers | issues | high | Nine of 13 cookies lack Secure; several use SameSite=None. CSP allows unsafe-inline and unsafe-eval. X-Content-Type-Options is absent. F24 high: Transport is HTTPS, but cookie and CSP settings leave avoidable exposure. |
be-private-and-securedata-minimisation-and-third-parties | issues | high | Tracker/HAR capture recorded 11 third-party origins, 185 third-party requests, 4.88 MB third-party transfer, and Google Tag Manager. Google analytics cookies are set for 400 days. F25 high: A sensitive-content page makes a large third-party and analytics footprint before consent is resolved. |
be-private-and-securein-context-permissions-and-modern-auth | issues | high | The sign-in state exposes email/password, xHamster, and Google choices; rendered code inspection found no WebAuthn/passkey surface. F26 medium: Authentication offers passwords and federated identity but no phishing-resistant passkey path. |
be-private-and-securedefensive-browser-policies | issues | high | Referrer-Policy is absent; Permissions-Policy grants camera, fullscreen, accelerometer, gyroscope, and magnetometer to all origins; CSP is broadly permissive though HSTS and frame protections are present. F27 medium: Defensive browser policies are incomplete or overbroad. |
be-resilientprogressive-enhancement | pass | high | Discoverability reports 80% raw/rendered word coverage on home and 94% on detail, with title, H1, and description present without JavaScript. |
be-resilientresilient-runtime-behaviour | issues | high | The video detail screenshot shows subscription and cookie modals simultaneously, with the age banner also active; the DOM uses no native top-layer primitives. F28 medium: Independent overlay systems collide instead of producing one robust top-layer state. |
be-resilientoffline-and-installable | not-applicable | high | This media catalog and authenticated streaming service is intrinsically online; installability/offline playback was not inferred as product intent. |
be-resilientnetwork-and-http-failure-states | pass | high | A nonexistent route renders “This page doesn’t exist,” explains recovery, and links to Homepage. |
be-internationalisedlang-dir-and-logical-properties | issues | high | html lang="en" is present, but dir is absent and rendered CSS inspection found no logical margin/padding/inset/size properties. F29 medium: Language is declared, but layout CSS is not prepared for bidirectional or alternate writing modes. |
be-internationalisedlocale-aware-data | pass | high | The tested join route renders localized GBP prices consistently and exposes a locale preference; no malformed hand-built date/number strings were observed. |
be-internationalisedtime-zone-correctness | not-applicable | high | No event date/time or recurring schedule was present on the tested guest paths. |
be-trustworthyno-dark-patterns | pass | high | Consent presents Reject and Accept as equal-size primary choices; join pricing and durations are visible, and cancellation is stated. |
be-trustworthyhumane-error-handling | issues | high | Blank submission yielded no required validity state, aria-invalid attribute, alert, or live-region message. F30 medium: Sign-in errors are not prevented or announced humanely. |
be-trustworthytrustworthy-input-assistance | issues | high | Username/email uses autocomplete="email" rather than username, and password inputs expose no autocomplete token. F31 medium: Sign-in fields do not use the standard autocomplete tokens needed by password managers. |
be-trustworthysafe-commercial-and-account-flows | pass | high | Join page clearly shows trial/monthly/lifetime prices and plan benefits before continuation, while sign-in offers password recovery and federated choices. |
be-sustainableoptimised-assets | issues | high | Image audit found 32 oversized images, 73 legacy-format images, and 40 below-fold images without lazy loading; Lighthouse estimates 778 KiB image savings. F32 high: Image assets are substantially oversized and frequently delivered in legacy formats. |
be-sustainableno-wasteful-work | issues | high | HAR reports 4.88 MB and 185 requests from third-party origins; 151 images transfer 3.15 MB and scripts transfer 1.48 MB on the initial listing. F33 high: Third-party and media transfer is disproportionate before the user chooses or plays content. |
be-sustainablethird-party-and-media-budget | issues | high | HAR reports 4.88 MB and 185 requests from third-party origins; 151 images transfer 3.15 MB and scripts transfer 1.48 MB on the initial listing. F33 high: Third-party and media transfer is disproportionate before the user chooses or plays content. |
be-agent-readystructured-agent-capabilities | not-applicable | high | No declared agent-facing product surface; emerging WebMCP capability is not expected for this audited scope. |
be-agent-readyon-device-inference | not-applicable | high | No summarisation or language-model task was present where on-device inference would clearly improve the tested journeys. |
be-memory-efficientno-leak-under-repeated-interaction | pass | medium | After 10 sign-in open/back cycles, heap grew 2.63 MB (5.9%); this bounded one-run delta is not direct evidence of unbounded retained growth. |
be-memory-efficientbounded-footprint | pass | medium | Heap summary reports about 44.7 MB baseline for a media-rich listing; large but proportionate, with no runaway constructor dominating. |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | medium | Neither summary lists Detached* constructors among dominant populations; no unbounded listener/timer growth was directly observed. |
Provenance
Canonical report: results/atomic/reports/0350-faphouse_com.json
Report SHA-256: 1a555ad9e34e40284940b23fdccc4269eebcde30f708b76eec6134eca83c6ff4
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/faphouse_com/2026-07-20T03-39-25-599Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/faphouse_com/2026-07-20T03-39-25-599Z
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.