Manifest position 563 · CrUX rank bucket 1000
https://www.programme-tv.net
Coverage complete
Coverage-complete representative audit of seven paths; source code was not available, so findings are based on rendered/runtime/network evidence.
All 58 atomic check outcomes
| Principle / check | Status | Confidence | Evidence or reason |
|---|---|---|---|
respect-user-preferencesrespects-color-scheme | issues | high | The dark-emulated screenshot is byte-identical to the normal capture and the CSS probe found no color-scheme, prefers-color-scheme, or light-dark() rules. F01 medium: The site does not adapt to the user’s dark color preference. |
respect-user-preferencesrespects-reduced-motion | issues | high | On the article, the reduced-motion probe still found three running 1,500 ms shimmer animations and no prefers-reduced-motion rule. F02 medium: Loading shimmer motion continues under reduced-motion. |
respect-user-preferencesrespects-contrast | pass | high | High-contrast emulation remained legible and CSS contains a contrast/forced-colors adaptation signal. |
implement-natural-interactionsview-transitions | issues | high | CSS inspection across the representative templates found no view-transition declarations despite a navigation-heavy MPA. F03 low: Route changes do not use view transitions. |
implement-natural-interactionsscroll-driven-animations | not-applicable | high | No parallax, scrollytelling, or scroll-linked reveal interaction was present on the representative templates, so there is no scroll-linked motion implementation to assess. |
implement-natural-interactionsphysical-gestures | pass | high | CSS inspection found native scroll-snap use and no evidence that the programme browsing surface depends on custom pointermove gesture handling. |
provide-guided-navigationscroll-state-aware-chrome | issues | high | The CSS probe found no scroll-state() rules or scroll progress treatment on the long homepage/article templates. F04 low: Persistent navigation does not expose scroll-state-aware feedback. |
provide-guided-navigationanchored-positioning | issues | high | Five role=dialog overlays are present on the homepage, but CSS inspection found no anchor-name, position-anchor, or position-try rules. F05 low: Custom menus and overlays do not use anchor positioning. |
provide-guided-navigationdirects-attention | pass | high | Representative pages expose breadcrumbs/current hierarchy, descriptive links, sequential headings, and a visible skip-link focus cue. |
maximize-content-reduce-noiseno-intrusive-interruptions | issues | high | Desktop and mobile load screenshots show the consent notice covering the viewport before the TV guide can be used; the mobile panel occupies almost the entire 360×800 viewport. F06 high: A full-viewport consent wall obscures the core guide on every fresh visit. |
maximize-content-reduce-noisesemantic-dismissible-primitives | issues | high | The DOM probe found five role=dialog containers, zero dialog elements, and zero popover elements. F07 medium: Overlay UI is built from generic role=dialog containers rather than native overlay primitives. |
maximize-content-reduce-noisereduced-chrome | issues | high | The first-view screenshots contain policy prose and choice chrome while the actual programme grid is fully hidden or dimmed. F08 medium: Consent chrome consumes the entire first viewport instead of prioritising programme content. |
adapt-to-the-form-factorresponsive-no-horizontal-scroll | pass | high | At 360×800 the layout primitive measured scrollWidth=clientWidth=360 with zero horizontal overflow and a valid viewport meta. |
adapt-to-the-form-factorcomponent-level-responsiveness | pass | high | CSS inspection found container-query rules across all representative templates, providing component-level adaptation beyond viewport media queries. |
adapt-to-the-form-factorinput-modality-aware | issues | high | The homepage probe found programme/channel links only 12–19 px high, and article breadcrumb/author links 15–21 px high. F09 medium: Many primary links have touch targets below recommended dimensions. |
support-core-task-successclear-purpose-and-primary-action | issues | high | On both desktop and mobile, the first viewport contains only the blocking consent decision; “Programme TV” and its date/channel controls are not available. F10 high: The page purpose and primary TV-guide action are hidden on entry. |
support-core-task-successprimary-flow-completion | issues | high | The notice says users must accept data processing to browse free, while the only refusal path is “Refuser et s’abonner (1,99€)”; the guide behind it cannot be operated. F11 high: The programme-discovery journey requires accepting tracking or paying before interaction. |
support-core-task-successclear-system-state-and-recovery | pass | high | A real 404 returns HTTP 404, explains the lost signal, and provides a direct “Retourner à la page d’accueil” recovery link; populated search exposes categorized result counts. |
be-fast-and-stablegood-core-web-vitals | issues | high | Lighthouse measured LCP at 2.7 s (performance 0.93), while the separate trace measured 1.88 s; the variance places the page near rather than consistently inside the ≤2.5 s good range. F12 medium: One Lighthouse run missed the good LCP threshold. |
be-fast-and-stablevisual-stability | pass | high | Layout observation and Lighthouse both measured CLS 0 during the tested load. |
be-fast-and-stableefficient-main-thread | pass | high | The trace recorded zero long tasks and 0 ms TBT; Lighthouse corroborated only 20 ms TBT. |
be-fast-and-stableefficient-resource-delivery | issues | high | The HAR recorded 101 requests; third parties transferred 506,338 bytes, and the summary identified missing cache headers, one uncompressed script, redirects, and parser-inserted consent resources. F13 medium: Startup delivery includes avoidable third-party chains and weak cache hygiene. |
be-fast-and-stabletrim-unused-and-duplicate-code | issues | high | Lighthouse estimated 387 KiB of unused JavaScript, including advertising, Google identity, consent, Datadog RUM, and GraphQL bundles with 53–85% waste. F14 medium: The homepage ships substantial JavaScript unused during the initial task. |
be-inclusivenames-roles-labels | issues | high | The search input has only a placeholder and no label or aria-label; the programme detail probe also found an unnamed watch-action link. F15 medium: Search and programme controls lack accessible names. |
be-inclusivesufficient-contrast | issues | high | Lighthouse found #ff004b/white text at 3.92:1 and grey programme subtitles at 2.95:1, below the 4.5:1 requirement for normal text. F16 medium: Several guide labels fail WCAG AA contrast. |
be-inclusivestructure-and-focus | pass | high | The templates contain main/nav/header/footer landmarks, sequential headings, a skip link, and a 2 px dashed visible focus outline. |
be-inclusivelegible-text | pass | high | Desktop/mobile screenshots and article heading inspection show readable type, stable hierarchy, and no horizontal text clipping in the measured viewport. |
be-inclusivezoom-reflow-targets-and-media | issues | high | Objective target measurements found many visible links 12–21 px high, despite the page reflowing without horizontal overflow at 360 px. F17 medium: Small link hit areas reduce usability under touch and zoom. |
follow-best-practicesno-console-errors | issues | high | Lighthouse captured a Google Identity FedCM NetworkError and “Not signed in with the identity provider” in the console. F18 low: The page logs identity errors during a normal unauthenticated load. |
follow-best-practicessound-document-and-assets | issues | high | The images primitive reported width/height attributes missing on all 100 inspected images, increasing maintainability and potential layout-shift risk even though this run’s CLS was zero. F19 medium: Images omit intrinsic dimensions. |
follow-best-practicesbrowser-platform-hygiene | issues | high | Lighthouse found use of the deprecated Shared Storage API in advertising-core/5.215.0/core-ads.js. F20 low: Advertising code uses a deprecated browser API. |
be-discoverabletitle-and-description | pass | high | All six content/search templates inspected expose descriptive titles and meta descriptions; article and programme raw HTML preserve them. |
be-discoverablecrawlable-and-mobile-friendly | pass | high | The page has a viewport meta, real href links, permissive robots rules for public content, and 84–100% raw-HTML content coverage. |
be-discoverablecanonical-and-indexing-signals | issues | high | The invalid route correctly returned HTTP 404 but emitted meta robots “index,follow”; /sitemap.xml returned the full 404 HTML rather than a sitemap. F21 medium: Indexing signals include an indexable 404 and no sitemap at the conventional location. |
be-discoverablestructured-and-shareable-metadata | issues | high | The Mask Singer page has useful Open Graph tags but no JSON-LD, while the article correctly exposes NewsArticle and BreadcrumbList. F22 low: The programme detail lacks structured entity metadata. |
be-private-and-securesecure-transport-and-headers | issues | high | HTTPS, HSTS, and nosniff are present, but CSP allows unsafe-inline and unsafe-eval; four cookies were flagged not Secure and/or SameSite=None, including a 395-day analytics cookie. F23 high: Cookie and CSP settings weaken otherwise secure HTTPS transport. |
be-private-and-securedata-minimisation-and-third-parties | issues | high | During the blocked consent state, the page contacted 14 third-party origins; 36 third-party requests transferred 506,338 bytes, including Wysistat, Google identity, Datadog, Facebook, and consent infrastructure. F24 high: Tracking and identity traffic starts before an affirmative consent choice. |
be-private-and-securein-context-permissions-and-modern-auth | pass | high | No geolocation/notification permission prompt appeared on load across any path; authentication is optional and outside the programme-discovery flow. |
be-private-and-securedefensive-browser-policies | issues | high | Headers inspection found no frame-ancestors/X-Frame-Options, Referrer-Policy, or Permissions-Policy; the CSP source lists are broad and allow unsafe execution. F25 medium: Several defensive browser policies are absent. |
be-resilientprogressive-enhancement | pass | high | Raw HTML contains 84% of homepage content, 93% of article content, and 100% of programme-detail content; no page is a JS shell. |
be-resilientresilient-runtime-behaviour | pass | high | Menus/overlays rendered within the tested viewport, BFCache passed in Lighthouse, and repeated menu open/close left the DOM node count unchanged. |
be-resilientoffline-and-installable | issues | high | The page links a standalone web app manifest, but the service-worker probe found zero registrations and no controlling worker. F26 low: The installable manifest is not backed by an active service worker or offline fallback. |
be-resilientnetwork-and-http-failure-states | pass | high | The tested 404 returns the correct status and a concise recovery action rather than a broken shell or infinite spinner. |
be-internationalisedlang-dir-and-logical-properties | issues | high | The page correctly declares lang=fr, but the stylesheet probe counted 162 physical left/right declarations and only one logical-property use on the homepage. F27 low: Styles are dominated by physical direction properties. |
be-internationalisedlocale-aware-data | pass | high | The document declares French, and programme dates/times and relative day labels are rendered consistently in the French locale across guide and search states. |
be-internationalisedtime-zone-correctness | not-applicable | high | The audited product is a France-only broadcast guide presenting the single local broadcast schedule; no cross-zone event coordination or user-selectable timezone flow was present. |
be-trustworthyno-dark-patterns | issues | high | The primary button is “Accepter”; the only visible refusal is “Refuser et s’abonner (1,99€)”, and no free reject-all choice is offered alongside acceptance. F28 high: The consent choice presents acceptance as free and refusal as paid. |
be-trustworthyhumane-error-handling | not-applicable | high | The only authored input in scope is optional search; no required or transactional form submission with validation errors was present. |
be-trustworthytrustworthy-input-assistance | not-applicable | high | No address, payment, sign-in, or sign-up form collecting autofill-eligible personal data was present on the representative paths. |
be-trustworthysafe-commercial-and-account-flows | issues | high | The first viewport asks for €1.99 to refuse processing while the free path commits the user to extensive personalised advertising purposes. F29 high: The paid-refusal subscription commitment is embedded in the blocking privacy decision. |
be-sustainableoptimised-assets | issues | high | Of 100 images, 78 below-fold images were not lazy-loaded, 23 lacked srcset, eight used legacy formats, and none used AVIF/WebP; all lacked intrinsic dimensions. F30 medium: Image delivery misses several efficiency basics. |
be-sustainableno-wasteful-work | issues | high | Lighthouse estimated 387 KiB unused JavaScript while the HAR loaded 33 scripts, including ads, identity, monitoring, consent, and duplicate html-load/staging traffic. F31 medium: Optional bundles perform wasteful startup work. |
be-sustainablethird-party-and-media-budget | issues | high | Third parties transferred 506,338 of 1,091,753 bytes (46%) across 36 requests; consent, identity, RUM, and tracking dominate the third-party budget. F32 medium: Third parties consume nearly half of transferred bytes before the core task starts. |
be-agent-readystructured-agent-capabilities | not-applicable | high | This public editorial/TV guide exposes crawlable SSR content but no declared agent-facing transactional capability; emerging WebMCP tools are not required for the observed scope. |
be-agent-readyon-device-inference | not-applicable | high | No summarisation or language-model feature is part of the site’s declared or visible user experience, so an on-device inference implementation is not applicable. |
be-memory-efficientno-leak-under-repeated-interaction | pass | medium | After ten menu open/close cycles, DOM nodes stayed at 3,095; used heap rose only 447,025 bytes (3.5%), while separate heap snapshots differed by 1.8% self size. |
be-memory-efficientbounded-footprint | pass | medium | The baseline heap summary was 20,974,182 self bytes with 3,095 live DOM elements, proportionate to a dense programme grid and bounded after interaction. |
be-memory-efficientno-detached-dom-or-unbounded-listeners | pass | medium | Across ten menu cycles, DOM nodes remained 3,095, instrumented listeners had net growth -1, and no intervals were added. |
Provenance
Canonical report: results/atomic/reports/0563-www_programme-tv_net.json
Report SHA-256: 68c055d2301f480ead3b5754cabc7b91bb4f5ea236403b1f4dae8a7cf6a2039f
Local retained report: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_programme-tv_net/2026-07-21T14-38-44-518Z/report.json
Local evidence root: runs/2026-07-17T17-27-24-856Z/atomic-reports/www_programme-tv_net/2026-07-21T14-38-44-518Z
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.