Le contrat de design de ce site

Le fichier DESIGN.md décrit ce site aux assistants de code : couleurs, typographie, composants. Notre extension design-md-a11y y ajoute les réglages d’accessibilité que le format ne couvre pas.

Résultat du contrôle

Objectif : zéro erreur au linter de Google, et aucun écart aux règles de l’extension design-md-a11y.

Contrôles du fichier
ContrôleCommentRésultat, 21 octobre 2026
Linter de Googlenpx @google/design.md lint DESIGN.md, version 0.4.00 erreur ; 7 avertissements, dont 5 dus à l’extension
Extension design-md-a11yOutil design-md-a11y-lint 0.1.0, règles du skill 1.2.0 ; contrastes calculés par l’outil0 constat

Les 5 avertissements dus à l’extension sont attendus. Google signale la clé a11y, qu’il ne connaît pas, la propriété borderColor des deux champs, absente de son schéma de composant, et les deux couleurs de focus, citées seulement par les réglages d’accessibilité. Notre outil les sépare des autres constats. Les 2 avertissements restants portent sur les filets rule et rule-dark, qu’aucun composant n’utilise : ce sont des filets décoratifs, décrits dans le fichier.

En mode sombre, l’anneau de focus est déclaré dans a11y.themes.dark et mesuré contre les fonds sombres : 8,95:1 sur le fond, 8,17:1 sur la surface, 6,65:1 sur la teinte. Les bordures de champ, rattachées aux champs par borderColor, sont mesurées contre le fond de page : 4,37:1 en mode clair, 5,44:1 en mode sombre.

Le linter est l’outil de contrôle automatique du format. « Anticipé » désigne un critère des WCAG 2.2 que le RAWeb 1.1 ne contient pas encore.

Couleurs

Une seule couleur d’accent. Chaque couleur de texte est déclarée avec sa couleur de fond.

Contrastes vérifiés par script le 20 octobre 2026
PaireMode clairMode sombre
Texte sur fond16,64:1#1A1A1A sur #FAFAF716,08:1#EDEDE8 sur #111111
Texte secondaire sur fond8,51:1#4A4A46 sur #FAFAF79,16:1#B5B5AE sur #111111
Accent, liens et focus sur fond5,77:1#0F6E6F sur #FAFAF78,95:1#5CC2C2 sur #111111
Accent sur surface5,33:1#0F6E6F sur #F1F1EC8,17:1#5CC2C2 sur #1B1B1A
Accent sur offre phare5,13:1#0F6E6F sur #E3EFEE6,65:1#5CC2C2 sur #15302F
Texte du bouton principal6,03:1#FFFFFF sur #0F6E6F8,95:1#111111 sur #5CC2C2
Bordure de champ sur fond4,37:1#767670 sur #FAFAF75,44:1#8A8A84 sur #111111
Bordure de champ sur surface4,03:1#767670 sur #F1F1EC4,97:1#8A8A84 sur #1B1B1A
Erreur sur fond6,29:1#B42318 sur #FAFAF78,27:1#FF8A80 sur #111111
Succès sur fond6,26:1#1E6B34 sur #FAFAF710,60:1#7FD49A sur #111111
Alerte sur fond6,51:1#8A4B00 sur #FAFAF710,71:1#F5B860 sur #111111

Seuils : 4,5:1 pour le texte ; 3:1 pour les grands textes, les composants et l’anneau de focus.

Typographie

Atkinson Hyperlegible Next pour le texte, Atkinson Hyperlegible Mono pour le code et les tokens.

Échelle typographique
RôleTailleGraisseInterlignage
Titre d’accueil2,375 à 4,25 rem8001,1
Titre de page2,125 à 3,25 rem8001,15
Titre de section1,75 à 2,25 rem7001,15
Intertitre1,375 rem7001,25
Texte courant1,125 rem4001,55
Texte secondaire1 rem4001,5
Code et tokens0,9375 rem4001,6

Règles d’accessibilité

Réglages ajoutés par l’extension design-md-a11y, sous la clé a11y (format 1.2).

Extrait de DESIGN.md

a11y:
  focus:
    ringColor: "{colors.focus}"
    ringWidth: 3px
    ringOffset: 2px
    style: solid
    scrollMargin: 96px
  target:
    minSize: 24px
    recommendedSize: 44px
  motion:
    respectReducedMotion: true
    maxAnimationDuration: 0.5s
  text:
    spacing:
      lineHeight: 1.5
      paragraphSpacing: 2em
      letterSpacing: 0.12em
      wordSpacing: 0.16em
  reflow:
    minViewportWidth: 320px
  themes:
    dark:
      focus:
        ringColor: "{colors.focus-dark}"
Valeurs et références
SectionValeurRéférence
a11y.focusAnneau de 3 px, décalé de 2 px ; marge de défilement de 96 pxRAWeb 10.7 et 3.3 ; WCAG 2.4.11, anticipé
a11y.target24 px minimum, 44 px visésWCAG 2.5.8, anticipé ; 2.5.5 (niveau AAA)
a11y.motionPréférence « mouvement réduit » respectée ; animations de 0,5 s au plusRAWeb 13.8 ; mouvement réduit : WCAG 2.3.3 (niveau AAA)
a11y.text.spacingValeurs du test que la page doit supporter : interlignage 1,5 ; paragraphes 2 em ; lettres 0,12 em ; mots 0,16 emRAWeb 10.12 ; WCAG 1.4.12
a11y.reflowAucun défilement horizontal à 320 pxRAWeb 10.11 ; WCAG 1.4.10
a11y.themes.darkAnneau de focus du mode sombre : {colors.focus-dark}, #5CC2C2RAWeb 10.7 et 3.3

Ce que le format ne couvre pas

Le format DESIGN.md (Google Labs, spécification alpha) décrit l’apparence, pas le comportement. Notre extension y ajoute, sous la clé a11y, les réglages d’accessibilité visuels qui lui manquent : contour de focus, taille des cibles, animations, espacement du texte, affichage sur petit écran. Le comportement au clavier, les rôles ARIA et la structure des pages ne sont pas dans le fichier : ils se vérifient à l’audit.

La spécification du format DESIGN.md, sur GitHub (en anglais)