edubun
Français

Typographie

Les WCAG conseillent des lignes de 80 caractères au plus et un interligne d'au moins 1.5 dans les paragraphes. Deux propriétés CSS gèrent ces deux points.

Choisir des polices

font-family accepte une liste de polices séparées par des virgules. Le navigateur utilise la première disponible sur l'appareil du lecteur et descend dans la liste si elle manque. Termine toujours la liste par une famille générique, serif, sans-serif, monospace ou system-ui, pour qu'une police convenable s'affiche quoi qu'il soit installé. Les noms de police qui contiennent des espaces se mettent entre guillemets, comme "Noto Sans KR". system-ui utilise la police d'interface du système d'exploitation, bien conçue, déjà présente sur l'appareil, et qui couvre de nombreux systèmes d'écriture.

body {
  font-family: system-ui, sans-serif;
  font-size: 1rem;          /* 16px unless the reader changed it */
  line-height: 1.6;         /* unitless: 1.6 times the font size */
  color: #222;
}
h1 { font-size: 2rem; font-weight: 700; line-height: 1.2; }
p  { max-width: 65ch; }     /* keeps lines a readable length */
.label { text-transform: uppercase; letter-spacing: 0.08em; }
Un ensemble de styles de texte réduit mais complet.

Tu peux aussi charger un fichier de police depuis ton propre serveur avec une règle @font-face, ou depuis un service de polices. Les polices web donnent du caractère à une page, mais chacune est un téléchargement qui retarde l'affichage du texte, et les polices coréennes, chinoises et japonaises peuvent peser plusieurs mégaoctets car elles contiennent des milliers de glyphes. Charge le moins de graisses possible et garde une bonne police de secours dans la liste.

Taille, graisse et interligne

font-size règle la taille ; comme l'a expliqué l'unité sur les couleurs et les unités, rem garde le texte en accord avec les réglages du lecteur. font-weight va de 100 (très fin) à 900 (très gras), avec 400 pour normal et 700 pour gras ; les mots-clés normal et bold valent 400 et 700. Une police ne possède que les graisses que son créateur a dessinées : demander 300 dans une police qui n'a que 400 et 700 donne la plus proche.

line-height règle la distance entre les lignes. Donne-lui un simple nombre sans unité, comme 1.6 : il signifie alors 1.6 fois la taille de police de chaque élément, si bien que les titres et les petits caractères reçoivent chacun un espacement adapté. Une valeur avec unité, comme 24px, est calculée une seule fois et héritée comme une longueur fixe, trop serrée pour les grands titres. Le texte courant se lit bien en général entre 1.4 et 1.7 ; le critère de succès WCAG 1.4.8 conseille au moins 1.5 dans les paragraphes. Les grands titres sont plus beaux plus serrés, autour de 1.1 à 1.3.

Longueur de ligne et alignement

Les lignes très longues fatiguent : l'œil perd sa place en revenant au début de la ligne suivante. Le critère WCAG 1.4.8 conseille 80 caractères au plus par ligne (40 pour le chinois, le japonais et le coréen). Le moyen simple d'y arriver est un max-width en unités ch sur les paragraphes, par exemple max-width: 65ch. text-align règle l'alignement : left (ou start) est le plus facile à lire pour un long texte dans les langues qui s'écrivent de gauche à droite, center convient aux titres courts, et justify peut créer des espaces irréguliers entre les mots.

Petites finitions

text-transform: uppercase affiche le texte en majuscules sans modifier le HTML : la source garde son orthographe normale et le style peut être changé plus tard à un seul endroit. MDN signale que de longues suites de majuscules sont plus difficiles à lire pour certaines personnes, notamment les personnes dyslexiques : réserve-les aux étiquettes courtes et ajoute un peu de letter-spacing, comme 0.08em. text-decoration trace des lignes : underline, line-through, ou none pour retirer le soulignement d'un lien (garde un autre signe montrant que c'est un lien). Les lecteurs qui ont besoin de plus d'espace peuvent remplacer ton espacement ; le critère WCAG 1.4.12 demande que les pages fonctionnent encore avec un interligne de 1.5, un espacement des lettres de 0.12em, un espacement des mots de 0.16em et un espacement des paragraphes de 2em. Évite donc les boîtes à hauteur fixe qui couperaient le texte.

