Chapitre 5.4 — Utiliser un lecteur d’écran
⏱️ TL;DR — Tu ne peux pas coder accessible sans écouter ce que tu produis. Bonne nouvelle : tu as déjà un lecteur d’écran sous la main. Sur Windows, installe NVDA (gratuit) ; sur Mac, VoiceOver est intégré (
Cmd+F5). Chacun a une touche de modification (la « touche NVDA » =Insert; les « touches VO » =Control+Option) et une poignée de commandes suffit pour tester : tout lire, élément suivant, sauter par titres, par landmarks, par champs. Ce chapitre te donne le kit de démarrage et une checklist de premier test. C’est le pont vers la Partie 14.
🎯 Objectifs
- Démarrer un lecteur d’écran : NVDA sur Windows, VoiceOver sur Mac.
- Comprendre la touche de modification propre à chaque lecteur.
- Connaître les commandes de base : lire, élément suivant, par titres/landmarks/formulaires.
- Dérouler une checklist de premier test sur un parcours réel.
- Savoir quand ce test rejoint la stratégie globale de la Partie 14.
Pourquoi tester à l’oreille
Les DevTools te montrent l’arbre (chapitre 5.2), mais seuls tes oreilles te disent ce que l’expérience donne vraiment : l’ordre des annonces, les répétitions pénibles, un bouton sans nom, un piège au clavier, une info « visible » jamais lue. Cinq minutes de test réel valent des heures de supposition. Tu n’as pas besoin d’être expert : tu dois juste parcourir ton parcours comme le ferait un utilisateur, à l’aveugle si tu oses fermer les yeux.
♿ Côté utilisateur — La première fois, la voix va très vite et tu ne comprends rien : c’est normal. Un utilisateur régulier écoute à 300-400 mots/minute. Baisse la vitesse au début, prends l’habitude d’arrêter la parole (une touche) et de relire ligne à ligne. En quelques séances, tu « lis à l’oreille » sans effort — et tu entends immédiatement ce qui cloche dans tes pages.
Démarrer avec NVDA (Windows)
NVDA est gratuit et open source. Télécharge-le sur le site de NV Access, installe-le. À l’installation, tu peux créer un raccourci pour le lancer avec Ctrl+Alt+N.
La touche NVDA (le modificateur) est par défaut Insert (tu peux ajouter Verr. Maj / Caps Lock en mode portable). Dans ce cours, « NVDA » dans un raccourci = cette touche. NVDA lit une page en mode navigation ; il bascule en mode formulaire au focus d’un champ (chapitre 5.1). NVDA+Espace bascule les deux modes manuellement.
| Action | Commande NVDA |
|---|---|
| Démarrer NVDA | Ctrl+Alt+N |
| Arrêter la parole | Ctrl |
| Tout lire depuis le curseur | NVDA+Flèche bas |
| Lire la ligne courante | NVDA+Flèche haut |
| Élément suivant / précédent | Flèche bas / Flèche haut |
| Titre suivant / d’un niveau | H / 1…6 |
| Landmark (région) suivante | D |
| Lien suivant | K |
| Champ de formulaire suivant | F |
| Bouton suivant | B |
| Liste de tous les éléments (titres, liens…) | NVDA+F7 |
| Basculer navigation / formulaire | NVDA+Espace |
| Quitter NVDA | NVDA+Q |
Démarrer avec VoiceOver (Mac)
VoiceOver est intégré à macOS : rien à installer. Active-le avec Cmd+F5 (même raccourci pour le couper). Un premier lancement propose un excellent tutoriel guidé (Quick Start) — fais-le une fois.
Les touches VO (le modificateur de VoiceOver) sont Control+Option, pressées ensemble. Sur le web, teste VoiceOver avec Safari. L’outil-clé est le rotor (VO+U) : il ouvre un sélecteur d’éléments (titres, liens, landmarks, champs) pour naviguer d’un coup.
| Action | Commande VoiceOver |
|---|---|
| Activer / couper VoiceOver | Cmd+F5 |
| Arrêter / reprendre la parole | Control |
| Tout lire depuis le curseur | VO+A |
| Élément suivant / précédent | VO+Flèche droite / VO+Flèche gauche |
| Activer l’élément (cliquer) | VO+Espace |
| Titre suivant | VO+Cmd+H |
| Champ de formulaire suivant | VO+Cmd+J |
| Ouvrir le rotor (titres, liens, landmarks…) | VO+U |
| Interagir avec un groupe / en sortir | VO+Shift+Flèche bas / VO+Shift+Flèche haut |
⚠️ Piège — Ne teste pas au lecteur d’écran avec un mauvais couple navigateur. VoiceOver donne son vrai comportement sous Safari ; NVDA sous Firefox ou Chrome. Tester VoiceOver sous Chrome ou NVDA sous un navigateur exotique te fera diagnostiquer des bugs qui n’existent que dans cette combinaison — et rater ceux que vivent tes utilisateurs. Un rappel des couples recommandés est au chapitre 5.1.
Checklist « premier test » d’un parcours
Prends un parcours concret (ex. « s’inscrire », « reprendre un cours ») et déroule ça, lecteur d’écran allumé, sans souris :
- Le titre de la page est-il annoncé et parlant en arrivant ? (
<title>et<h1>) - La structure : en sautant par titres (
H/VO+Cmd+H), obtiens-tu un plan logique et hiérarchisé de la page ? - Les landmarks :
<nav>,<main>sont-elles présentes et nommées quand il y en a plusieurs ? - Chaque élément interactif a un nom : les boutons et liens s’annoncent-ils avec un libellé clair (pas « bouton », « lien », « image » tout court, pas dix « Voir » identiques) ?
- Les champs de formulaire annoncent-ils leur label, leur état (requis, erreur) et l’aide associée ?
- L’ordre de lecture suit-il un ordre logique (celui du DOM), sans surprise par rapport au visuel ?
- Rien d’invisible n’est lu en trop (contenu masqué mal fait), et rien de visible n’est oublié (info portée par la seule couleur ou position) ?
- Le focus est visible et jamais piégé : peux-tu tout atteindre et tout quitter au clavier (voir Partie 4) ?
Si les huit points passent sur ton parcours principal, tu es déjà loin devant la moyenne. Ce test manuel complète — sans remplacer — les outils automatiques vus en Partie 14.
💡 Réflexe — Teste un parcours de bout en bout, pas des composants isolés. Un bouton parfait dans le vide peut devenir illisible dans le flux réel (annoncé après dix liens identiques, ou après un bloc masqué bavard). L’expérience se juge en contexte, du premier au dernier écran de la tâche.
🧭 Sur A11yLearn — Exercice fondateur du cours : parcours le tableau de bord d’A11yLearn au lecteur d’écran, yeux fermés. Lance NVDA (ou VoiceOver), ouvre la liste des titres (
NVDA+F7ou le rotorVO+U), et essaie d’atteindre « Reprendre mon cours » sans la souris. La première fois, on se perd : titres absents, boutons « Continuer » indistincts, carte cliquable muette. Note chaque friction : c’est ta feuille de route de correctifs pour toute la suite. On refera ce parcours après chaque partie pour mesurer le progrès à l’oreille.
✏️ Exercices
Exercice 1 — Ton premier parcours. Sur n’importe quelle page (la tienne ou un site connu), lance ton lecteur d’écran et, sans souris, ouvre la liste des titres puis saute directement à la zone de contenu principale. Note : y a-t-il des titres ? Une landmark main ? Décris ce que tu entends.
✅ Solution
Attendu : avec NVDA+F7 (ou VO+U), tu ouvres la liste des titres ; s’il y en a, tu choisis le <h1>/<h2> de la zone principale et le curseur s’y place. Avec D (NVDA) tu sautes à la landmark main. Observations typiques d’une page mal structurée : liste de titres vide ou incohérente (des <h4> avant des <h2>), pas de main, obligation de tout lire linéairement. Sur une page bien faite : plan clair, saut immédiat au contenu. Le simple fait de réussir (ou non) ce saut est déjà un diagnostic.
Exercice 2 — Le bouton anonyme. Au lecteur d’écran, tu tombes sur un contrôle annoncé juste « bouton », sans nom. Cite deux commandes qui t’ont permis de le repérer, et où tu regarderais dans le code pour comprendre.
✅ Solution
Repérage : parcours des boutons avec B (NVDA) ou la catégorie « boutons » du rotor VO+U (VoiceOver) ; ou la liste d’éléments NVDA+F7. Un item « bouton » sans libellé saute aux oreilles. Dans le code : c’est un problème de nom accessible (chapitre 5.3) — souvent un <button> ne contenant qu’une icône (<svg>/emoji) sans aria-label, ou une <div> bricolée. Correctif : ajouter un aria-label explicite, ou un texte accessible. Vérifie ensuite dans le panneau Accessibility des DevTools que le nom n’est plus vide.
🧠 Quiz de révision
1. Quelle est la touche de modification de NVDA ? Et celles de VoiceOver ?
Pour NVDA, la « touche NVDA » est Insert (option : Caps Lock). Pour VoiceOver, les « touches VO » sont Control+Option pressées ensemble. Ces modificateurs préfixent la plupart des commandes.
2. Comment active-t-on VoiceOver sur Mac ?
Avec Cmd+F5 (le même raccourci le coupe). VoiceOver est intégré à macOS, rien à installer. Sur le web, on le teste avec Safari, et le premier lancement propose un tutoriel guidé.
3. Quelle commande fait « tout lire » sous NVDA ? Sous VoiceOver ?
Sous NVDA : NVDA+Flèche bas (lire tout depuis le curseur). Sous VoiceOver : VO+A (Control+Option+A). Pour arrêter la parole : Ctrl sur NVDA, Control sur VoiceOver.
4. Comment obtenir la liste de tous les titres d’une page ?
Sous NVDA : NVDA+F7 ouvre la liste des éléments (titres, liens, landmarks). Sous VoiceOver : le rotor VO+U, catégorie « Titres ». C’est le moyen le plus rapide de vérifier la structure et de sauter au bon endroit.
5. Pourquoi tester un parcours entier plutôt qu’un composant isolé ?
Parce que l’expérience se juge en contexte : ordre des annonces, répétitions, contenus masqués bavards, pièges au clavier n’apparaissent que dans le flux réel. Un composant correct isolément peut devenir pénible noyé dans la page. On déroule donc une tâche de bout en bout, sans souris.
Chapitre suivant : Contenu masqué (sr-only) — les quatre façons de masquer du contenu et laquelle choisir selon que tu veux le cacher à l’œil, au lecteur d’écran, ou aux deux.