Manifest position 416 · CrUX rank bucket 1000
https://www.aparat.com
Coverage complete
Coverage-complete representative audit of four public archetypes. The valid search-results template and authenticated upload/account flows were not covered because they were not required to complete the public watch journey; the invalid result URL was retained specifically as error-state evidence.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | pass | high | Light and dark emulations produced distinct, usable complete color systems, and the mobile UI exposes a night-mode control. |
respect-user-preferencesrespects-reduced-motion | pass | high | Under prefers-reduced-motion: reduce, matchMedia was true, getAnimations() returned none and scroll-behavior was auto. |
respect-user-preferencesrespects-contrast | issues | high | axe-core marked 24 home nodes for manual color-contrast review and found a definite contrast failure on the video ad banner; no forced-colors/high-contrast adaptation was detectable in loaded CSS. F01 medium: High-contrast robustness and normal contrast have unresolved failures |
implement-natural-interactionsview-transitions | issues | high | The computed CSS probe found no view-transition rules on home or video despite client-side Next.js navigation between feed and detail templates. F02 low: Route and state changes do not use View Transitions |
implement-natural-interactionsscroll-driven-animations | pass | medium | Representative home, listing and video surfaces showed no scroll-linked decorative effect; CSS inspection found no animation-timeline/scroll-timeline and the page retains native scrolling. |
implement-natural-interactionsphysical-gestures | pass | medium | The mobile feed uses native vertical scrolling and direct touch-sized controls without a custom gesture-only core action. |
provide-guided-navigationscroll-state-aware-chrome | pass | high | Desktop keeps the active Home item highlighted in a stable sidebar, while mobile replaces it with a persistent bottom navigation and active item. |
provide-guided-navigationanchored-positioning | not-applicable | high | No tooltip or viewport-edge anchored overlay was part of the representative unauthenticated surfaces. |
provide-guided-navigationdirects-attention | pass | high | Active navigation state, page H1 on video, selected home tab and prominent playback area provide clear orientation after navigation. |
maximize-content-reduce-noiseno-intrusive-interruptions | pass | high | No modal or full-viewport interstitial obscured content on load; the mobile install banner is bounded at the bottom and has a visible close control. |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | axe-core found 15 home and 5 video aria-required-children violations plus 23 aria-required-parent violations; the DOM probe found no dialog, popover, or details elements. F03 medium: Custom rich controls have broken ARIA structures instead of robust platform semantics |
maximize-content-reduce-noisereduced-chrome | pass | medium | Home prioritizes feed cards and video prioritizes the player/title; chrome remains limited to navigation and task controls. |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | pass | high | At 360x800, scrollWidth, clientWidth and innerWidth were all 360 with 0 horizontal overflow; viewport meta is present. |
adapt-to-the-form-factorcomponent-level-responsiveness | issues | high | The desktop/mobile screenshots show cards changing layout, but CSS inspection found no @container or container-type usage on either home or video templates. F04 low: Responsive cards rely on viewport layout without container-level adaptation |
adapt-to-the-form-factorinput-modality-aware | issues | high | The focus probe programmatically focused the first visible button and computed outline as none with no box-shadow on both home and video. F05 high: Keyboard focus is not visibly indicated on primary controls |
support-core-task-successclear-purpose-and-primary-action | pass | high | Home clearly presents personalized videos, Shorts and categories; the detail page gives dominant placement to playback and its video title. |
support-core-task-successprimary-flow-completion | pass | high | A video linked from the home feed loaded into a playable detail page with title, channel, follow, save, share and recommendations. |
support-core-task-successclear-system-state-and-recovery | issues | high | After a 10-second wait, the representative /explore listing showed only a centered spinner with no status text, timeout, retry, or fallback content. F06 high: The channel explore route remains an unlabeled spinner |
be-fast-and-stablegood-core-web-vitals | issues | high | Mobile Lighthouse measured home LCP 7.9s, CLS 0.51 and TBT 610ms; video LCP was 16.9s with TBT 900ms. The trace corroborated home LCP 2.88s under a less constrained run. F07 high: Core Web Vitals are poor on key templates |
be-fast-and-stablevisual-stability | issues | high | The 360x800 layout observer recorded CLS 0.459, including a single 0.379 shift around 4.1s; Lighthouse independently measured 0.51. F08 high: The home feed shifts substantially while loading |
be-fast-and-stableefficient-main-thread | issues | high | Home trace found two long tasks up to 150ms and 132ms TBT; Lighthouse measured 610ms TBT on home and 900ms on video. F09 medium: Long tasks delay interactivity |
be-fast-and-stableefficient-resource-delivery | issues | high | Home loaded 69 requests and 1.53MB with three VeryHigh parser stylesheets; video loaded 30.95MB in 10 seconds, while Lighthouse video LCP reached 16.9s. F10 high: Resource delivery delays critical content and over-fetches media |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | Lighthouse estimated 424KiB unused JavaScript on home and 362KiB on video; analytics and several application chunks each waste 40% to 84%. F11 medium: Hundreds of KiB of JavaScript are unused during initial use |
be-inclusivenames-roles-labels | issues | high | axe-core found unnamed buttons, an unnamed ARIA listbox, unnamed video links, 15 home required-child failures, 23 required-parent failures, and 17 nested interactive controls. F12 high: Critical names, roles and widget relationships fail across templates |
be-inclusivesufficient-contrast | issues | high | axe-core confirmed a serious color-contrast violation on the video banner and another on the error page, with 24 home nodes requiring review. F13 medium: Some text fails WCAG AA contrast |
be-inclusivestructure-and-focus | issues | high | Home has no H1; axe found missing main landmark on the error template and semantic list/listitem defects, while focused primary buttons computed no visible outline. F14 high: Heading, landmark and focus structure is inconsistent |
be-inclusivelegible-text | pass | medium | Persian body and headings remain unclipped and readable in desktop, video and 360px screenshots with clear line spacing and hierarchy. |
be-inclusivezoom-reflow-targets-and-media | issues | high | axe flagged video-caption as critical/manual on 12 home previews and the played video; the video element had zero caption/subtitle tracks. The error template also disabled text scaling according to axe. F15 high: Media equivalents and zoom support are incomplete |
follow-best-practicesno-console-errors | issues | high | Lighthouse captured a console.error TimeoutError during video API fetching from the client bundle. F16 medium: The primary video page logs a client-side API timeout |
follow-best-practicessound-document-and-assets | issues | high | The images primitive found all three video images missing width/height, two below-fold images not lazy, and legacy JPG delivery; home also had an undimensioned GIF. F17 medium: Images lack intrinsic dimensions and responsive delivery hints |
follow-best-practicesbrowser-platform-hygiene | pass | medium | Lighthouse found BFCache eligibility, valid image aspect ratios and crawlable anchors; no permission prompt appeared on load. |
be-discoverabletitle-and-description | issues | high | Lighthouse passed document titles but failed meta-description on both home and video; direct probes returned no description. F18 medium: Public templates omit meta descriptions |
be-discoverablecrawlable-and-mobile-friendly | pass | high | Lighthouse passed crawlable anchors, descriptive link text and robots.txt; viewport meta is present and robots exposes a sitemap. |
be-discoverablecanonical-and-indexing-signals | issues | high | Discoverability fetched HTTP 200 but found 0% video content coverage, no raw title/H1, and crawler screenshots without the rendered entity; direct metadata probes found no canonical. F19 high: Rendered video content is absent from raw HTML and lacks canonical signals |
be-discoverablestructured-and-shareable-metadata | issues | high | The representative video probe found no JSON-LD, Open Graph, or Twitter metadata despite a visible title, channel, playback media and engagement details. F20 high: Video pages expose no structured or social-preview metadata |
be-private-and-securesecure-transport-and-headers | issues | high | Headers showed no Content-Security-Policy; cookie audit found seven flagged cookies, including insecure _ga cookies with SameSite=None and 400-day expiry. F21 high: Transport is HTTPS but CSP and cookie posture are incomplete |
be-private-and-securedata-minimisation-and-third-parties | issues | high | Tracker capture found 11 third-party origins and Google Tag Manager/Analytics, Microsoft Clarity and Yandex; HAR attributed 28 requests and 676KB to third parties on home. F22 high: The public home page starts a broad tracking stack by default |
be-private-and-securein-context-permissions-and-modern-auth | pass | medium | Notification permission remained default and no geolocation/notification prompt appeared on load; authentication was not required for the primary viewing flow. |
be-private-and-securedefensive-browser-policies | issues | high | HSTS, nosniff, SAMEORIGIN and Referrer-Policy were present, but CSP and Permissions-Policy were absent. F23 medium: Browser-enforced policy coverage is incomplete |
be-resilientprogressive-enhancement | issues | high | The video discoverability comparison found 0% rendered-content coverage in raw HTML: raw text had no content tokens and omitted title and H1, while the rendered page had the full video entity. F24 high: Core public content requires JavaScript |
be-resilientresilient-runtime-behaviour | pass | medium | Video recommendations, menus and mobile navigation remained within viewport bounds with no horizontal overflow; the dedicated error route rendered a stable state. |
be-resilientoffline-and-installable | pass | medium | The document links a web app manifest and navigator.serviceWorker reported one active registration. |
be-resilientnetwork-and-http-failure-states | pass | medium | The invalid route rendered an explicit bilingual 404 state while preserving global search/navigation rather than a blank shell. |
be-internationalisedlang-dir-and-logical-properties | pass | high | Both templates declare html lang=fa and dir=rtl, render RTL correctly, and loaded CSS contains logical inline/block properties. |
be-internationalisedlocale-aware-data | pass | medium | Visible counts, dates and relative times are localized into the Persian-language RTL interface instead of exposing raw machine timestamps. |
be-internationalisedtime-zone-correctness | not-applicable | high | No scheduling, event-time, recurring-time or cross-zone workflow was present on the representative public video surfaces. |
be-trustworthyno-dark-patterns | pass | medium | Core viewing works without login; sign-in is offered rather than forced, and no consent wall, confirmshaming, disguised ad control or forced continuity appeared. |
be-trustworthyhumane-error-handling | not-applicable | high | No user-submitted form with validation was part of the representative public viewing journey. |
be-trustworthytrustworthy-input-assistance | pass | medium | The search field has a visible Persian purpose and aria-label; it does not obstruct paste or force authentication for browsing. |
be-trustworthysafe-commercial-and-account-flows | not-applicable | high | No checkout, subscription purchase, consent decision, or account-management flow was present in the scoped unauthenticated journey. |
be-sustainableoptimised-assets | issues | high | Image inspection found no dimensions or srcset on all tested images, two legacy JPGs on video, and a legacy GIF on home. F25 medium: Asset delivery misses basic responsive-image optimizations |
be-sustainableno-wasteful-work | issues | high | Home transferred 319KB from Google tag scripts plus 91KB Yandex and 26KB Clarity, while Lighthouse found large unused portions of those scripts. F26 medium: Multiple analytics systems consume bytes and background work |
be-sustainablethird-party-and-media-budget | issues | high | The video page transferred 30.95MB in 10 seconds, including 29.65MB of 720p segments, while home loaded multiple tracker suites before user interaction. F27 high: Video and third-party budgets are disproportionate to the initial state |
be-agent-readystructured-agent-capabilities | not-applicable | high | No declared agent-facing intent or transactional agent surface was present; public crawler visibility is judged separately under discoverability/resilience. |
be-agent-readyon-device-inference | not-applicable | high | The representative browsing and playback tasks do not require an on-device language-model or summarizer feature. |
be-memory-efficientno-leak-under-repeated-interaction | pass | medium | After ten full-feed scroll-down/up cycles, heap rose from 34,547,314 to 34,942,215 self-size bytes (about 1.1%) and nodes from 615,675 to 619,632, with no unbounded jump. |
be-memory-efficientbounded-footprint | pass | medium | Heap summaries remained near 35MB self-size and about 620k heap nodes for a media feed, proportionate to the rendered long feed. |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | medium | The before/after heap constructor summaries did not show a material Detached* population increase, while total growth after ten cycles was about 1.1%. |
Provenance
Canonical report: results/atomic/reports/0416-www_aparat_com.json
Report SHA-256: f13701a55e01b4b1e6f532af7f5c270c1acf03e475f6deb64e431d66a1c5e92a
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_aparat_com/2026-07-20T16-16-49-322Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_aparat_com/2026-07-20T16-16-49-322Z
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.