Manifest position 3 · CrUX rank bucket 1000
https://pt.xhamster.com
Coverage complete
58/58 atomic checks judged across four representative templates plus a recovery state.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | The dark-emulated capture is pixel-identical to default and the computed color-scheme is normal. CSS contains prefers-color-scheme rules but the active surface does not follow the system preference. F01 low: Theme does not reliably follow system color preference |
respect-user-preferencesrespects-reduced-motion | issues | high | The reduce condition was active, yet 10 animations remained running with 2000 ms duration and unbounded iterations; no prefers-reduced-motion rule was found. F02 medium: Infinite animations continue under reduced motion |
respect-user-preferencesrespects-contrast | pass | medium | Under forced-colors: active and prefers-contrast: more, text, controls, links and consent actions remain visibly distinguishable. |
implement-natural-interactionsview-transitions | issues | high | No view-transition token or route-transition styling was present; route and modal changes are abrupt state swaps. F03 low: Route and dialog state changes are abrupt |
implement-natural-interactionsscroll-driven-animations | pass | medium | No parallax or scrollytelling behavior was observed, and the page does not implement scroll-linked effects that would require main-thread scroll handlers. |
implement-natural-interactionsphysical-gestures | issues | high | No scroll-snap or overscroll behavior is defined for the feed/shorts experience, so gesture-heavy surfaces do not expose native snapping or containment. F04 low: Gesture-heavy feeds lack native scroll behavior |
provide-guided-navigationscroll-state-aware-chrome | issues | high | The long listing retains static, space-heavy chrome; no scroll-state query, progress indicator, or shrinking-header behavior was found. F05 low: Long pages retain static, bulky navigation chrome |
provide-guided-navigationanchored-positioning | pass | medium | The inspected consent overlay remains attached and usable on desktop; no tooltip or menu drift was observed on the audited states. |
provide-guided-navigationdirects-attention | pass | medium | Active navigation has a red underline, category grouping is explicit, and the 404 state provides a clear home link. |
maximize-content-reduce-noiseno-intrusive-interruptions | issues | high | A large cookie modal obscures the primary content before interaction; additional age-verification and promotion bars consume the first viewport. F06 medium: First-load interruptions obscure primary content |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | The signup overlay is a DIV with role=dialog rather than a native dialog; first-load consent is custom chrome rather than a declarative dialog/popover primitive. F07 medium: Custom DIV dialogs replace native overlay primitives |
maximize-content-reduce-noisereduced-chrome | issues | high | On mobile, two navigation rows, age banner, promotion bar and a persistent 180 px sidebar leave a narrow clipped content column. F08 high: Navigation and promotion chrome crowd out mobile content |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | issues | high | Home and categories report scrollWidth/client layout width 1024 against a 360 px visual viewport, producing 664 px horizontal overflow and clipped content. F09 critical: Mobile templates remain 1024 px wide |
adapt-to-the-form-factorcomponent-level-responsiveness | issues | high | No @container or container-type rules were found; card grids and the signup panel remain desktop-sized and clipped in a narrow container. F10 high: Reused components do not adapt to their containers |
adapt-to-the-form-factorinput-modality-aware | issues | high | Visible controls commonly compute outline-style none, and many interactive anchors measure 16x16 or 20 px high, below robust touch-target sizing. F11 high: Focus indicators and touch targets are inadequate |
support-core-task-successclear-purpose-and-primary-action | pass | medium | The localized title, H1 and category/video navigation clearly identify the site as a video discovery service and expose search and content links. |
support-core-task-successprimary-flow-completion | issues | high | The signup panel is positioned mostly beyond the right edge of the 360 px viewport, preventing reliable completion of the primary registration flow. F12 critical: Signup flow is clipped and cannot be completed reliably on mobile |
support-core-task-successclear-system-state-and-recovery | pass | medium | The missing route explains that the page does not exist and offers a localized “Voltar à página inicial” recovery action. |
be-fast-and-stablegood-core-web-vitals | issues | high | Lighthouse measured LCP 3.9 s (outside the good <=2.5 s range), although CLS was 0; the trace observed LCP 1.19 s in a separate desktop-like run. F13 high: Mobile LCP is outside the good range |
be-fast-and-stablevisual-stability | pass | medium | Both layout captures and Lighthouse measured CLS 0 during the observation window. |
be-fast-and-stableefficient-main-thread | issues | high | The trace recorded two long tasks, longest 183 ms, and 150 ms total blocking time; mobile layout observation also recorded a 138 ms task. F14 medium: Long tasks block the main thread during load |
be-fast-and-stableefficient-resource-delivery | issues | high | Initial load makes 142 requests and transfers 1.78 MB, with 11 stylesheets and 61 scripts; three parser-inserted high-priority stylesheets are render-blocking candidates. F15 high: Initial delivery ships excessive script and request overhead |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | Scripts account for 1.02 MB across 61 requests; Lighthouse identifies avoidable unused JavaScript, including about 27 KB wasted in assetsLoader alone. F15 high: Initial delivery ships excessive script and request overhead |
be-inclusivenames-roles-labels | issues | high | Lighthouse found two focusable promotional links without accessible text; the image audit also found one image without alt text. F16 high: Focusable promotional links have no accessible name |
be-inclusivesufficient-contrast | issues | high | Lighthouse found multiple failures, including age-verification text at 1.75:1 and 2.15:1 and recurring metadata at 3.29:1, below 4.5:1. F17 high: Important text fails WCAG contrast |
be-inclusivestructure-and-focus | issues | high | Heading order passed, but focused search, login and button controls compute outline-style none and no replacement focus ring was detected. F18 high: Keyboard focus is not visibly indicated |
be-inclusivelegible-text | issues | high | Text and signup content are clipped outside the visual viewport because the document remains 1024 px wide at 360 px, harming reading and comprehension. F09 critical: Mobile templates remain 1024 px wide |
be-inclusivezoom-reflow-targets-and-media | issues | high | The layout does not reflow at 360 px and many links are only 16x16 or 20 px high; the mobile experience therefore fails reflow and target sizing. F11 high: Focus indicators and touch targets are inadequate |
follow-best-practicesno-console-errors | pass | medium | The Lighthouse console-error table contained zero items. |
follow-best-practicessound-document-and-assets | issues | high | Doctype, charset and viewport are present, but 29 of 36 images lack width/height and 14 are more than 2x their rendered width. F19 high: Image sizing and delivery waste bandwidth and risk instability |
follow-best-practicesbrowser-platform-hygiene | pass | medium | Best-practices scored 1.0, with no deprecation or console findings in the captured run. |
be-discoverabletitle-and-description | pass | medium | The Portuguese page has a descriptive unique title and meta description, both present in raw HTML. |
be-discoverablecrawlable-and-mobile-friendly | issues | high | Links use real hrefs and robots allows the entry page, but the declared viewport does not produce a mobile-friendly layout: content remains 1024 px wide at 360 px. F09 critical: Mobile templates remain 1024 px wide |
be-discoverablecanonical-and-indexing-signals | pass | medium | The entry page returns 200, declares its canonical URL, exposes localized alternatives, and robots.txt does not block it. |
be-discoverablestructured-and-shareable-metadata | issues | high | No JSON-LD block was found on this public content-rich landing page, leaving its organization/video catalog semantics implicit. F20 low: Content-rich pages lack structured data |
be-private-and-securesecure-transport-and-headers | issues | high | HTTPS and HSTS are present, but CSP only defines frame-ancestors and two cookies are not Secure; settings also uses SameSite=None. F21 high: Security policy and cookie defenses are incomplete |
be-private-and-securedata-minimisation-and-third-parties | issues | high | 116 of 142 requests and 1.67 MB are classified cross-origin; requests include collector.xhamster.com and an advertising VAST endpoint before consent is resolved. F22 high: Cross-origin collection dominates before consent |
be-private-and-securein-context-permissions-and-modern-auth | issues | high | No load-time permission prompt was observed, but the registration/auth surface exposes no WebAuthn or passkey capability in the inspected markup/scripts. F23 medium: Authentication exposes no phishing-resistant option |
be-private-and-securedefensive-browser-policies | issues | high | HSTS and SAMEORIGIN framing are set, but no Referrer-Policy or X-Content-Type-Options is present, Permissions-Policy broadly allows client hints, and CSP lacks script/style directives. F21 high: Security policy and cookie defenses are incomplete |
be-resilientprogressive-enhancement | pass | medium | Raw HTML contains 89% of rendered content tokens with title, H1 and description intact; the page is not a JavaScript shell. |
be-resilientresilient-runtime-behaviour | issues | high | Signup and shorts/age-gate panels are cut off beyond the right viewport edge, so modal runtime state is not robust to the active form factor. F12 critical: Signup flow is clipped and cannot be completed reliably on mobile |
be-resilientoffline-and-installable | not-applicable | high | A manifest is linked, but offline playback is not a reasonable expectation for this streaming catalog. |
be-resilientnetwork-and-http-failure-states | pass | medium | The localized 404 explains the failure, links home, and continues to expose useful content. |
be-internationalisedlang-dir-and-logical-properties | pass | medium | The document declares lang=pt and exposes a broad set of localized alternate links; Portuguese labels and reading order are coherent for this LTR locale. |
be-internationalisedlocale-aware-data | pass | medium | View counts and interface copy are localized for Portuguese (for example 32.3M Visualizações), and country/language variants are exposed. |
be-internationalisedtime-zone-correctness | not-applicable | high | No date/time scheduling or event-time flow appears on the audited public templates. |
be-trustworthyno-dark-patterns | pass | medium | Cookie consent offers equally prominent Accept and Reject actions and links to cookie/privacy policies; no confirmshaming was observed in the inspected state. |
be-trustworthyhumane-error-handling | issues | high | The general 404 is humane, but the signup dialog is clipped so its controls and validation flow cannot be reached reliably on mobile. F12 critical: Signup flow is clipped and cannot be completed reliably on mobile |
be-trustworthytrustworthy-input-assistance | pass | medium | The visible search field is clearly named and its autocomplete=off setting is proportionate for free-form site search; no address/payment fields were present on audited public states. |
be-trustworthysafe-commercial-and-account-flows | issues | high | The account-creation panel is mostly offscreen at 360 px, making account terms/actions hard to inspect and the flow difficult to reverse or complete. F12 critical: Signup flow is clipped and cannot be completed reliably on mobile |
be-sustainableoptimised-assets | issues | high | 14 of 36 images are oversized, 29 lack dimensions, 11 below-fold images are not lazy-loaded, and 14 use legacy formats. F19 high: Image sizing and delivery waste bandwidth and risk instability |
be-sustainableno-wasteful-work | issues | high | The first load executes 61 scripts and produces long tasks while 116 cross-origin requests transfer 1.67 MB, indicating substantial avoidable work before a user chooses content. F15 high: Initial delivery ships excessive script and request overhead F22 high: Cross-origin collection dominates before consent |
be-sustainablethird-party-and-media-budget | issues | high | Cross-origin resources account for 1.67 MB of a 1.78 MB load, including advertising, identity and collector endpoints before primary interaction. F22 high: Cross-origin collection dominates before consent |
be-agent-readystructured-agent-capabilities | not-applicable | high | No WebMCP or agent-tool surface was found. |
be-agent-readyon-device-inference | not-applicable | high | No built-in language-model or summarizer use was found. |
be-memory-efficientno-leak-under-repeated-interaction | pass | medium | Self size rose from 36.74 MB to 39.84 MB (+8.4%) and node count from 684,929 to 747,732 while exercising a content-loading feed; growth remained bounded in the finite test and no Detached* constructor entered the top summary. |
be-memory-efficientbounded-footprint | pass | medium | The loaded media catalog retained 36.7 MB self size at baseline; the largest populations were native DOM/browser objects and ordinary objects, proportionate to the dense feed. |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | medium | Neither summary lists Detached* constructors among the dominant populations, and finite repeated scrolling did not produce explosive retained growth. |
Provenance
Canonical report: results/atomic/reports/0003-pt_xhamster_com.json
Report SHA-256: a1dae0f6fcf6e75c8acb2781cfb957fd18780034c2a50c67f9fe057c09fc909d
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/pt_xhamster_com/2026-07-17T19-49-00-498Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/pt_xhamster_com/2026-07-17T19-49-00-498Z
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.