Manifest position 958 · CrUX rank bucket 1000

https://www.threads.com

Coverage complete

Coverage-complete external audit of anonymous public surfaces. Authenticated posting, settings, notifications, account deletion and live checkout/commercial flows were not covered because no credentials were provided.

Attempts
1 / 3
Judged checks
58 / 58
Blocked
0
Not run
0
This report has no published overall score. Blocked and not-run checks are not passes. A coverage-complete report means every check has a judged outcome; it does not mean every check passed.

All 58 atomic check outcomes

Principle / checkStatusConfidenceEvidence or reason
respect-user-preferences
respects-color-scheme
passhighThe consent and underlying application surfaces switch from white/black in light mode to #101010/dark surfaces in dark mode.
respect-user-preferences
respects-reduced-motion
issueshighWith prefers-reduced-motion: reduce matched, the evaluate probe still found a running 800 ms animation plus multiple 0.2–0.5 s transitions.
WU-001 medium: Reduced-motion preference still leaves non-essential motion running
respect-user-preferences
respects-contrast
issueshighDefault rendering already fails normal-text contrast, so preference/contrast robustness is not met.
WU-012 medium: Muted text fails WCAG contrast
implement-natural-interactions
view-transitions
passmediumLoaded CSS contains view-transition rules and route/navigation surfaces remain continuous.
implement-natural-interactions
scroll-driven-animations
not-applicablehighNo parallax, scrollytelling, or scroll-linked animation is present on the representative public surfaces, so there is no scroll-driven motion to implement.
implement-natural-interactions
physical-gestures
passmediumThe public feed uses native vertical scrolling and standard link/button activation; no custom pointer-drag surface was observed.
provide-guided-navigation
scroll-state-aware-chrome
issueshighCSS inspection found no scroll timeline or scroll-state behavior; desktop and mobile captures show static navigation with no progress or state-aware header treatment.
WU-004 low: Feed chrome does not expose scroll-state feedback
provide-guided-navigation
anchored-positioning
passmediumThe loaded stylesheet contains anchor positioning/position-try declarations for overlay placement.
provide-guided-navigation
directs-attention
passmediumThe selected Home label, page h1, profile headings and Thread heading consistently identify the current location.
maximize-content-reduce-noise
no-intrusive-interruptions
issueshighDesktop and 360 px screenshots show the consent dialog obscuring the entire feed before any interaction; the mobile dialog consumes nearly the full viewport.
WU-002 high: A full-page cookie dialog interrupts every first visit
maximize-content-reduce-noise
semantic-dismissible-primitives
issueshighDOM probes found zero native dialog/popover/details elements; consent is a div with role=dialog and its actions are div role=button controls.
WU-003 medium: Consent and promotional overlays are custom div dialogs
maximize-content-reduce-noise
reduced-chrome
passhighAfter consent dismissal, content occupies the main surface with restrained navigation and minimal borders; the mobile feed gives almost all space to posts.
adapt-to-the-form-factor
responsive-no-horizontal-scroll
passhighscrollWidth, clientWidth and innerWidth were all 360 px, horizontalOverflowPx was 0, and the feed reflowed into a single mobile column.
adapt-to-the-form-factor
component-level-responsiveness
passhighLoaded CSS contains @container rules; the feed/navigation components materially reorganise between desktop sidebar and mobile bottom navigation.
adapt-to-the-form-factor
input-modality-aware
issueshighThe focus probe reported many anchors and role=button controls with outline-style none; panorama buttons measured only 10 px wide, below a usable touch target.
WU-005 medium: Several focusable controls have invisible focus and tiny geometry
support-core-task-success
clear-purpose-and-primary-action
passhighHome, profile identity and Thread headings clearly communicate each surface; Log in is visible while public browsing remains available.
support-core-task-success
primary-flow-completion
passmediumPublic feed, profile and thread details loaded end-to-end without login; search accepted a query and navigated to the expected query URL.
support-core-task-success
clear-system-state-and-recovery
issueshighA submitted search navigated to a query URL but exposed only the query and footer after 2.5 s, with no loading/empty guidance; an unknown URL silently redirected to login instead of a clear not-found state.
WU-006 medium: Search and unknown-route states do not explain what happened
be-fast-and-stable
good-core-web-vitals
issueshighLighthouse measured FCP 7.0 s, LCP 16.2 s, Speed Index 13.9 s and performance score 0.30; the raw CDP trace independently measured FCP 6.70 s and LCP 11.34 s.
WU-007 critical: Initial rendering is extremely slow
be-fast-and-stable
visual-stability
issueshighLighthouse measured CLS 1.0 and reported one large layout shift, far above the 0.1 good threshold, although the settled mobile primitive observed no later shifts.
WU-008 high: The loading experience produces a severe layout shift
be-fast-and-stable
efficient-main-thread
passhighLighthouse TBT was 70 ms and the trace summary found zero >50 ms long tasks and 0 ms total blocking time in its captured window.
be-fast-and-stable
efficient-resource-delivery
issueshighHAR captured 105 requests and 3,191,522 transferred bytes; 29 scripts transferred 1.52 MB and the parser-inserted stylesheet took 5.20 s.
WU-009 high: The anonymous feed has a heavy and slow critical delivery path
be-fast-and-stable
trim-unused-and-duplicate-code
issueshighLighthouse estimated 871 KiB unused JavaScript and 103 KiB unused CSS, including 96.5% of the main stylesheet.
WU-010 high: Most shipped CSS and substantial JavaScript are unused on the audited view
be-inclusive
names-roles-labels
issueshighLighthouse found an unnamed role=dialog; the image primitive found five of eleven images without alt text, including content imagery.
WU-011 high: Dialogs and media lack accessible names or alternatives
be-inclusive
sufficient-contrast
issueshighLighthouse found timestamps at 4.24:1 on #101010 and promo copy at 3.96:1 on #181818, below the required 4.5:1 for normal text.
WU-012 medium: Muted text fails WCAG contrast
be-inclusive
structure-and-focus
issueshighProgrammatic focus on navigation and feed controls repeatedly produced outline-style none and no box shadow; the DOM also relies heavily on generic div role=button controls.
WU-013 high: Keyboard focus is not consistently visible
be-inclusive
legible-text
passmediumPrimary post text uses readable line lengths, stable wrapping and unclipped 15–16 px body text on both viewports; contrast defects are recorded separately.
be-inclusive
zoom-reflow-targets-and-media
issueshighLighthouse failed meta-viewport because maximum-scale was below 5; the probe also found 10 px-wide focusable panorama controls.
WU-014 high: Mobile zoom is restricted and some targets are too small
follow-best-practices
no-console-errors
passhighLighthouse scored the console-errors audit 1.0 with no logged browser errors.
follow-best-practices
sound-document-and-assets
issueshighLighthouse reported a missing/late charset; image inspection found seven oversized images and nine legacy-format images.
WU-015 medium: Document and image hygiene has avoidable defects
follow-best-practices
browser-platform-hygiene
issueshighLighthouse reported an unload event listener in the primary Instagram CDN bundle, an API Chrome is removing.
WU-016 medium: A deprecated unload listener harms platform hygiene and BFCache readiness
be-discoverable
title-and-description
passhighHome, profile and post each expose a descriptive title and meta description; the profile/post values reflect visible content.
be-discoverable
crawlable-and-mobile-friendly
issueshighDiscoverability measured only 6% raw-HTML coverage on home (isJsShell=true) and 16% on the thread detail; the crawler screenshots expose far less content than rendered views.
WU-017 high: The home feed and thread content are largely absent without JavaScript
be-discoverable
canonical-and-indexing-signals
passmediumRepresentative pages returned 200, exposed self-canonicals, and public profile/post routes are represented by a substantial sitemap; robots restrictions are deliberate and agent-specific restrictions are judged under agent readiness.
be-discoverable
structured-and-shareable-metadata
issueshighProfile and thread probes found useful Open Graph metadata but zero JSON-LD blocks for ProfilePage/Person or SocialMediaPosting entities.
WU-018 low: Rich public entities have social metadata but no structured data
be-private-and-secure
secure-transport-and-headers
issueshighHeaders show HTTPS, HSTS and CSP, but style-src allows unsafe-inline, Referrer-Policy is absent, and the 400-day csrftoken uses SameSite=None.
WU-019 medium: Security policy has avoidable gaps
be-private-and-secure
data-minimisation-and-third-parties
passmediumNo known tracker domains or exposed secrets were found; observed cross-origin requests were Meta/Instagram asset and media CDNs disclosed by the consent surface.
be-private-and-secure
in-context-permissions-and-modern-auth
passmediumNo permission prompt appeared on load; Permissions-Policy disables most capabilities, and login markup includes username/current-password autocomplete plus WebAuthn/passkey-related code.
be-private-and-secure
defensive-browser-policies
issueshighHSTS, X-Frame-Options DENY, nosniff and a broad Permissions-Policy are present, but the missing Referrer-Policy, unsafe-inline style policy and SameSite=None CSRF cookie leave gaps.
WU-019 medium: Security policy has avoidable gaps
be-resilient
progressive-enhancement
issueshighRaw server HTML retained only 6% of rendered home words and 16% on the thread detail, leaving important public content unavailable to non-JS and failure conditions.
WU-020 high: Core public content depends heavily on JavaScript
be-resilient
resilient-runtime-behaviour
passmediumHome, profile, post and search rendered without clipped primary chrome or runtime errors at desktop/mobile widths; CSS includes anchored positioning and container queries.
be-resilient
offline-and-installable
issueshighA valid standalone manifest and icons exist, but the runtime probe found no active service-worker controller on the app-like home experience.
WU-021 medium: The app manifest is present but the page is not controlled for offline use
be-resilient
network-and-http-failure-states
issueshighThe intentionally unknown public URL redirected to /login/?next=... with no 404 explanation, recovery action, or indication that the requested resource does not exist.
WU-022 medium: Unknown routes fail into an unrelated login screen
be-internationalised
lang-dir-and-logical-properties
passhighThe document declares lang=en and dir=ltr; loaded CSS includes logical inline properties and content spans use dir=auto where appropriate.
be-internationalised
locale-aware-data
passmediumPublic time values are human-readable relative durations such as 8h/16h rather than hard-coded locale-specific absolute date strings; no currency or numeric form entry appears in audited surfaces.
be-internationalised
time-zone-correctness
not-applicablehighThe audited public feed/profile/thread surfaces expose relative ages only and no scheduled event, recurrence, calendar input, or absolute cross-zone time requiring DST coordination.
be-trustworthy
no-dark-patterns
passmediumConsent presents both Allow all and Decline optional choices without confirmshaming, and public browsing does not force account creation.
be-trustworthy
humane-error-handling
issueshighAfter empty submission, focus moved to the username field but the probe found no :invalid elements, aria-invalid state, alert or live-region message.
WU-023 low: Empty login submission gives no explicit accessible feedback
be-trustworthy
trustworthy-input-assistance
passhighLogin uses autocomplete=username and current-password; the search field uses the native search input type.
be-trustworthy
safe-commercial-and-account-flows
passmediumThe visible account entry offers direct login, password recovery and Continue with Instagram without pricing, forced subscription or disguised commercial commitment.
be-sustainable
optimised-assets
issueshighImage inspection found seven oversized images, nine legacy-format images and seven below-fold images without lazy loading.
WU-024 medium: Images are frequently oversized, legacy-format, and eagerly loaded
be-sustainable
no-wasteful-work
passmediumDespite a heavy startup payload, the captured trace had no long tasks and no known third-party trackers; waste attributable to unused code/assets is recorded in adjacent checks.
be-sustainable
third-party-and-media-budget
issueshighHAR attributed 3.02 MB and 87 of 105 requests to CDN origins outside www.threads.com, including 1.27 MB of images and media fetched during initial load.
WU-025 high: Anonymous browsing transfers a disproportionate third-party/media payload
be-agent-ready
structured-agent-capabilities
not-applicablehighThreads explicitly disallows major AI agents in robots.txt and exposes no intended agent-facing action surface; this emerging capability is therefore judged outside the declared public surface.
be-agent-ready
on-device-inference
not-applicablehighNo summarisation/composition inference feature is offered on the audited anonymous surfaces, so on-device inference has no applicable user task here.
be-memory-efficient
no-leak-under-repeated-interaction
passmediumAfter ten bottom/top scroll cycles, heap self-size decreased from 35,314,814 to 34,996,483 bytes and snapshot node count decreased from 696,984 to 675,806; no retained-growth signal appeared.
be-memory-efficient
bounded-footprint
passmediumThe settled anonymous feed used about 35 MB V8 self-size; its largest categories were native/code/object allocations and the footprint remained bounded after exercise.
be-memory-efficient
no-detached-dom-or-unbounded-listeners
passmediumNeither summary exposed Detached* constructors among top retained constructors, and closure/object counts fell after repeated scrolling rather than accumulating.

Provenance

Canonical report: results/atomic/reports/0958-www_threads_com.json
Report SHA-256: 8541860340863070d0230709484727afd5890ac13e1ee0e178aaf9b081097494
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_threads_com/2026-07-24T03-41-50-417Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_threads_com/2026-07-24T03-41-50-417Z
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.