Manifest position 309 · CrUX rank bucket 1000
https://bit.ly
Coverage complete
Coverage-complete representative audit of the redirected bitly.com public marketing, product, pricing, article, signup and error templates.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | Dark emulation produced the same visual/bytes; no dark rules and color-scheme is normal. F01 medium: The public site ignores the user’s dark color-scheme preference. |
respect-user-preferencesrespects-reduced-motion | pass | medium | The condition matched and document.getAnimations() returned no running animations on load. |
respect-user-preferencesrespects-contrast | pass | medium | Controls and text remain visible under increased contrast; stylesheet probing found a contrast media rule. |
implement-natural-interactionsview-transitions | issues | medium | No view-transition CSS was found and tested route changes use ordinary full-page navigation. F02 low: Route and major state changes do not use View Transitions. |
implement-natural-interactionsscroll-driven-animations | not-applicable | high | No scroll-linked animation was present on sampled paths, so there is no such effect to implement declaratively. |
implement-natural-interactionsphysical-gestures | not-applicable | high | The representative paths use links, forms and buttons rather than custom swipe/pull interactions. |
provide-guided-navigationscroll-state-aware-chrome | issues | medium | The page is 8,568 px tall but offers static chrome and no scroll-state/timeline cue. F03 low: Long pages provide no scroll-state-aware orientation. |
provide-guided-navigationanchored-positioning | not-applicable | medium | No tooltip or anchored transient overlay was presented in the sampled journeys. |
provide-guided-navigationdirects-attention | pass | high | First views have strong descriptive headings/CTAs, and the DOM contains a Skip Navigation link. |
maximize-content-reduce-noiseno-intrusive-interruptions | issues | high | The consent surface obscures most of the mobile viewport on home, pricing and article routes. F04 high: The cookie banner obscures most of the first mobile viewport on every marketing template. |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | The visible consent overlay is implemented with neither dialog nor popover (counts are both zero). F05 medium: The consent overlay is custom chrome rather than a semantic dialog. |
maximize-content-reduce-noisereduced-chrome | pass | high | After dismissal, primary content dominates the viewport and header chrome is compact. |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | pass | high | At 360 px, horizontalOverflowPx is 0 and all sampled mobile templates reflow without clipping. |
adapt-to-the-form-factorcomponent-level-responsiveness | issues | medium | No container query was found in the loaded accessible CSS despite reusable modules. F06 low: The marketing component system does not use component-level responsiveness. |
adapt-to-the-form-factorinput-modality-aware | issues | high | Focus outline is visible, but 81/95 controls have a dimension under 44 px, including a 38×38 menu. F07 medium: Many visible controls have sub-44px touch dimensions. |
support-core-task-successclear-purpose-and-primary-action | pass | high | Home, product, pricing, article and signup views communicate purpose and expose a clear next action. |
support-core-task-successprimary-flow-completion | pass | medium | The CTA leads to a concise labelled account form with email/password and Google options; no dead end appears before the irreversible account-creation step. |
support-core-task-successclear-system-state-and-recovery | pass | high | Signup exposes a clear email error and password requirements; the 404 explains the error and corrective action. |
be-fast-and-stablegood-core-web-vitals | issues | high | Lighthouse LCP is 23.39 s with CLS 0.112 and TBT 251 ms; trace LCP is 7.31 s. F08 high: Cold-load LCP is far outside the good range. |
be-fast-and-stablevisual-stability | issues | high | CLS ranged from 0.084–0.112 with late shifts around 2.6–3.8 s. F09 medium: Late content causes measurable layout shift. |
be-fast-and-stableefficient-main-thread | issues | high | Lighthouse TBT is 251 ms; trace captured an 81.85 ms long task. F10 medium: Main-thread work remains heavier than necessary. |
be-fast-and-stableefficient-resource-delivery | issues | high | 166 requests transfer 3.88 MB, with 24 stylesheets and a long parser-inserted VeryHigh-priority CSS chain. F11 high: The load has a large render-blocking and network dependency surface. |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | Estimated waste is 704 KiB JS plus 447 KiB CSS. F12 high: The page ships substantial unused CSS and JavaScript. |
be-inclusivenames-roles-labels | pass | high | Lighthouse reported no label or image-alt failures; signup controls have visible labels and controls have accessible text/ARIA. |
be-inclusivesufficient-contrast | issues | high | A preheading measures 4.19:1 instead of 4.5:1. F13 medium: A visible preheading misses WCAG contrast minimums. |
be-inclusivestructure-and-focus | issues | high | Landmarks and focus outline exist, but home/product lack H1 in probes and Lighthouse reports skipped heading levels. F14 medium: Heading hierarchy is inconsistent on key marketing templates. |
be-inclusivelegible-text | pass | high | Body copy has comfortable line length/spacing and no sampled text clipping; mobile headings wrap clearly. |
be-inclusivezoom-reflow-targets-and-media | pass | medium | Viewport allows scaling, pages reflow without overflow, Lighthouse target-size audit has no failing nodes, and no media needing captions was found. |
follow-best-practicesno-console-errors | issues | high | Two identity-related errors were logged on unauthenticated public load. F15 low: The home page logs errors during normal load. |
follow-best-practicessound-document-and-assets | issues | high | Doctype and UTF-8 pass, but 22 images lack dimensions and 10 are oversized. F16 medium: Image delivery has sizing and responsive-source gaps. |
follow-best-practicesbrowser-platform-hygiene | issues | medium | Deprecation/BFCache/prompt checks pass, but a broken Snowplow source map and Optimizely cookie inspector issue remain. F17 low: Developer diagnostics include a broken third-party source map and an inspector cookie issue. |
be-discoverabletitle-and-description | pass | high | Home, product, pricing and article have unique descriptive titles/descriptions; SEO score is 0.92. |
be-discoverablecrawlable-and-mobile-friendly | pass | high | Real descriptive hrefs and viewport meta are present; robots welcomes general crawlers and Lighthouse found no crawlable-anchor failures. |
be-discoverablecanonical-and-indexing-signals | pass | high | Public samples return success, expose canonicals, localized alternates and indexable robots policy; robots lists two sitemap indexes. |
be-discoverablestructured-and-shareable-metadata | pass | high | Home/product/article expose JSON-LD; home has complete Open Graph/Twitter image metadata matching the visible Bitly entity. |
be-private-and-securesecure-transport-and-headers | issues | high | HTTPS/HSTS and X-Frame-Options pass with no exposed secret, but CSP and nosniff are missing. F18 high: Core browser security headers are missing. |
be-private-and-securedata-minimisation-and-third-parties | issues | high | 19 third-party origins, five known trackers, and an Optimizely third-party cookie were observed. F19 high: The public landing page has a broad tracking and third-party footprint. |
be-private-and-securein-context-permissions-and-modern-auth | issues | high | No permission prompts fire on load, but signup has password/SSO only, no passkey signal, and empty autocomplete. F20 medium: Account creation lacks passkey support and useful credential autocomplete. |
be-private-and-securedefensive-browser-policies | issues | high | HSTS and X-Frame-Options are present; CSP, Referrer-Policy, Permissions-Policy and nosniff are absent. F21 medium: Several defensive response policies are absent. |
be-resilientprogressive-enhancement | pass | high | 91% of rendered content words exist in raw HTML; the site is not a JS shell and title/description survive without JS. |
be-resilientresilient-runtime-behaviour | pass | medium | Sampled routes remain usable without cut-off horizontal content and the missing route resolves to a stable explanatory page. |
be-resilientoffline-and-installable | not-applicable | high | This is a public marketing MPA, not an installable application; no manifest is declared. |
be-resilientnetwork-and-http-failure-states | pass | high | The server returns HTTP 404 and a clear page explaining the wrong address and how to recover. |
be-internationalisedlang-dir-and-logical-properties | issues | high | lang and localized alternates exist, but dir is absent and no logical spacing/position rules were found. F22 medium: Localized routes exist, but the sampled CSS lacks logical-property and explicit direction support. |
be-internationalisedlocale-aware-data | not-applicable | high | No user-facing dates, currencies, measurements or durations requiring locale formatting appear in the sampled core flow. |
be-internationalisedtime-zone-correctness | not-applicable | high | No event scheduling, recurring time or timezone-sensitive value appears in the sampled flow. |
be-trustworthyno-dark-patterns | pass | high | Accept All and Reject All have equal prominence, pricing purpose is explicit, and signup terms are visible before submission. |
be-trustworthyhumane-error-handling | pass | high | After interaction, email receives aria-invalid=true with “Please enter your email address”; password requirements are stated without blame. |
be-trustworthytrustworthy-input-assistance | issues | high | Email/password labels exist but autocomplete values are empty. F23 medium: Signup inputs omit autocomplete assistance. |
be-trustworthysafe-commercial-and-account-flows | pass | medium | Pricing intent, free-account action, SSO alternative and linked legal commitments are visible before account creation. |
be-sustainableoptimised-assets | issues | high | 10 oversized, 15 legacy-format and 20 non-responsive images were detected. F24 medium: Several image assets are not delivered at an efficient resolution or format. |
be-sustainableno-wasteful-work | issues | high | The marketing page ships 40 scripts/24 stylesheets with about 1.15 MiB estimated unused code. F25 high: The home page performs disproportionate work before interaction. |
be-sustainablethird-party-and-media-budget | issues | high | No autoplay media exists, but 19 third-party origins and multiple large tag-manager scripts dominate a 3.88 MB load. F26 high: Third-party code consumes a disproportionate share of the page budget. |
be-agent-readystructured-agent-capabilities | issues | medium | Bitly advertises MCP/LLM integrations, but navigator.modelContext is not used on the sampled browser surface. F27 medium: Bitly markets MCP and AI integrations but exposes no browser-native structured capability on the audited public surface. |
be-agent-readyon-device-inference | not-applicable | high | The core shortening, pricing and signup tasks do not require in-browser language-model or summarization inference. |
be-memory-efficientno-leak-under-repeated-interaction | pass | medium | Node count fell 586,451→585,860 while total self size rose only 35.71→36.06 MB (~1%); closures also fell. |
be-memory-efficientbounded-footprint | pass | medium | Heap summary is ~35.7 MB for the third-party-heavy marketing page and remains proportionate/stable after interaction. |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | medium | No Detached* constructor appears among top retained constructors; node/closure counts do not grow and no new interval was created. |
Provenance
Canonical report: results/atomic/reports/0309-bit_ly.json
Report SHA-256: 5c75a8025ddc28538747bef6b912f9d8506c5a7899382a8bdef46f44aed77406
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/bit_ly/2026-07-19T21-17-49-437Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/bit_ly/2026-07-19T21-17-49-437Z
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.