Skip to content
design system
Thème d’affichage, actuellement Auto

Pattern · documents

Print

What any page owes to paper: the light set whatever the session's theme, the controls of the screen gone, the address written after a link that goes out, and nothing split across two sheets that should hold together. The token sheet does the first; a document frame does the rest.

The pattern, live

À l’écran, dans le thème de la session

Audit initial, mars 2026

Rapport d’audit, Boutique GreenShop

Trois pages auditées selon le RGAA 4.1.2.

Information :Rapport provisoire

Trois critères restent à trancher. Le taux publié le sera après.
Les pages de l’échantillon, leur statut et leur taux
PageStatutTaux
Accueil https://greenshop.example.com/ NC Non conforme88 %
Fiche produit https://greenshop.example.com/produit/12 NC Non conforme81 %
Panier https://greenshop.example.com/panier C Conforme100 %

La grille complète est publiée sur la page accessibilité du site audité .

Sur papier, le jeu d’impression appliqué tel quel

Audit initial, mars 2026

Rapport d’audit, Boutique GreenShop

Trois pages auditées selon le RGAA 4.1.2.

Les pages de l’échantillon, leur statut et leur taux
PageStatutTaux
Accueil https://greenshop.example.com/ NC Non conforme88 %
Fiche produit https://greenshop.example.com/produit/12 NC Non conforme81 %
Panier https://greenshop.example.com/panier C Conforme100 %

La grille complète est publiée sur la page accessibilité du site audité (https://greenshop.example.com/accessibilite).

How it works

  1. The generated token sheet carries a @media print block that sets every colour role to the paper set on every theme selector, :root, [data-theme='light'] and [data-theme='dark'] alike. A page printed from a dark session is the paper set; no page writes a print colour.
  2. The paper set is measured like the two others: each documented pair keeps its floor on white, and the ratios are written into the sheet as comments. The colour foundation lists the print column next to light and dark.
  3. A document the product hands over goes through the report frame, which owns the page rules: the sheet size and margins in @page, the header repeated on every page, widows and orphans, a heading never left alone at the foot of a page, table headers repeated, the address printed after a link that goes out.
  4. Inside that frame, a section that starts a part carries rl-report__part for a page break before it; a block that must not be split carries rl-report__keep; a screen-only part, an action, a notice, a status region, carries rl-report__screen and is not printed.
  5. The frame on the right approximates the medium: the print values of tokens.json applied as custom properties and the screen parts left out. The browser's own preview, from the button under it, is the real thing; nothing on this site scripts the print.

Rules a page that copies it keeps

  • A page never writes a print colour, a print font or a print margin of its own: the tokens and the frame hold them, so every printed page of the product looks like the same product.
  • What is for the screen is marked as such where it is written, the action next to the title, the notice above the table, never hidden by a rule that names a component from outside.
  • A status on paper is a word, as it is on screen: the chip prints its abbreviation and its word, and the ink only confirms.
  • A link that leaves the document prints its address after its text; a link inside the document, to a section, prints nothing extra.
  • A table takes the report variant and a caption; a long table lets its header repeat on each sheet, and never a row split in two.
  • A page that is not a document, a list, a form, a dashboard, has no print promise: the browser prints what it shows, in the paper set, and that is enough.

Built with