Manifest position 569 · CrUX rank bucket 1000
https://www.bilibili.tv
Coverage complete
Coverage-complete remote audit across home, media detail, playback, and UGC video archetypes.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | The light surface remains white under prefers-color-scheme: dark; DOM reports color-scheme: normal and the CSS probe found no prefers-color-scheme rules. F01 high: The light surface remains white under prefers-color-scheme: dark |
respect-user-preferencesrespects-reduced-motion | pass | high | Under prefers-reduced-motion: reduce the active-animation probe reported zero animations; the normal probe also found no running animations on the sampled landing state. |
respect-user-preferencesrespects-contrast | issues | medium | The prefers-contrast: more capture is visually unchanged from the default, and the CSS probe found no site-level contrast adaptation. F02 medium: The prefers-contrast: more capture is visually unchanged from the default, and the CSS probe found no site-level contrast adaptation. |
implement-natural-interactionsview-transitions | issues | medium | The CSS probe found no view-transition declarations; route and state changes use abrupt custom panels. F03 medium: The CSS probe found no view-transition declarations |
implement-natural-interactionsscroll-driven-animations | not-applicable | high | No scroll-linked animation, parallax, scrollytelling, or reveal behavior was observed on the representative pages, so there is no scroll-driven effect to implement. |
implement-natural-interactionsphysical-gestures | issues | medium | The CSS probe found no scroll-snap, overscroll, or declarative gesture treatment, while the long card feed is touch-centric. F04 medium: The CSS probe found no scroll-snap, overscroll, or declarative gesture treatment, while the long card feed is touch-centric. |
provide-guided-navigationscroll-state-aware-chrome | issues | medium | The fixed header remains static while scrolling a page over 7,000 CSS pixels tall; DOM/CSS evidence found no scroll-state query or progress cue. F05 medium: The fixed header remains static while scrolling a page over 7,000 CSS pixels tall |
provide-guided-navigationanchored-positioning | issues | high | The sign-in panel is a custom overlay with no dialog/popover or anchor-positioning primitive; on mobile it is clipped beyond the right edge. F06 high: The sign-in panel is a custom overlay with no dialog/popover or anchor-positioning primitive |
provide-guided-navigationdirects-attention | issues | medium | The open sign-in panel covers content without focus treatment or a directional transition, and the probe found no view-transition or highlight support. F07 medium: The open sign-in panel covers content without focus treatment or a directional transition, and the probe found no view-transition or highlight support. |
maximize-content-reduce-noiseno-intrusive-interruptions | issues | high | On desktop the cookie banner consumes about one-third of the viewport; on mobile it covers the lower portion while the sign-in panel simultaneously obscures the content. F08 high: On desktop the cookie banner consumes about one-third of the viewport |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | The probe found zero dialog, popover, and details elements even though a sign-in overlay and cookie consent surface are visible. F09 high: The probe found zero dialog, popover, and details elements even though a sign-in overlay and cookie consent surface are visible. |
maximize-content-reduce-noisereduced-chrome | issues | medium | The cookie banner and sign-in panel dominate the first viewport and obscure the media experience. F10 medium: The cookie banner and sign-in panel dominate the first viewport and obscure the media experience. |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | pass | high | Layout probes at 360x800 and 320x640 reported zero horizontal overflow and a viewport meta tag; media detail also stayed within 360 CSS pixels. |
adapt-to-the-form-factorcomponent-level-responsiveness | issues | medium | The CSS probe found no container queries despite reusable card, header, and account-panel components appearing at desktop and mobile sizes. F11 medium: The CSS probe found no container queries despite reusable card, header, and account-panel components appearing at desktop and mobile sizes. |
adapt-to-the-form-factorinput-modality-aware | issues | high | 80 of 201 visible controls measured below 24px in at least one dimension; sampled controls had no visible computed outline, including unnamed 24px buttons. F12 high: 80 of 201 visible controls measured below 24px in at least one dimension |
support-core-task-successclear-purpose-and-primary-action | pass | high | The landing page identifies Anime and Recommended for You, while the media page clearly names the title and exposes its details in the first viewport. |
support-core-task-successprimary-flow-completion | issues | medium | The sitemap-listed play page for /play/34450 dead-ends with a rights-holder availability message; the account panel and consent banner obscure the recovery action. F13 medium: The sitemap-listed play page for /play/34450 dead-ends with a rights-holder availability message |
support-core-task-successclear-system-state-and-recovery | issues | medium | The play page shows an availability error, but overlapping account and cookie UI hides context and makes the single recovery action hard to understand. F14 medium: The play page shows an availability error, but overlapping account and cookie UI hides context and makes the single recovery action hard to understand. |
be-fast-and-stablegood-core-web-vitals | issues | high | Lighthouse measured landing-page LCP 14.4s and CLS 0.737; the direct trace measured LCP 3.98s and mobile layout measured CLS 0.496, all outside good thresholds. F15 high: Lighthouse measured landing-page LCP 14.4s and CLS 0.737 |
be-fast-and-stablevisual-stability | issues | high | The mobile layout observer recorded CLS 0.496 from shifts near 3s; Lighthouse measured CLS 0.737 on home and 0.913 on media. F16 high: The mobile layout observer recorded CLS 0.496 from shifts near 3s |
be-fast-and-stableefficient-main-thread | pass | high | The trace summary recorded zero long tasks and 0ms total blocking time; Lighthouse TBT was 150ms on home and 80ms on media, within the good range. |
be-fast-and-stableefficient-resource-delivery | issues | high | HAR captured 142 requests and 2.73MB transferred, including 21 stylesheets and multiple VeryHigh-priority parser-inserted CSS files; LCP reached 14.4s under Lighthouse throttling. F17 high: HAR captured 142 requests and 2.73MB transferred, including 21 stylesheets and multiple VeryHigh-priority parser-inserted CSS files |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | Lighthouse estimated 710KiB unused JavaScript and 189KiB unused CSS; HAR showed 69 script requests and 21 stylesheet requests. F18 high: Lighthouse estimated 710KiB unused JavaScript and 189KiB unused CSS |
be-inclusivenames-roles-labels | issues | high | Lighthouse failed button-name and link-name; the probe found 6 unnamed controls, including the menu button and logo/header links. F19 high: Lighthouse failed button-name and link-name |
be-inclusivesufficient-contrast | issues | high | Lighthouse failed color-contrast on both home and media pages. F20 high: Lighthouse failed color-contrast on both home and media pages. |
be-inclusivestructure-and-focus | issues | high | The landing page has no h1 and starts with h3 headings; Lighthouse found heading-order failure on media, and sampled controls computed to outline:none. F21 high: The landing page has no h1 and starts with h3 headings |
be-inclusivelegible-text | issues | medium | The mobile cookie copy is dense and the account panel is clipped; muted metadata text also failed the Lighthouse contrast audit. F22 medium: The mobile cookie copy is dense and the account panel is clipped |
be-inclusivezoom-reflow-targets-and-media | issues | high | The viewport disables scaling with user-scalable=no and maximum-scale=1; 80 controls are below 24px in one dimension. F23 high: The viewport disables scaling with user-scalable=no and maximum-scale=1 |
follow-best-practicesno-console-errors | issues | medium | Lighthouse reported a console error: “Not signed in with the identity provider.” on both sampled templates. F24 medium: Lighthouse reported a console error: “Not signed in with the identity provider.” on both sampled templates. |
follow-best-practicessound-document-and-assets | issues | high | Although doctype and UTF-8 are valid, all 92 inspected images lacked width/height attributes and 49 lacked srcset. F25 high: Although doctype and UTF-8 are valid, all 92 inspected images lacked width/height attributes and 49 lacked srcset. |
follow-best-practicesbrowser-platform-hygiene | issues | medium | Lighthouse reported a BFCache failure and normal anonymous identity state generated a console error; inspector issues otherwise passed. F26 medium: Lighthouse reported a BFCache failure and normal anonymous identity state generated a console error |
be-discoverabletitle-and-description | pass | high | Home and media probes found descriptive titles and meta descriptions; the detail title is unique to “My Roommate is a Cat”. |
be-discoverablecrawlable-and-mobile-friendly | issues | medium | The probe found 2 anchors without href and 2 links without discernible text; robots.txt returned the app 404 shell rather than crawler directives. F27 medium: The probe found 2 anchors without href and 2 links without discernible text |
be-discoverablecanonical-and-indexing-signals | pass | high | Home and media pages expose canonical URLs and five hreflang variants; sitemap.xml returns a populated sitemap index and sampled pages return HTTP 200. |
be-discoverablestructured-and-shareable-metadata | issues | medium | The media page exposes Organization and BreadcrumbList JSON-LD but no VideoObject/TVSeries entity; its Open Graph image is the generic site share cover rather than the visible title art. F28 medium: The media page exposes Organization and BreadcrumbList JSON-LD but no VideoObject/TVSeries entity |
be-private-and-securesecure-transport-and-headers | issues | high | HTTPS is used, but the headers primitive found no CSP, HSTS, nosniff, frame protection, Referrer-Policy, or Permissions-Policy; all four cookies lacked Secure and used SameSite=None. F29 critical: HTTPS is used, but the headers primitive found no CSP, HSTS, nosniff, frame protection, Referrer-Policy, or Permissions-Policy |
be-private-and-securedata-minimisation-and-third-parties | issues | high | The page contacted 11 third-party origins and Facebook tracking before consent; 135 of 142 HAR requests and 2.49MB were classified third-party. F30 high: The page contacted 11 third-party origins and Facebook tracking before consent |
be-private-and-securein-context-permissions-and-modern-auth | issues | medium | The visible sign-in experience offers social/account entry but the site probe found no dialog/form or evidence of a passkey/WebAuthn flow; only platform WebAuthn availability was present. F31 medium: The visible sign-in experience offers social/account entry but the site probe found no dialog/form or evidence of a passkey/WebAuthn flow |
be-private-and-securedefensive-browser-policies | issues | high | No HSTS, clickjacking protection, CSP frame-ancestors, Referrer-Policy, or Permissions-Policy was present. F32 critical: No HSTS, clickjacking protection, CSP frame-ancestors, Referrer-Policy, or Permissions-Policy was present. |
be-resilientprogressive-enhancement | issues | high | Discoverability found the home page to be a JS shell with only 1% raw/rendered word coverage, while the media detail retained 75% without JS. F33 high: Discoverability found the home page to be a JS shell with only 1% raw/rendered word coverage, while the media detail retained 75% without JS. |
be-resilientresilient-runtime-behaviour | issues | high | The custom sign-in panel is clipped off the right side at 360px and overlaps consent/content rather than repositioning robustly. F34 high: The custom sign-in panel is clipped off the right side at 360px and overlaps consent/content rather than repositioning robustly. |
be-resilientoffline-and-installable | issues | medium | The probe found no web app manifest URL; no installed/offline surface was exposed for this app-like video service. F35 medium: The probe found no web app manifest URL |
be-resilientnetwork-and-http-failure-states | issues | medium | The sitemap-listed play route shows a rights/availability failure, but overlapping panels obscure recovery; /robots.txt renders an app-style 404 document instead of a protocol response. F36 medium: The sitemap-listed play route shows a rights/availability failure, but overlapping panels obscure recovery |
be-internationalisedlang-dir-and-logical-properties | pass | high | The document declares lang=en and exposes five hreflang variants; the visible mixed English/Japanese title metadata remains readable. |
be-internationalisedlocale-aware-data | issues | medium | The localized media surface renders “Jan 8, 2019” as plain text with no time element, while the CSS probe found no logical properties. F37 medium: The localized media surface renders “Jan 8, 2019” as plain text with no time element, while the CSS probe found no logical properties. |
be-internationalisedtime-zone-correctness | not-applicable | high | No events, schedules with times, user-entered times, or cross-time-zone coordination flow was present in the sampled home, media, and playback templates. |
be-trustworthyno-dark-patterns | issues | high | The cookie surface offers only “Got it” with no equally prominent reject/manage choice, while Facebook tracking requests already occur before consent. F38 high: The cookie surface offers only “Got it” with no equally prominent reject/manage choice, while Facebook tracking requests already occur before consent. |
be-trustworthyhumane-error-handling | not-applicable | high | No user-editable form or invalid-input flow was present in the sampled anonymous pages; the sign-in panel exposed no form fields to exercise. |
be-trustworthytrustworthy-input-assistance | not-applicable | high | No address, payment, sign-in, sign-up, or other editable input was exposed in the sampled anonymous experience. |
be-trustworthysafe-commercial-and-account-flows | issues | high | Premium and Sign In are prominent, but the sampled sign-in panel has no semantic dialog/form and consent provides no reject/manage route. F39 high: Premium and Sign In are prominent, but the sampled sign-in panel has no semantic dialog/form and consent provides no reject/manage route. |
be-sustainableoptimised-assets | issues | high | Of 92 images, all lacked intrinsic dimensions and 49 lacked srcset; the feed commonly serves 720px JPEGs into 366px slots. F40 high: Of 92 images, all lacked intrinsic dimensions and 49 lacked srcset |
be-sustainableno-wasteful-work | issues | high | The landing page transfers 69 scripts and Lighthouse estimates 710KiB unused JavaScript, including player code before a video is selected. F41 high: The landing page transfers 69 scripts and Lighthouse estimates 710KiB unused JavaScript, including player code before a video is selected. |
be-sustainablethird-party-and-media-budget | issues | high | Third-party resources account for 135 requests and 2.49MB; Google identity and Facebook SDKs load on the anonymous landing page. F42 high: Third-party resources account for 135 requests and 2.49MB |
be-agent-readystructured-agent-capabilities | not-applicable | high | No declared agent-facing transactional capability or intent was present; this emerging WebMCP opportunity is outside the sampled public media-browsing scope. |
be-agent-readyon-device-inference | not-applicable | high | No user task in the sampled browsing and playback flow requires on-device inference; absence is not a quality failure for this run. |
be-memory-efficientno-leak-under-repeated-interaction | pass | medium | After ten repeated open/dismiss interactions, heap totals decreased from 460,279 nodes / 32.55MB to 450,977 nodes / 32.05MB, showing no retained-growth signal in this isolated comparison. |
be-memory-efficientbounded-footprint | issues | medium | The anonymous landing state retained about 460,279 heap nodes and 32.55MB self size before interaction, a large baseline for a feed whose first viewport is mostly cards and chrome. F43 medium: The anonymous landing state retained about 460,279 heap nodes and 32.55MB self size before interaction, a large baseline for a feed whose first viewport is mostly cards and chrome. |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | low | The post-interaction snapshot had fewer total nodes and bytes than baseline after ten panel cycles; no aggregate accumulation signal was observed, though constructor-level detached-node proof was unavailable. |
Provenance
Canonical report: results/atomic/reports/0569-www_bilibili_tv.json
Report SHA-256: 876cad112e8bb8366243fc7002c1cbaffd81bea291eec33c8ba7a60433a7a9bc
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_bilibili_tv/2026-07-21T15-38-47-871Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_bilibili_tv/2026-07-21T15-38-47-871Z
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.