liste de policesPolices essayées dans l'ordre ; terminer par une famille générique
famille génériqueserif, sans-serif, monospace ou system-ui
font-weight100 à 900 ; 400 normal, 700 gras
line-height sans unitéUn multiple de la taille de police de chaque élément
chLargeur du chiffre 0 ; utile pour la longueur de ligne
@font-faceCharge un fichier de police
letter-spacingEspace entre les lettres ; aide les textes en majuscules
  1. Pourquoi terminer une liste font-family par une famille générique ?
    • Pour qu'une police adaptée s'affiche même si aucune des polices nommées n'est installée
    • Cela accélère le chargement de la page
    • C'est une syntaxe obligatoire
  2. À quoi correspond font-weight: bold ?
  3. font-size vaut 20px et line-height 1.5. Quelle est la hauteur de chaque ligne ?
  4. Pourquoi donner line-height sans unité ?
    • Chaque élément multiplie par sa propre taille de police
    • Les unités ne sont pas autorisées
    • Cela met le texte en gras
  5. Quelle longueur de ligne maximale le critère WCAG 1.4.8 conseille-t-il pour un texte en anglais ?
  6. Quelle unité est pratique pour limiter la longueur de ligne ?
    • ch
    • vh
    • deg
  7. Que change text-transform: uppercase ?
    • Seulement la façon dont le texte s'affiche
    • Le texte dans le fichier HTML
    • La famille de police
  8. font-size vaut 16px. Combien vaut letter-spacing: 0.1em ?
  9. Quel alignement est le plus facile à lire pour de longs paragraphes en anglais ?
    • left
    • center
    • justify
  10. Pourquoi éviter les hauteurs fixes sur les boîtes de texte ?
    • Le texte est coupé quand les lecteurs augmentent l'espacement ou la taille
    • Les hauteurs sont interdites en CSS
    • Elles ralentissent le défilement
L'essentiel
  • font-family est une liste de repli qui se termine par une famille générique.
  • line-height sans unité autour de 1.5 pour le texte courant ; plus serré pour les grands titres.
  • Limite la longueur de ligne avec max-width en ch ; les majuscules demandent un peu de letter-spacing.
Sources de ce cours (6)
  • W3C CSS Working Group specifications: CSS Snapshot 2025, Selectors Level 4, CSS Cascading and Inheritance Level 5, CSS Color Level 4, CSS Values and Units Level 4, CSS Box Model Level 3, CSS Box Sizing Level 3, CSS Fonts Level 4, CSS Flexible Box Layout Level 1, CSS Grid Layout Level 2, Media Queries Level 4 and Level 5 (w3.org/TR/, checked 2026-10-17)
  • MDN Web Docs, Learn web development: CSS styling basics and CSS layout, and the CSS reference (developer.mozilla.org/en-US/docs/Learn_web_development/Core/Styling_basics, .../Core/CSS_layout, developer.mozilla.org/en-US/docs/Web/CSS, checked 2026-10-17)
  • W3C, CSS history and CSS1 Recommendation of 17 December 1996 (w3.org/Style/CSS20/history.html, w3.org/press-releases/1996/css1-rec, checked 2026-10-17)
  • W3C WCAG 2.2, success criteria 1.4.3 Contrast (Minimum)
  • 1.4.8 Visual Presentation, 1.4.10 Reflow, 1.4.12 Text Spacing (w3.org/TR/WCAG22/, checked 2026-10-17)
  • every code exercise checked with a Playwright probe against a reference solution.

Consulté le: 2026-10-17