Manifest position 254 · CrUX rank bucket 1000
https://ge.xhamster.com
Coverage complete
Coverage complete. Five representative guest paths were audited; authenticated account management, payment, upload, live chat, and completion of legal identity verification were not exercised because they require credentials, personal data, payment, or external verification.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | pass | medium | Light and dark emulation produced different html surfaces, rgb(48,48,48) and rgb(0,0,0), and both remained usable. |
respect-user-preferencesrespects-reduced-motion | issues | high | The reduced-motion evaluate probe found eight running shimmer-56cf2 animations, each with a 2000 ms duration, while prefers-reduced-motion: reduce matched. F001 medium: Shimmer animations continue when reduced motion is requested. |
respect-user-preferencesrespects-contrast | issues | high | The prefers-contrast: more screenshot retains the standard palette, while the Lighthouse audit independently found text ratios as low as 1.75:1 on the age banner. F002 medium: High-contrast preference does not produce a distinct high-contrast treatment. |
implement-natural-interactionsview-transitions | issues | medium | The quality probe found no view-transition signal and sampled navigation swaps pages without a continuity cue. F003 low: Route and state changes do not use View Transitions. |
implement-natural-interactionsscroll-driven-animations | pass | medium | No scroll-linked animation was present on sampled paths; ordinary scrolling remains platform-native and the probe found no scroll-timeline signal. |
implement-natural-interactionsphysical-gestures | pass | medium | The representative feed uses native links and browser scrolling; no custom swipe, pull, or pointer-driven gesture displaced platform behavior. |
provide-guided-navigationscroll-state-aware-chrome | issues | medium | The DOM shows a sticky 40 px navigation bar, while the quality probe found no scroll-state or scroll-timeline signal. It remains static as content scrolls. F004 low: The sticky navigation does not react to scroll state. |
provide-guided-navigationanchored-positioning | not-applicable | high | No tooltip, popover, or edge-positioned menu was present in the representative guest paths, so anchored overlay positioning was not applicable to the sampled UI. |
provide-guided-navigationdirects-attention | pass | medium | A descriptive H1, labelled global navigation, selected navigation underline, and clear category/detail headings orient the guest journey. |
maximize-content-reduce-noiseno-intrusive-interruptions | issues | high | The desktop screenshot shows a central cookie wall obscuring the feed, a full-width age-verification banner, and a promotional strip before the primary content. F005 high: Consent, age verification, and promotion layers dominate the entry viewport. |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | The screenshot shows a modal interaction, but the DOM probe found zero dialog, role=dialog, or popover elements on the homepage. F006 medium: The cookie modal is custom chrome without dialog semantics. |
maximize-content-reduce-noisereduced-chrome | issues | high | The entry screenshot allocates the top 224 px to header and banners and a 230 px left rail before the main grid, with the cookie layer covering the center. F007 medium: Persistent navigation, sidebars, banners, and ads leave limited room for content. |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | issues | high | Layout captures on home, category, and video detail report a 1024 px scroll width against a 360 px visual viewport, producing 664 px horizontal overflow. The mobile screenshot shows clipped navigation and content. F008 critical: The desktop-width layout is unusable at a 360 px viewport. |
adapt-to-the-form-factorcomponent-level-responsiveness | issues | high | The quality probe found no container-query signal, and the same 1024 px composition persists inside a 360 px visual viewport. F009 medium: Reusable content blocks do not adapt to the available container. |
adapt-to-the-form-factorinput-modality-aware | issues | high | The focused first link computed to outline-style none; the quality probe counted 51 visible targets below 24 px, and Lighthouse failed target-size. F010 high: Keyboard focus and touch target affordances are inadequate. |
support-core-task-successclear-purpose-and-primary-action | pass | medium | The homepage identifies a video feed with a descriptive H1 and immediately exposes thumbnails, categories, search, and registration. |
support-core-task-successprimary-flow-completion | pass | medium | The audit followed a real homepage card to its detail page. Playback then presents the legally required age-verification handoff with a clear call to action rather than a dead end. |
support-core-task-successclear-system-state-and-recovery | pass | medium | An unknown route returns HTTP 404 and renders a localized not-found message, homepage recovery link, and alternative content. |
be-fast-and-stablegood-core-web-vitals | issues | high | Lighthouse measured LCP at 3.9 s and FCP at 2.4 s. The independent trace measured LCP at 1.55 s, indicating condition sensitivity rather than a consistently good load. F011 medium: Largest Contentful Paint misses the good threshold. |
be-fast-and-stablevisual-stability | pass | medium | The layout observer measured CLS 0 with no recorded shifts on home, category, and detail samples. |
be-fast-and-stableefficient-main-thread | issues | high | The trace recorded two long tasks, with the longest at 198 ms and total blocking time of 168.56 ms; mobile layout sampling also saw tasks up to 219 ms. F012 medium: Startup scripting creates long main-thread tasks. |
be-fast-and-stableefficient-resource-delivery | issues | high | The HAR captured 142 requests, 60 scripts, 1.01 MB of transferred script, three parser-inserted VeryHigh-priority stylesheets, and additional parser-inserted scripts that need deferral review. F013 medium: The load has a large script and request dependency surface. |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | Lighthouse estimated 57 KiB unused CSS and 26 KiB unused JavaScript on its mobile run, including stylesheets with 87 to 95 percent unused bytes. F014 medium: The page ships avoidable unused CSS and JavaScript. |
be-inclusivenames-roles-labels | issues | high | Lighthouse scored accessibility 0.72 and failed button-name and link-name. The independent probe counted one unnamed button and 42 unnamed links in the sampled DOM. F015 high: Many interactive controls lack accessible names. |
be-inclusivesufficient-contrast | issues | high | Lighthouse measured contrast ratios of 2.15:1 and 1.75:1 for text on the green age-verification banner, below the required 4.5:1 for normal text. F016 high: Important age-verification text fails WCAG contrast. |
be-inclusivestructure-and-focus | issues | high | After programmatically focusing the first navigation link, computed style reported outline-style none and no box shadow. F017 high: Keyboard focus is not visibly indicated on sampled navigation. |
be-inclusivelegible-text | issues | high | The 360 px screenshot cuts off search, navigation labels, the age-verification copy, and feed content because the layout remains 1024 px wide. F018 high: Text and navigation are clipped on narrow screens. |
be-inclusivezoom-reflow-targets-and-media | issues | high | At 360 px the layout overflows by 664 px, while Lighthouse separately reports insufficient target size and spacing. F019 high: The page fails narrow reflow and target sizing. |
follow-best-practicesno-console-errors | pass | medium | Lighthouse found no browser console errors on load. |
follow-best-practicessound-document-and-assets | issues | high | The images primitive found 29 of 36 images without width and height attributes, 13 oversized images, and one missing alt. F020 medium: Image sizing is inconsistent and risks waste and late layout work. |
follow-best-practicesbrowser-platform-hygiene | pass | medium | Lighthouse passed BFCache, deprecation, inspector-issues, source-map, paste-prevention, notification, and geolocation-on-load audits. |
be-discoverabletitle-and-description | pass | medium | Homepage, category, and video detail expose descriptive titles and raw-HTML meta descriptions. |
be-discoverablecrawlable-and-mobile-friendly | pass | medium | Lighthouse passed crawlable links, viewport, robots, and link-text audits; robots.txt is valid and the viewport meta exists. |
be-discoverablecanonical-and-indexing-signals | pass | medium | The sampled pages return successful indexable responses and expose canonical URLs; robots.txt does not block these representative paths. |
be-discoverablestructured-and-shareable-metadata | issues | high | The video metadata probe found complete Open Graph and Twitter cards but no JSON-LD on a page representing a VideoObject. F021 medium: The video detail lacks structured data. |
be-private-and-securesecure-transport-and-headers | issues | high | HTTPS and HSTS are present, but the CSP only contains frame-ancestors. Two first-party cookies lack Secure, and settings uses SameSite=None. F022 high: Cookies and the XSS policy are weaker than the secure baseline. |
be-private-and-securedata-minimisation-and-third-parties | issues | high | The initial HAR recorded 115 of 142 requests and 1.57 MB of 1.68 MB as third-party by origin, including collector, ad, CDN, and Google account endpoints while the consent wall was still visible. F023 high: A broad third-party and analytics footprint loads before consent. |
be-private-and-securein-context-permissions-and-modern-auth | issues | medium | The signup dialog offers Google, X, and email registration, but the sampled auth UI exposes no passkey or WebAuthn option. No permission prompt fired on load. F024 low: The signup surface does not expose a passkey path. |
be-private-and-securedefensive-browser-policies | issues | high | The headers probe found no X-Content-Type-Options and no Referrer-Policy header; the HTML explicitly declares referrer=unsafe-url. Permissions-Policy is narrowly configured, and CSP only protects framing. F025 high: Defensive response policies are incomplete. |
be-resilientprogressive-enhancement | pass | medium | Raw HTML contains 87 percent of rendered homepage words, 91 percent for category, and 79 percent for detail, with title and H1 retained and no empty JS shell. |
be-resilientresilient-runtime-behaviour | pass | medium | SSR content, native navigation, service-worker control, and a bounded consent interface remained functional across sampled routes. |
be-resilientoffline-and-installable | not-applicable | high | The core product is online video streaming, so offline playback is not expected. A manifest and controlling service worker are present, but offline media behavior is intentionally outside this audit bar. |
be-resilientnetwork-and-http-failure-states | pass | medium | A missing route returns a real 404 and offers localized recovery and alternative content rather than a blank shell. |
be-internationalisedlang-dir-and-logical-properties | issues | medium | The German document has the correct lang value, but no dir value and the sampled authored style signals contain no logical inline or block properties; the same fixed composition already fails narrow reflow. F026 low: The layout is not prepared for alternate writing modes. |
be-internationalisedlocale-aware-data | issues | high | The German screenshot shows counts such as 16.2M and 811.1K Aufrufe rather than locale-aware German separators and abbreviations. F027 low: German-facing popularity counts use English-style compact formatting. |
be-internationalisedtime-zone-correctness | not-applicable | high | No event schedule, absolute timestamp, recurring interval, or other user-facing time-zone-sensitive data appeared on the representative paths. |
be-trustworthyno-dark-patterns | pass | medium | The consent modal presents Accept and Reject with equal size and visual weight, includes policy links, and does not use confirmshaming. |
be-trustworthyhumane-error-handling | pass | medium | Selecting email signup with empty data moved focus to the email control without destructive navigation or loss of context. |
be-trustworthytrustworthy-input-assistance | issues | high | After selecting email signup, the active control was <input id="email" name="email" placeholder="Email *" autocomplete="off">. The placeholder is not a durable label. F028 medium: The email signup step disables useful autofill and lacks a persistent label. |
be-trustworthysafe-commercial-and-account-flows | pass | medium | The sampled registration entry clearly distinguishes sign-in from Google, X, and email registration and shows no hidden charge or continuity commitment. |
be-sustainableoptimised-assets | issues | high | The images probe found 13 oversized images, 15 legacy-format responses, 29 images without dimensions, and three without responsive sources. F029 medium: The image payload is not consistently resolution-efficient. |
be-sustainableno-wasteful-work | issues | high | The page loads 60 scripts and 142 total requests; Lighthouse found heavily unused CSS and JavaScript, and the trace recorded long tasks. F030 medium: Startup performs more network and script work than the first view needs. |
be-sustainablethird-party-and-media-budget | issues | high | Third-party origins account for about 93 percent of transferred bytes, with 15 third-party origins observed before the user resolves consent. F031 high: Third-party resources dominate the page budget. |
be-agent-readystructured-agent-capabilities | not-applicable | high | This public media browsing surface does not declare an agent-facing transaction or productivity capability; emerging WebMCP exposure is therefore judged out of scope rather than a failure. |
be-agent-readyon-device-inference | not-applicable | high | No summarization, generation, or language-model task is part of the representative guest journey, so on-device inference is not applicable. |
be-memory-efficientno-leak-under-repeated-interaction | pass | low | After ten full-page scroll cycles, heap used grew from 23.5 MB to 25.2 MB and DOM count from 1814 to 1941, a bounded increase consistent with lazy content rather than runaway growth. |
be-memory-efficientbounded-footprint | pass | low | The baseline heap summary is 36.8 MB self size for a media-rich page, with no single unexpected constructor dominating the object population. |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | low | The before and post heap summaries do not surface Detached constructors among the largest populations; repeated scrolling produced only bounded DOM growth. |
Provenance
Canonical report: results/atomic/reports/0254-ge_xhamster_com.json
Report SHA-256: 0fb89801c16df5471e54df699cfdb13b8a09b6c728bfe5c9bdebf0963a0b5248
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/ge_xhamster_com/2026-07-19T11-58-31-108Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/ge_xhamster_com/2026-07-19T11-58-31-108Z
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.