Manifest position 132 · CrUX rank bucket 1000
https://m.hqporner.com
Coverage complete
Coverage-complete audit of six representative routes and global transport/network behavior.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | Light and dark emulation screenshots are visually identical, while the DOM reports color-scheme: normal. F01 medium: The fixed dark palette does not respond to the user’s colour-scheme preference. |
respect-user-preferencesrespects-reduced-motion | pass | high | Reduced-motion emulation matched and document.getAnimations() returned zero active animations, so no non-essential motion remained to suppress. |
respect-user-preferencesrespects-contrast | pass | high | Lighthouse contrast testing remained able to inspect controls and text; failures are recorded under inclusive contrast, but no forced-colors-only disappearance was observed. |
implement-natural-interactionsview-transitions | issues | high | The UI probe found no view-transition CSS and navigation is conventional full-document replacement. F02 low: Route changes do not use view transitions. |
implement-natural-interactionsscroll-driven-animations | pass | high | DOM/CSS inspection found no scroll event animation implementation or scroll-linked effects, so the page avoids a main-thread scroll-animation anti-pattern. |
implement-natural-interactionsphysical-gestures | pass | high | Representative navigation uses native links and scrolling; no custom pointer/gesture handlers were observed fighting platform behavior. |
provide-guided-navigationscroll-state-aware-chrome | issues | high | Layout measured a 16,547px mobile page; screenshots and DOM show static chrome with no scroll progress or scroll-state treatment. F03 medium: The very long listing has no position-aware navigation or progress cue. |
provide-guided-navigationanchored-positioning | not-applicable | high | No tooltip, contextual popover, or edge-positioned menu was present on the representative paths. |
provide-guided-navigationdirects-attention | issues | high | No view-transition/highlight/scroll-marker treatment was found, and card links have empty visible text in the DOM probe. F04 low: Navigation and in-page state changes provide no attention cue. |
maximize-content-reduce-noiseno-intrusive-interruptions | issues | high | Mobile and desktop screenshots show a fixed blurred overlay covering the content before interaction. F05 high: A full-screen age-verification interstitial obscures every primary content page on load. |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | DOM CSS shows .ageverif_overlay/.ageverif_banner fixed divs; the primary action is an anchor with onclick and no href. F06 high: The age gate is an ad-hoc fixed div rather than a semantic modal dialog. |
maximize-content-reduce-noisereduced-chrome | issues | high | HAR recorded 145 requests and the DOM contains several ad-network promotions mixed among listing cards; screenshots show the content behind the gate. F07 medium: Advertising and promotional chrome competes heavily with the content. |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | pass | high | Active inspection across the representative homepage, listing, detail, search, contact and failure paths found the expected outcome for “Layout adapts to narrow viewports with no horizontal overflow and no fixed pixel widths forcing a desktop layout on mobile; viewport meta present; fluid scaling and intrinsic sizing rather than brittle breakpoints.”; supporting observations are recorded in the referenced artifacts. |
adapt-to-the-form-factorcomponent-level-responsiveness | issues | high | The UI probe found zero @container rules, while reused listing/ad components are constrained through fixed and viewport media-query CSS. F08 medium: Components rely on viewport CSS rather than container-aware adaptation. |
adapt-to-the-form-factorinput-modality-aware | issues | high | The first focused action computed outline-style:none; 50 of 115 interactive elements measured below 44px in one dimension. F09 high: Keyboard focus is invisible and many targets are undersized. |
support-core-task-successclear-purpose-and-primary-action | pass | high | Raw/rendered DOM and page title clearly identify a high-definition video catalogue, with search, category and detail links exposed. |
support-core-task-successprimary-flow-completion | issues | high | Homepage and detail screenshots remain behind the gate; activating Verify My Age produced an empty fixed panel in the category capture rather than completing the journey. F10 critical: The primary browse-to-watch journey is blocked by an external age-verification dependency. |
support-core-task-successclear-system-state-and-recovery | issues | high | The attempted verification showed a blank modal panel; the contact form marks no field required and provides no visible inline validation before submission. F11 high: Verification and form flows lack useful recovery states. |
be-fast-and-stablegood-core-web-vitals | issues | high | Lighthouse measured LCP 3.4s and CLS 0.204; trace corroborated 2.03s LCP in a separate run. F12 high: Measured mobile loading misses good LCP and CLS thresholds. |
be-fast-and-stablevisual-stability | issues | high | Lighthouse measured LCP 3.4s and CLS 0.204; trace corroborated 2.03s LCP in a separate run. F12 high: Measured mobile loading misses good LCP and CLS thresholds. |
be-fast-and-stableefficient-main-thread | pass | high | Trace recorded zero long tasks and 0ms total blocking time; Lighthouse TBT was 10ms. |
be-fast-and-stableefficient-resource-delivery | issues | high | HAR measured 145 requests and 6.62MB transferred, including eight parser-blocking stylesheets and six classic scripts without async/defer confirmed by the platform probe. F13 high: The landing page performs a heavy, blocking network load. |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | Lighthouse estimated 250KiB unused JS, including analytics and repeated ad-provider payloads with 45% to 94% waste. F14 medium: Substantial unused third-party JavaScript ships on initial load. |
be-inclusivenames-roles-labels | issues | high | Lighthouse failed image-alt; the image audit found eight missing alt attributes, including the menu icon and age-gate icon. F15 high: Controls and images lack accessible names or alternatives. |
be-inclusivesufficient-contrast | issues | high | Lighthouse measured 2.83:1 on Verify My Age and 3.06:1 on repeated metadata text, below 4.5:1. F16 high: Important text and the verification action fail minimum contrast. |
be-inclusivestructure-and-focus | issues | high | The gate is a generic div and its focused action has outline:none; the action is an anchor without href. F17 high: The age gate does not provide robust keyboard semantics or visible focus. |
be-inclusivelegible-text | issues | high | Lighthouse measured 2.83:1 on Verify My Age and 3.06:1 on repeated metadata text, below 4.5:1. F16 high: Important text and the verification action fail minimum contrast. |
be-inclusivezoom-reflow-targets-and-media | issues | high | Viewport content includes maximum-scale=1,user-scalable=no; the detail probe found videos with no <track> captions; 50 targets are undersized. F18 high: The page disables zoom and video lacks text alternatives. |
follow-best-practicesno-console-errors | issues | high | Lighthouse captured “$(...).nivoSlider is not a function” in custom.js line 206. F19 medium: The page throws an uncaught JavaScript exception during load. |
follow-best-practicessound-document-and-assets | issues | high | The image audit found all 54 images missing width/height, 47 below-fold images not lazy, 46 without srcset and 53 legacy-format assets. F20 medium: Images are not dimensioned or delivered responsively. |
follow-best-practicesbrowser-platform-hygiene | issues | high | Lighthouse captured “$(...).nivoSlider is not a function” in custom.js line 206. F19 medium: The page throws an uncaught JavaScript exception during load. |
be-discoverabletitle-and-description | pass | high | Homepage and detail probes found descriptive unique titles and meta descriptions. |
be-discoverablecrawlable-and-mobile-friendly | issues | high | Lighthouse failed crawlable-anchors; Verify My Age is an anchor without href and the link probe recorded many empty-text detail links and # actions. F21 medium: Several actions and cards are not crawlable or descriptive links. |
be-discoverablecanonical-and-indexing-signals | pass | high | Homepage returned 200, robots allows crawling, sitemap.xml returned content, and detail/contact pages expose canonical URLs. |
be-discoverablestructured-and-shareable-metadata | issues | high | The detail probe found no JSON-LD, Open Graph tags or hreflang despite a clearly identified video entity. F22 medium: Video detail pages lack structured and social-preview metadata. |
be-private-and-securesecure-transport-and-headers | issues | high | Headers found no CSP, HSTS, nosniff, frame protection, Referrer-Policy or Permissions-Policy; cookies found three non-Secure and all six SameSite=None. F23 critical: The HTTPS response omits baseline security headers and sets weak cookies. |
be-private-and-securedata-minimisation-and-third-parties | issues | high | Tracker capture found 16 third-party origins including Google Analytics and Yandex/Webvisor; HAR attributes 6.61MB of 6.62MB to third-party origins. F24 high: The page sends a large tracking and advertising footprint before consent. |
be-private-and-securein-context-permissions-and-modern-auth | pass | high | Platform probe found no geolocation/notification strings or prompts on load; no authentication surface was part of the public journey. |
be-private-and-securedefensive-browser-policies | issues | high | Headers found no CSP, HSTS, nosniff, frame protection, Referrer-Policy or Permissions-Policy; cookies found three non-Secure and all six SameSite=None. F23 critical: The HTTPS response omits baseline security headers and sets weak cookies. |
be-resilientprogressive-enhancement | pass | high | Discoverability fetched 200 raw HTML with 92% rendered-word coverage, title and h1 present, and no empty JS shell. |
be-resilientresilient-runtime-behaviour | issues | high | Homepage and detail screenshots remain behind the gate; activating Verify My Age produced an empty fixed panel in the category capture rather than completing the journey. F10 critical: The primary browse-to-watch journey is blocked by an external age-verification dependency. |
be-resilientoffline-and-installable | not-applicable | high | This public media catalogue is not presented as an installable app; offline video delivery is not a proportionate requirement. |
be-resilientnetwork-and-http-failure-states | issues | high | A genuine HTTP 404 response still renders the full-screen verification overlay, hiding any recovery content; verification itself produced an empty panel. F25 high: Failure handling is obscured by the same mandatory gate. |
be-internationalisedlang-dir-and-logical-properties | issues | high | UI and platform probes both report empty html.lang and html.dir. F26 medium: The document does not declare its language or direction. |
be-internationalisedlocale-aware-data | not-applicable | high | Representative pages contain no dates, prices, currencies, or locale-sensitive numeric data. |
be-internationalisedtime-zone-correctness | not-applicable | high | No event scheduling or time-zone-sensitive concepts appear in the audited routes. |
be-trustworthyno-dark-patterns | issues | high | The link probe shows local-dating and AI promotions whose href resolves to the homepage, alongside separate ad-network redirects, without clear ad semantics. F27 high: Promotional links are visually mixed into content and use misleading destinations. |
be-trustworthyhumane-error-handling | issues | high | The contact probe found Name, Email and Message all required=false and no demonstrated inline error model. F28 medium: The contact form does not express required fields or post-interaction validation. |
be-trustworthytrustworthy-input-assistance | issues | high | The contact probe found empty autocomplete values and the homepage search explicitly uses autocomplete=off. F29 medium: The contact and search inputs omit useful autocomplete semantics. |
be-trustworthysafe-commercial-and-account-flows | not-applicable | high | No checkout, subscription, authenticated account-management, or cancellation flow was in the representative public journey. |
be-sustainableoptimised-assets | issues | high | Image audit found 53 legacy-format images, 46 without responsive sources, 47 eager below-fold images and 54 without intrinsic dimensions. F30 high: The image payload is broadly unoptimised. |
be-sustainableno-wasteful-work | issues | high | HAR transferred 4.47MB as XHR/fetch, led by five third-party MP4 files, before the user reached core content. F31 high: Initial load fetches multiple promotional video previews and analytics work. |
be-sustainablethird-party-and-media-budget | issues | high | HAR measured 6.61MB third-party transfer and 144 of 145 requests; five ad-network MP4 previews account for most bytes. F32 high: Third-party media dominates the page budget. |
be-agent-readystructured-agent-capabilities | not-applicable | high | The site exposes a browse/watch media catalogue and declares no agent-facing capability or intent; this emerging opportunity is contextual. |
be-agent-readyon-device-inference | not-applicable | high | No summarisation, generation, or other inference task is part of the observed experience; on-device AI is not applicable. |
be-memory-efficientno-leak-under-repeated-interaction | pass | high | After 20 menu toggles, heap self size was 7.13MB versus 6.80MB baseline and snapshot nodes rose 2%; this bounded one-run delta does not show unbounded growth. |
be-memory-efficientbounded-footprint | pass | high | Baseline contact-page heap was 6.8MB self size with 142,679 nodes in the snapshot, proportionate and stable for the loaded third-party scripts. |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | high | Before/after heap summaries showed only a small bounded node delta after 20 toggles and no growing Detached* constructor among top populations. |
Provenance
Canonical report: results/atomic/reports/0132-m_hqporner_com.json
Report SHA-256: bcf394a0c18cf95cbee33ec923a272b215c4e7aa8cba577337e0718095e319b0
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/m_hqporner_com/2026-07-18T15-39-55-384Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/m_hqporner_com/2026-07-18T15-39-55-384Z
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.