Manifest position 912 · CrUX rank bucket 1000
https://ru.xhamster.com
Coverage complete
Coverage-complete model-led audit of five representative paths. Direct robots.txt and sitemap.xml probes returned HTTP 403; this was recorded but did not prevent page-level indexing judgement.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | pass | high | Computed color and screenshots differ under light and dark emulation; the dark presentation remains usable. |
respect-user-preferencesrespects-reduced-motion | issues | high | Eight 2-second shimmer animations remained running under prefers-reduced-motion: reduce, and no matching reduced-motion rules were found. F-01 medium: Stop decorative shimmer under reduced motion |
respect-user-preferencesrespects-contrast | pass | high | Forced-colors and prefers-contrast screenshot retained visible text, controls, borders and content hierarchy. |
implement-natural-interactionsview-transitions | issues | medium | The platform probe found no View Transition naming or route transition support; page changes are abrupt full navigations. F-02 low: Use progressive View Transitions for route/state changes |
implement-natural-interactionsscroll-driven-animations | not-applicable | high | No parallax, scrollytelling, reveal, or other scroll-linked motion was present on the representative paths. |
implement-natural-interactionsphysical-gestures | pass | medium | Observed browsing uses native scrolling, links and controls without custom pointer-drag gestures that fight the platform. |
provide-guided-navigationscroll-state-aware-chrome | issues | medium | The large navigation chrome remains static and consumes substantial space; no scroll-state query or responsive shrinking behavior was observed. F-03 low: Make heavy navigation chrome respond to scroll |
provide-guided-navigationanchored-positioning | not-applicable | high | No tooltip or edge-positioned transient menu was opened or required by the representative flows. |
provide-guided-navigationdirects-attention | pass | medium | Active navigation is underlined and page headings clearly identify the current listing or detail context. |
maximize-content-reduce-noiseno-intrusive-interruptions | issues | high | A centered cookie wall obscures primary content on every public template, while a separate full-width age-verification banner adds another interruption. F-04 high: Replace stacked first-load interruptions with a content-preserving consent and age flow |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | The cookie wall is not exposed as dialog, role=dialog, popover, or details; the overlay inventory reported zero semantic dialog/popover primitives. F-05 high: Implement consent with a semantic dialog and reliable light-dismiss/focus behavior |
maximize-content-reduce-noisereduced-chrome | issues | medium | Desktop first view combines two navigation rows, a persistent sidebar, age banner, cookie wall and dense promotional tiles, leaving content visually crowded. F-06 medium: Reduce persistent navigation and promotional chrome |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | issues | high | At a 360px visual viewport the page retained a 1024px layout and reported 664px horizontal overflow; content is clipped. F-07 critical: Reflow the desktop layout at narrow viewports |
adapt-to-the-form-factorcomponent-level-responsiveness | issues | high | The probe found zero container-query rules and the listing/sidebar composition stayed desktop-width at 360px. F-08 high: Add container-aware card and sidebar layouts |
adapt-to-the-form-factorinput-modality-aware | issues | high | The probe counted 51 visible controls below 24px in one dimension, and programmatic focus on the first link had outline style none. F-09 high: Increase targets and restore visible keyboard focus |
support-core-task-successclear-purpose-and-primary-action | pass | high | Headings, search, category links and video tiles communicate the site purpose and next actions immediately. |
support-core-task-successprimary-flow-completion | issues | medium | The viewing entry path is repeatedly interrupted by cookie and legal-age gates, and the registration screenshot renders its provider/action content effectively invisible inside a blank panel. F-10 high: Remove avoidable interruptions and expose registration actions visibly |
support-core-task-successclear-system-state-and-recovery | issues | high | The registration DOM contains provider and email choices, but the captured card presents a large blank state with no visible actionable choices or error explanation. F-11 high: Render a clear actionable registration state or explicit recovery message |
be-fast-and-stablegood-core-web-vitals | issues | medium | Lighthouse measured LCP at 3.0s, outside the good threshold, although the trace run measured 1.78s; CLS was zero and TBT was modest. F-12 medium: Improve mobile LCP below 2.5 seconds |
be-fast-and-stablevisual-stability | pass | high | The layout observer recorded CLS 0 with no shift entries during the capture. |
be-fast-and-stableefficient-main-thread | pass | high | Trace measured two long tasks, 156ms longest, and 119.64ms total blocking time, a bounded rather than dominant main-thread cost. |
be-fast-and-stableefficient-resource-delivery | issues | high | The load made 142 requests and transferred 1.73MB; three parser-inserted stylesheets were high-priority render-blocking candidates and the largest script was 400KB. F-13 medium: Shorten the critical request chain and split the initial bundle |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | Sixty-two scripts transferred 1.05MB, with a 400KB index bundle plus multiple locale/start bundles on the initial listing. F-14 high: Defer route-specific and third-party JavaScript |
be-inclusivenames-roles-labels | issues | high | Lighthouse failed button-name and label-content-name-mismatch; the cookie overlay also lacks a dialog role. F-15 high: Fix accessible names, label matching and overlay role |
be-inclusivesufficient-contrast | issues | high | Lighthouse failed color-contrast and link-in-text-block checks on the rendered page. F-16 high: Correct failing text and link contrast combinations |
be-inclusivestructure-and-focus | issues | high | Programmatic focus produced outline none, and Lighthouse reported malformed list structure and an ill-formed agent accessibility tree. F-17 high: Restore visible focus and valid structural semantics |
be-inclusivelegible-text | pass | medium | Desktop body and heading text remain readable with consistent alignment and no observed clipping in the primary desktop templates. |
be-inclusivezoom-reflow-targets-and-media | issues | high | The 360px capture does not reflow and has 664px overflow; Lighthouse also failed meta-viewport and target-size audits. F-18 critical: Support zoom/reflow and WCAG-sized touch targets |
follow-best-practicesno-console-errors | pass | medium | Lighthouse best-practices scored 1.0 and did not report a console-error or runtime-exception failure. |
follow-best-practicessound-document-and-assets | issues | high | Document doctype/charset are valid, but 29 of 36 images lacked explicit dimensions and 15 were more than 2x displayed size. F-19 medium: Reserve image space and right-size image requests |
follow-best-practicesbrowser-platform-hygiene | pass | medium | Lighthouse best-practices scored 1.0 with no deprecated API, prompt-on-load or vulnerable-library failure surfaced. |
be-discoverabletitle-and-description | pass | high | Homepage and detail probes found descriptive titles and meta descriptions. |
be-discoverablecrawlable-and-mobile-friendly | pass | medium | Real href links, viewport metadata and 81% raw-HTML content coverage were present; public navigation was crawlable despite robots.txt returning 403 to the direct probe. |
be-discoverablecanonical-and-indexing-signals | pass | medium | Homepage and detail expose matching canonical URLs and return successful document responses; no accidental noindex was observed. |
be-discoverablestructured-and-shareable-metadata | issues | medium | The representative video detail has Open Graph metadata but no JSON-LD VideoObject or other schema.org block. F-20 medium: Add accurate VideoObject JSON-LD on video details |
be-private-and-securesecure-transport-and-headers | issues | high | HTTPS, HSTS and frame protections are present, but CSP only declares frame-ancestors, nosniff and Referrer-Policy are absent, and two cookies lack Secure. F-21 high: Harden CSP, cookies and core response headers |
be-private-and-securedata-minimisation-and-third-parties | issues | high | The initial load contacted 14 third-party origins; 117 of 142 requests and 1.62MB of 1.73MB were classified off the page origin before consent interaction. F-22 high: Minimise and defer third-party requests until consent |
be-private-and-securein-context-permissions-and-modern-auth | issues | medium | No permission prompt fired on load, but registration exposes Google, X and email with no visible passkey/WebAuthn option. F-23 medium: Offer passkeys alongside federated and email sign-in |
be-private-and-securedefensive-browser-policies | issues | high | HSTS and clickjacking defenses are present, but Referrer-Policy and nosniff are missing and Permissions-Policy only covers two client-hint directives. F-24 high: Add nosniff, Referrer-Policy and a restrictive Permissions-Policy |
be-resilientprogressive-enhancement | issues | high | Raw HTML retains 81% content, but the no-JS crawler view explicitly says JavaScript is required and the cookie controls show indefinite spinners, so core gating controls do not progressively enhance. F-25 high: Make core consent and age actions work without JavaScript |
be-resilientresilient-runtime-behaviour | issues | medium | The custom cookie overlay lacks platform dialog semantics, while the signup action content is present in DOM text but not visibly rendered in the captured card. F-26 medium: Use robust platform overlays and recover visible signup state |
be-resilientoffline-and-installable | not-applicable | high | The video service is intrinsically network-dependent. A manifest and controlling service worker exist, but an offline media experience is not a proportionate requirement. |
be-resilientnetwork-and-http-failure-states | pass | high | A deliberately invalid route shows a clear not-found message and a direct link back to the homepage rather than a blank shell. |
be-internationalisedlang-dir-and-logical-properties | pass | high | The Russian page declares lang=ru and exposes a broad locale selector including RTL languages; visible reading order is coherent. |
be-internationalisedlocale-aware-data | pass | medium | Locale-specific Russian labels and localized view-count formatting are consistently rendered across listing and detail templates. |
be-internationalisedtime-zone-correctness | not-applicable | high | The audited public listing, category, detail and registration surfaces expose no scheduling or time-zone-sensitive user task. |
be-trustworthyno-dark-patterns | pass | medium | The cookie wall presents Accept and Reject with equal visual weight and states the purpose of optional data use; the age gate explains its legal basis. |
be-trustworthyhumane-error-handling | issues | medium | The registration surface fails as a visually blank card without actionable error or recovery messaging even though choices exist in DOM text. F-27 high: Explain and recover from the blank registration state |
be-trustworthytrustworthy-input-assistance | pass | medium | The only directly exercised authored input is search, which has a descriptive accessible label and does not require sensitive autofill tokens. |
be-trustworthysafe-commercial-and-account-flows | issues | high | The account-entry card hides the provider/email actions visually, preventing a clear and predictable registration choice. F-28 high: Make registration choices visible and predictable |
be-sustainableoptimised-assets | issues | high | Fifteen images were oversized, 29 lacked dimensions, 14 used legacy formats and eight below-fold images were not lazy-loaded. F-29 medium: Serve dimensioned, responsive modern-format thumbnails |
be-sustainableno-wasteful-work | issues | high | The page loads 62 scripts and continues eight shimmer animations under reduced-motion; this is avoidable background and delivery work. F-30 medium: Cut unused scripts and suppress nonessential background animation |
be-sustainablethird-party-and-media-budget | issues | high | Third-party-classified traffic accounts for 117 requests and 1.62MB, including Google identity and promotional/ad origins on initial load. F-31 high: Set and enforce a consent-aware third-party budget |
be-agent-readystructured-agent-capabilities | not-applicable | high | No declared agent-facing intent exists for this public media catalog; absence of WebMCP is treated as an emerging opportunity, not a failure. |
be-agent-readyon-device-inference | not-applicable | high | No summarisation or other inference task is exposed where built-in on-device AI is necessary to complete the audited journeys. |
be-memory-efficientno-leak-under-repeated-interaction | issues | medium | After ten bottom/top feed traversals, heap self size increased from 36.90MB to 42.15MB and node count from 685,755 to 791,410. Some growth may be intentional lazy-feed caching, so confidence is medium. F-32 medium: Bound feed caching and release resources after repeated traversal |
be-memory-efficientbounded-footprint | issues | medium | The baseline page retained 685,755 heap nodes and 36.90MB self size before exercising the feed, a heavy footprint for a listing page. F-33 medium: Reduce the initial DOM and heap footprint |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | low | Neither heap summary surfaced a Detached constructor among the largest populations; the summaries do not expose listener counts, so confidence is low. |
Provenance
Canonical report: results/atomic/reports/0912-ru_xhamster_com.json
Report SHA-256: 27d8992056eb503099842000aa2bb4fb2d7872e63ae9d491a4213152ddc1e371
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/ru_xhamster_com/2026-07-23T19-34-37-119Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/ru_xhamster_com/2026-07-23T19-34-37-119Z
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.