Manifest position 2 · CrUX rank bucket 1000
https://hotpic.cc
Coverage complete
Atomic coverage complete across five representative paths. Media-detail and authenticated account interiors were not covered because no stable non-sensitive detail URL or credentials were supplied.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | The default and emulated-dark screenshots are byte-identical (99,036 bytes); html reports color-scheme: normal while data-bs-theme="dark" fixes the palette. F01 medium: The theme is hard-coded dark instead of following the user’s color-scheme preference. |
respect-user-preferencesrespects-reduced-motion | pass | high | Emulated reduced motion matched true, the page had zero active animations, and authored CSS contains a reduced-motion rule. |
respect-user-preferencesrespects-contrast | pass | high | Forced-colors screenshot preserves text, dashed drop target, controls and nav labels; axe color-contrast passed. |
implement-natural-interactionsview-transitions | issues | high | The platform probe found document.startViewTransition support but no authored view-transition CSS; navigation is full-page and the search field swaps instantly. F02 low: Route and state changes do not use View Transitions. |
implement-natural-interactionsscroll-driven-animations | not-applicable | high | No scroll-linked animation or scrollytelling surface exists on the representative templates. |
implement-natural-interactionsphysical-gestures | not-applicable | high | No swipe, pull, carousel or other gesture-driven interaction exists on the tested templates. |
provide-guided-navigationscroll-state-aware-chrome | issues | high | The homepage is 2,367 CSS px tall on mobile and listing/search DOMs are much taller, while computed navigation is static and no scroll-state treatment was found. F03 low: Navigation chrome does not communicate scroll state on long pages. |
provide-guided-navigationanchored-positioning | not-applicable | high | No tooltip, popover or edge-positioned menu was present on the representative paths. |
provide-guided-navigationdirects-attention | issues | high | Representative screenshots show the same navigation treatment across Upload, Search, Albums and Login; no current item marker is visible. F04 low: Navigation lacks a current-location or transition cue. |
maximize-content-reduce-noiseno-intrusive-interruptions | pass | high | Load screenshots show two in-flow notices that do not cover the upload task; the promotional notice has a 48×56 dismiss button. |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | The DOM probe records Search as href="#"; raw HTML wires click and keyup handlers to toggle an input rather than using a button/disclosure or semantic search form. F05 medium: The search control is an anchor with href="#" and manual show/hide behavior. |
maximize-content-reduce-noisereduced-chrome | pass | high | Desktop and mobile screenshots devote the dominant viewport area to the upload drop target and metadata form rather than decorative chrome. |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | pass | high | At 360×800, layout reports scrollWidth=clientWidth=360, horizontalOverflowPx=0 and viewport metadata present. |
adapt-to-the-form-factorcomponent-level-responsiveness | issues | high | The platform probe found no @container rules even though navigation and forms are reused in narrow and wide contexts. F06 low: Shared components adapt only through viewport styling, not their container. |
adapt-to-the-form-factorinput-modality-aware | issues | high | The focus probe found outline: none on text inputs, textarea, checkboxes and radios; multiple controls measure 16×16 CSS px. F07 high: Several form controls lose visible keyboard focus and have 16px targets. |
support-core-task-successclear-purpose-and-primary-action | pass | high | The first viewport presents the logo, upload navigation and a dominant “Drop files here or click to upload” target with limits and accepted formats. |
support-core-task-successprimary-flow-completion | pass | high | Interaction/DOM review confirmed a clickable dropzone, required metadata fields, content settings and visible UPLOAD submit control in one continuous form; no account wall precedes it. |
support-core-task-successclear-system-state-and-recovery | pass | high | requestSubmit on the empty form focused title and produced browser validation messages for both required fields after interaction. |
be-fast-and-stablegood-core-web-vitals | pass | high | Lighthouse measured LCP 1.78s, CLS 0 and TBT 148ms; trace measured LCP 1.48s and TBT 41ms. |
be-fast-and-stablevisual-stability | pass | high | Mobile and desktop layout observers both recorded CLS 0 with no shifts over the observation window. |
be-fast-and-stableefficient-main-thread | pass | high | Trace found one 91ms long task and 41ms total blocking time; Lighthouse TBT remained 148ms, within a responsive load range. |
be-fast-and-stableefficient-resource-delivery | issues | high | HAR lists six parser-inserted stylesheets; Lighthouse estimates 310 ms render-blocking savings and flags font-display. F08 medium: Render-blocking CSS and font delivery delay the critical path. |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | Lighthouse estimates 180 KiB unused JavaScript, 48 KiB unused CSS, 14 KiB unminified JS and 8 KiB legacy JS; HAR shows 1.5 MB script content. F09 medium: The page ships avoidable unused and legacy front-end code. |
be-inclusivenames-roles-labels | issues | high | axe reports no main landmark; the DOM probe shows required title and description fields with label:null. F10 high: The primary upload form lacks programmatic labels and a main landmark. |
be-inclusivesufficient-contrast | pass | high | axe color-contrast passed and the forced-colors capture kept all first-viewport copy and controls visible. |
be-inclusivestructure-and-focus | issues | high | axe reports page-has-heading-one, landmark-one-main and region failures; the focus probe reports outline none for primary inputs. F11 high: The homepage has no h1/main structure and focus styling disappears on form controls. |
be-inclusivelegible-text | pass | high | Desktop/mobile screenshots show 16px body copy, clear line wrapping and no clipping; mobile layout reports no horizontal overflow. |
be-inclusivezoom-reflow-targets-and-media | issues | high | axe and Lighthouse flag user-scalable=no and maximum-scale=1; the raw viewport meta confirms both values. F12 critical: The viewport disables pinch zoom. |
follow-best-practicesno-console-errors | pass | high | Lighthouse best-practices scored 1.00 and reported no console/uncaught-exception failure. |
follow-best-practicessound-document-and-assets | issues | high | The image primitive reports two images without complete dimensions; Lighthouse unsized-images scored 0.5. F13 low: Some images lack explicit intrinsic dimensions. |
follow-best-practicesbrowser-platform-hygiene | pass | high | Lighthouse best-practices scored 1.00; no permission prompt appeared, no secret was exposed and inspected forms accepted normal browser behavior. |
be-discoverabletitle-and-description | pass | high | Raw and rendered DOM expose a descriptive unique title and a substantive meta description. |
be-discoverablecrawlable-and-mobile-friendly | issues | high | Fetching /robots.txt returns the homepage as text/html; Lighthouse reports 760 robots errors, and Search uses href="#". F14 high: robots.txt is not a robots file and one navigation link is not crawlable. |
be-discoverablecanonical-and-indexing-signals | issues | high | Both /robots.txt and /sitemap.xml returned the homepage with HTTP 200 and self-canonicals for those paths instead of protocol files or proper errors. F15 high: Missing paths return misleading HTML and sitemap/robots signals are inconsistent. |
be-discoverablestructured-and-shareable-metadata | issues | high | Raw HTML has title and description tags but no og:image, og:type, Twitter card or JSON-LD describing the service. F16 low: Share metadata is incomplete for a public media-hosting service. |
be-private-and-securesecure-transport-and-headers | issues | high | The headers primitive confirms HTTPS and nosniff but reports no Content-Security-Policy or Strict-Transport-Security. F17 high: HTTPS is present, but CSP and HSTS are missing. |
be-private-and-securedata-minimisation-and-third-parties | issues | high | HAR attributes 616,253 of 746,826 transferred bytes to third parties; tracker evidence finds Google Analytics, Tag Manager and DoubleClick across 10 third-party origins. F18 high: Third-party analytics dominate the transferred bytes. |
be-private-and-securein-context-permissions-and-modern-auth | issues | high | Login exposes email/password and Google sign-in; the probe found no authored WebAuthn flow or autocomplete tokens. No permission prompt fired on load. F19 medium: Password login has no phishing-resistant passkey option. |
be-private-and-securedefensive-browser-policies | issues | high | Headers include SAMEORIGIN, nosniff and strict-origin-when-cross-origin, but Permissions-Policy, CSP and HSTS are absent. F20 medium: Defensive response policies are incomplete. |
be-resilientprogressive-enhancement | pass | high | Discoverability measured 99% raw-to-rendered content coverage, isJsShell=false, with title and description present without JavaScript. |
be-resilientresilient-runtime-behaviour | pass | high | Search toggle, dismiss button, form validation and representative routes rendered without clipping or runtime failure in desktop/mobile probes. |
be-resilientoffline-and-installable | issues | high | The manifest has empty name/short_name and white theme values inconsistent with the UI; no service-worker registration, controller or caches were found. F21 medium: The app-like upload service is neither installable nor offline-capable in practice. |
be-resilientnetwork-and-http-failure-states | issues | high | /robots.txt and /sitemap.xml both return HTTP 200 homepage HTML, demonstrating that missing/special routes do not communicate truthful failure or recovery state. F22 high: Missing protocol and resource routes fail as a misleading successful homepage. |
be-internationalisedlang-dir-and-logical-properties | issues | high | Raw HTML has lang="en" but no dir and includes <meta name="google" content="notranslate"> despite hreflang variants and global use. F23 medium: The public service discourages translation and lacks explicit direction metadata. |
be-internationalisedlocale-aware-data | not-applicable | high | Representative pages expose no user-facing dates, numbers, currency, durations or calendar data to format. |
be-internationalisedtime-zone-correctness | not-applicable | high | No event, schedule, recurring interval or time-zone-sensitive data appears in scope. |
be-trustworthyno-dark-patterns | issues | high | The rendered form probe shows the adult content radio checked by default, which can misclassify uploads without an explicit user choice. F24 high: New uploads default to “Adult XXX Content.” |
be-trustworthyhumane-error-handling | pass | high | Validation occurs on submit, focuses the first invalid field and uses clear native “Please fill in this field” messages rather than premature errors. |
be-trustworthytrustworthy-input-assistance | issues | high | The login probe shows email and password inputs with autocomplete:"" and no labels. F25 medium: Sign-in fields omit autocomplete tokens and rely on placeholders. |
be-trustworthysafe-commercial-and-account-flows | issues | high | The login journey offers password/Google sign-in but no passkey path, and omits sign-in autocomplete semantics. F26 medium: Account sign-in lacks modern credential assistance. |
be-sustainableoptimised-assets | pass | high | The image inventory is dominated by lightweight SVG icons; only 7.5 KB of image bytes transferred and no legacy raster format was found. |
be-sustainableno-wasteful-work | issues | high | Two Tag Manager scripts plus Analytics/DoubleClick run on load; 16 script requests transfer 509 KB and Lighthouse finds substantial unused code. F27 medium: Duplicate analytics and unconditional libraries create avoidable work. |
be-sustainablethird-party-and-media-budget | issues | high | Third parties account for 82.5% of transferred bytes (616 KB of 747 KB), led by Tag Manager and a 150 KB icon font. F28 high: The third-party budget is disproportionate to the simple upload landing page. |
be-agent-readystructured-agent-capabilities | not-applicable | high | No declared agent-facing intent or capability surface exists; this emerging opportunity is out of scope for this public media host audit. |
be-agent-readyon-device-inference | not-applicable | high | No summarisation, language-model or other inference use case is exposed or declared on the tested paths. |
be-memory-efficientno-leak-under-repeated-interaction | pass | medium | After ten real search open/close cycles, heap self-size was 12.31 MB versus 11.85 MB baseline (+3.9%); stable major constructor counts and no Detached constructor in the top population provide no unbounded-growth signal. |
be-memory-efficientbounded-footprint | pass | medium | Runtime probe measured 8.18 MB used JS heap and 191 DOM elements; heap summary total self-size was 11.85 MB, proportionate for this page. |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | medium | Baseline/post summaries show stable Map (179), Set (145) and core library constructor populations, with no Detached node constructor among top retained populations after ten toggles. |
Provenance
Canonical report: results/atomic/reports/0002-hotpic_cc.json
Report SHA-256: 51d07a6f23ae21f66d18905da8a51f9178ef562de92fec6799ea1b01387ebb7d
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/hotpic_cc/2026-07-17T19-38-01-054Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/hotpic_cc/2026-07-17T19-38-01-054Z
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.