Manifest position 421 · CrUX rank bucket 1000
https://tiktokio.com
Coverage complete
Atomic coverage complete: all 58 checks judged across five representative page archetypes plus the primary downloader flow and a missing-route failure state.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | The light and dark screenshots are byte-identical (49,292 bytes), and the preference probe reports computed color-scheme: normal. F01 medium: The site ignores the user’s dark-theme preference |
respect-user-preferencesrespects-reduced-motion | pass | high | Reduced-motion emulation reported zero active animations. |
respect-user-preferencesrespects-contrast | issues | high | axe found 131 color-contrast failures, including 2.93:1 text on #df6d1e, plus four links distinguished only by low-contrast colour. F02 high: Text and essential links fail contrast requirements |
implement-natural-interactionsview-transitions | issues | high | The app injects result HTML into an open shadow root; the probe found no View Transition support or usage and no running transition for the download state change. F03 low: Primary result state changes abruptly |
implement-natural-interactionsscroll-driven-animations | pass | high | CSS inspection found no scroll timelines and the page uses no scroll-linked visual motion. |
implement-natural-interactionsphysical-gestures | pass | high | No custom pointer gesture surface is present; native page scrolling remains available. |
provide-guided-navigationscroll-state-aware-chrome | pass | high | The long document keeps browser scrolling unobstructed and does not add JS-driven sticky chrome. |
provide-guided-navigationanchored-positioning | pass | high | No tooltip or edge-positioned menu requiring anchored positioning appears in the representative paths. |
provide-guided-navigationdirects-attention | pass | high | Real anchor hrefs, a skip link, descriptive navigation, and clear post-download result links preserve direction. |
maximize-content-reduce-noiseno-intrusive-interruptions | issues | high | Desktop and mobile screenshots show the content dimmed behind a full-screen consent dialog before the downloader can be used. F04 high: A consent interstitial blocks the entire primary task on first load |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | DOM probes found zero dialog, popover, and details elements while the custom .fc-consent-root implements a blocking modal. F05 medium: The consent modal is custom div-based UI rather than a native dialog |
maximize-content-reduce-noisereduced-chrome | pass | high | After the consent layer, the downloader and content occupy the page without persistent app framing. |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | pass | high | At 360x800 the layout primitive reported scrollWidth 360, clientWidth 360, and zero overflow on all sampled templates. |
adapt-to-the-form-factorcomponent-level-responsiveness | issues | high | The CSS probe found zero container rules across the long multi-card page; adaptation is viewport-only. F06 low: Reusable UI has no component-level responsiveness |
adapt-to-the-form-factorinput-modality-aware | issues | high | Programmatic focus on the shadow-DOM URL input and the skip link produced outline-style none; the primary input has no alternative visible focus indicator. F07 high: Keyboard focus is not visibly indicated on primary controls |
support-core-task-successclear-purpose-and-primary-action | pass | high | Each sampled page has a descriptive H1 and the homepage immediately identifies TikTok download as its purpose. |
support-core-task-successprimary-flow-completion | pass | high | A known public TikTok URL returned four usable result links: no-watermark, HD, watermark, and MP3. |
support-core-task-successclear-system-state-and-recovery | pass | high | Empty and invalid submissions produce immediate error text, and successful submission restores the Download button with result links. |
be-fast-and-stablegood-core-web-vitals | issues | high | Mobile Lighthouse measured LCP 8.6 s and CLS 0.144; the layout primitive independently measured CLS 0.155. F08 high: Largest Contentful Paint is very slow and layout stability misses the good range |
be-fast-and-stablevisual-stability | issues | high | The layout observer recorded shifts of 0.144 at 2.33 s and 0.010 at 4.61 s, totalling CLS 0.155. F09 medium: Late consent content causes measurable layout shift |
be-fast-and-stableefficient-main-thread | pass | high | Trace found zero long tasks and 0 ms total blocking time; Lighthouse TBT was 85.5 ms. |
be-fast-and-stableefficient-resource-delivery | issues | high | HAR confirms parser-inserted jQuery and jquery-migrate without async/defer, while Lighthouse reports an 8.6 s LCP and a 2.48 s LCP element render delay. F10 high: Blocking scripts and dependency work delay useful content |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | Lighthouse estimates 262 KiB unused JavaScript and 42 KiB unused CSS; 92.9% of the Flatsome stylesheet was unused. F11 high: The page ships substantial unused ad and theme code |
be-inclusivenames-roles-labels | issues | high | axe found an unnamed focusable image link; the images primitive found 8 images without alt text, and the downloader text input has no label or aria-label. F12 high: Some controls and images lack accessible names |
be-inclusivesufficient-contrast | issues | high | axe reports 131 serious colour-contrast nodes and four links that rely on colour without a 3:1 difference from body text. F13 high: Foreground/background contrast is insufficient across the page |
be-inclusivestructure-and-focus | issues | high | axe found duplicate/nested main landmarks, invalid heading order, and non-unique landmarks; focus probes found no visible outline. F14 high: Landmarks, heading order, and focus treatment are not robust |
be-inclusivelegible-text | pass | high | Mobile screenshots and zero horizontal overflow show readable reflow without clipping on sampled templates. |
be-inclusivezoom-reflow-targets-and-media | pass | high | Viewport permits normal scaling, mobile reflow has no overflow, and Lighthouse target-size passed. |
follow-best-practicesno-console-errors | pass | high | Lighthouse did not report runtime/console errors, and the exercised successful flow completed. |
follow-best-practicessound-document-and-assets | issues | high | The images primitive found 1 image without dimensions, 3 oversized images, 3 below-fold images not lazy-loaded, and 8 missing alt values. F15 medium: Image asset hygiene is inconsistent |
follow-best-practicesbrowser-platform-hygiene | issues | high | Lighthouse recorded three deprecated API warnings from the Cloudflare challenge script, including deprecated Shared Storage and persistent storage usage. F16 medium: Deprecated APIs execute during page load |
be-discoverabletitle-and-description | pass | high | Homepage, MP3, photo, article, and Arabic probes each expose descriptive titles and meta descriptions. |
be-discoverablecrawlable-and-mobile-friendly | pass | high | Raw HTML contains real href links, viewport metadata is present, and robots allows public content. |
be-discoverablecanonical-and-indexing-signals | pass | high | Sampled pages expose matching canonicals and extensive hreflang; robots permits indexing and points to a sitemap. |
be-discoverablestructured-and-shareable-metadata | pass | high | Homepage exposes Organization/WebSite/WebPage JSON-LD and matching Open Graph title, description, URL, and site name. |
be-private-and-securesecure-transport-and-headers | issues | high | HTTPS is used, but CSP, HSTS, nosniff, frame protection, Referrer-Policy, and Permissions-Policy are absent; 3 analytics/consent cookies are not Secure. F17 high: Security headers and cookie attributes are weak |
be-private-and-securedata-minimisation-and-third-parties | issues | high | The tracker probe found 11 third-party origins and three known trackers; HAR shows 642,413 third-party bytes, 74% of all transferred bytes. F18 high: Advertising and analytics dominate the network footprint |
be-private-and-securein-context-permissions-and-modern-auth | pass | high | Source probe found no geolocation or notification request on load; the site has no authentication surface. |
be-private-and-securedefensive-browser-policies | issues | high | The headers primitive found no HSTS, clickjacking protection, Referrer-Policy, Permissions-Policy, CSP, or nosniff protection. F19 high: Browser-enforced defensive policies are absent |
be-resilientprogressive-enhancement | issues | high | Raw HTML exposes 94% of content copy, but the downloader is created by attachShadow() and event listeners in inline JavaScript; the no-JS crawler cannot operate the core tool. F20 high: The core downloader disappears without JavaScript |
be-resilientresilient-runtime-behaviour | pass | high | The AJAX downloader completed successfully and reset its disabled/loading state with result links. |
be-resilientoffline-and-installable | not-applicable | high | The downloader inherently requires a live source URL and server conversion; installability/offline conversion is not a meaningful core capability. |
be-resilientnetwork-and-http-failure-states | issues | high | A request for /web-uplift-missing-404 returned a 301 and rendered the homepage title and downloader instead of a 404 with recovery guidance. F21 medium: Missing URLs silently redirect to the homepage |
be-internationalisedlang-dir-and-logical-properties | pass | high | English uses lang=en-US; Arabic uses lang=ar and dir=rtl with zero mobile overflow. |
be-internationalisedlocale-aware-data | not-applicable | high | Representative pages contain no user-facing dates, currencies, durations, or locale-sensitive numeric data. |
be-internationalisedtime-zone-correctness | not-applicable | high | The site does not schedule or display events or times. |
be-trustworthyno-dark-patterns | issues | high | The first-layer dialog offers Consent and Manage options but no Reject all; rejection requires another layer while accepting is one click. F22 high: Consent is easier to accept than refuse |
be-trustworthyhumane-error-handling | issues | high | Invalid input yields “Paste correct link and try again 0x03” by replacing innerHTML, with no aria-live/status semantics exposed by the shadow host. F23 medium: Downloader errors are visual-only and use an opaque error code |
be-trustworthytrustworthy-input-assistance | issues | high | The field is type=text with no label, autocomplete token, inputmode, or URL-specific validation despite requiring a TikTok URL. F24 low: The primary URL field does not expose URL input semantics |
be-trustworthysafe-commercial-and-account-flows | pass | high | No checkout, subscription, authentication, or account-management flow exists on this free downloader. |
be-sustainableoptimised-assets | issues | high | The images primitive reports 54 legacy-format images, 3 oversized images, 1 missing srcset, and 3 below-fold images not lazy-loaded. F25 medium: Most image elements use legacy formats or lack responsive delivery |
be-sustainableno-wasteful-work | issues | high | HAR recorded 629,868 script bytes and Lighthouse estimated 262 KiB unused JS, mostly ad, analytics, and consent scripts. F26 high: Non-core advertising work outweighs the product code |
be-sustainablethird-party-and-media-budget | issues | high | Third parties transfer 642,413 of 862,683 bytes; AdSense, Tag Manager, Funding Choices, and fonts are the largest origins. F27 high: Third-party scripts consume most transferred bytes |
be-agent-readystructured-agent-capabilities | issues | high | Lighthouse agentic browsing scored 0.26 and found no well-formed agent accessibility tree or llms.txt; the actionable downloader lives inside shadow DOM with no WebMCP tool. F28 low: The downloader has no structured agent-facing capability |
be-agent-readyon-device-inference | not-applicable | high | On-device language-model or summarisation features do not provide a proportionate benefit to this URL conversion task. |
be-memory-efficientno-leak-under-repeated-interaction | pass | high | After 10 consent manage/back cycles, heap grew only 235,884 bytes (1.08%) and 2,388 nodes, with no unbounded trend established. |
be-memory-efficientbounded-footprint | issues | high | The baseline heap contains 381,113 nodes and 21.84 MB self size, while the rendered consent DOM lists hundreds of vendor controls before interaction. F29 medium: The initial footprint is large for a simple downloader |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | high | Before/after summaries show modest growth and no Detached constructor among top retained constructors. |
Provenance
Canonical report: results/atomic/reports/0421-tiktokio_com.json
Report SHA-256: cd8374fd20da6e32101f978e39785822fa08b4d2c2be30e7723b8ad946f66333
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/tiktokio_com/2026-07-20T17-17-24-035Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/tiktokio_com/2026-07-20T17-17-24-035Z
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.