Accessibilité
L’accessibilité n’est pas une option
Le système de marque fédéral satisfait au minimum à WCAG 2.1 niveau AA, conformément à l’arrêté belge sur l’accessibilité et à la directive UE 2016/2102. Quand c’est possible, nous visons AAA.
Contraste
Le contraste entre texte et arrière-plan est imposé au niveau des tokens, pas au niveau des composants. Concrètement :
- Texte courant (
color.text.defaultsurcolor.background.default) : ratio de contraste ≥ 7:1 (AAA). - Texte secondaire (
color.text.muted) : ≥ 4,5:1 (AA). - Texte sur fond coloré (boutons, bannières) : la pipeline refuse les combinaisons qui ne respectent pas AA — c’est un blocker en CI.
Navigation au clavier et focus
Chaque élément interactif a un indicateur de focus visible (color.border.focus avec une bordure d’au moins 2 px). L’ordre de tabulation suit l’ordre de lecture.
Multilinguisme et support des scripts
Le cahier des charges exige explicitement le support du latin, du cyrillique, de l’arabe, du grec, du japonais et du chinois. Les tokens typographiques définissent une pile de fallback par script :
font.family.primarypour latin, cyrillique et grec (Inter)font.family.arabicpour l’arabe (Noto Sans Arabic)font.family.cjkpour le japonais et le chinois (Noto Sans CJK)
La pipeline de rendu choisit automatiquement la bonne pile selon l’attribut lang.
Validation
Les vérifications WCAG s’exécutent automatiquement en CI. Un token nouveau ou modifié qui rompt la règle de contraste bloque la fusion jusqu’à correction ou marquage explicite comme exception par la Chancellerie.