Natal n’est pas une "innovation réelle issue de Microsoft", c’est un projet acheté à une boite qui l’a d’abord proposé à Nintendo (qui a décliné l’offre).
D’autre part depuis l’E3, les éditeurs qui s’étaient engagés sur Natal commencent à déchanter et les annonces d’arrêt de projet se font de plus en plus nombreuses : la technologie n’a pas l’air d’être si au point que ça.
Développer des sites web accessibles
et conformes au RGAA
Dernière mise à jour : 14 novembre 2025
- Coopérative (SCOP) et entreprise solidaire d’utilité sociale (ESUS), spécialisée en accessibilité numérique.
- Accompagnement, conseil, audit et formations.
- Rédaction de référentiels (RGAA 3, RAAM, RAPDF, RAWeb, etc.).
- Ressources et outils sous licence libre.
Tour de table
- Présentation de l’animatrice/animateur de la formation.
- Présentation des personnes présentes :
- qui êtes-vous ?
- quel est votre niveau de connaissance de l’accessibilité numérique ?
Programme de la formation
Jour 1
- Découvrir l’accessibilité du Web, les enjeux humains, le contexte juridique et technique
- HTML : sémantique et structuration
- Navigation
- Contenu
Jour 2
- Avertir et laisser le contrôle à l’utilisateur
- Couleurs
- Présentation et CSS
- Multimédia
- Formulaire
Jour 3
- Interactivité et contenus complexes
Exercices
- HTML : structure de la page et navigation.
- Contenu : listes, titres, tableaux.
- Contenu : images et liens.
- Création d’une liste : implémentation de nouveaux contenus
- Nouvelle zone de contenu : implémentation d’une zone de contenu.
- Couleurs : contrastes, indications visuelles, visibilité du parcours.
- Présentation : ordre logique, présentation des contenus et des textes cachés.
- Formulaire : réparer un formulaire.
- Interactivité et contenus complexes : toggle button, fenêtre modale, contrôle de saisie.
Handicap et accessibilité numérique
Accessibilité et universalité
Définition de l’accessibilité du web
« L’accessibilité du Web signifie que les personnes handicapées peuvent utiliser le Web. Plus précisément qu’elles peuvent percevoir, comprendre, naviguer et interagir avec le Web, et qu’elles peuvent contribuer sur le Web.
7 avril 1997 : création de la Web Accessibility Initiative (WAI)
L’accessibilité, un droit fondamental
« Par personnes handicapées on entend des personnes qui présentent des incapacités physiques, mentales, intellectuelles ou sensorielles durables dont l’interaction avec diverses barrières peut faire obstacle à leur pleine et effective participation à la société sur la base de l’égalité avec les autres. »
Article premier — Convention relative aux droits des personnes handicapées de l’ONU (13 décembre 2006)
Ratifiée par plus de 180 États.
Comprendre la situation de handicap
On parle de situation de handicap lorsqu’une personne ayant une déficience se trouve empêchée de faire quelque chose du fait de l’inadaptation de son environnement à ses capacités.
C’est donc le manque d’adaptation qui crée la situation de handicap et non la déficience elle-même.
Différents types de handicaps
-
Handicaps physiques et sensoriels :
- visuels,
- auditifs,
- moteurs.
-
Handicaps mentaux :
- handicaps intellectuels,
- handicaps cognitifs (ex. troubles DYS),
- handicaps psychiques.
- Polyhandicap : un handicap moteur et un handicap mental.
- Troubles de santé invalidants : cancer, douleurs chroniques, allergies…
Chaque personne est différente.
Exemples de différents besoins pour naviguer sur le web
- Naviguer seulement au clavier
- Naviguer seulement à la souris
- Lire les descriptions des éléments visuels
- Lire les descriptions des éléments audios
- Maîtriser son environnement et naviguer à son rythme
- Personnaliser l’affichage (couleurs, taille des caractères, police…)
- Besoins liés au vieillissement des utilisateurs
Pour aller plus loin : « Personnes handicapées et navigation sur le Web » du guide « Défauts d’accessibilité : impacts sur les utilisateurs ».
Technologies d’assistance
Permettre l’accès par un autre moyen.
Quelques exemples :
- plage braille ;
- clavier monomanuel ;
- headstick ;
- eye-tracking ;
- clavier visuel ;
- lecteur d’écran ;
- contacteur au souffle ;
- trackball ;
- contrôle par la pensée ;
- etc.
Démonstrations
- Loupe d’écran, clavier visuel, personnalisation de l’écran.
- Lecteur d’écran
Des technologies et des utilisateurs
- Calibrage d’un outil de suivi du regard (eye-tracking)
- Un ordinateur qui se commande avec les yeux
- Un ordinateur qui se commande avec la voix : Mary - Controle vocal Windows 11
- Contrôler un jeu vidéo à la bouche : sanslesmains73 - Microsoft Adaptative Controller
- Contrôler un dispositif par la pensée
- Navigation par contacteur : Todd Stabelfeldt - iOS Switch Control
Accessibilité et obligations légales
Qui est concerné ?
Secteur public
Administrations, collectivités territoriales, etc.
Organismes affiliés
Organismes de mission de service public ou ayant une mission d’intérêt général
Entreprises privées
CA en France égal ou supérieur à 250 millions d’euros ou selon secteur d’activité
Quels secteurs ?
- Banques
- Téléphonie
- Livre numérique
- Commerce électronique
- Audiovisuel
- Transports
Note : Les micro-entreprises (moins de 10 personnes et CA inférieur à 2 millions d’euros) ainsi que les entreprises B2B ne sont pas concernées.
Que doit-on rendre accessible ?
- Sites web
- Applications mobiles
- Applications métiers, progiciels (uniquement web)
- Mobilier urbain numérique (borne interactive)
Exemptions : consulter le détail pour les entités publiques et les entreprises privées concernées en raison de leur CA ou le décret pour les entreprises privées concernées en raison de leur secteur d’activité.
Quelles obligations ?
Être conforme à la norme
EN 301 549
Objectif à atteindre : 100 % de conformité
Tous les organismes concernés
Informer sur la conformité
Obligations d’affichage et de publication :
- déclaration avec moyen de contact
- schéma pluriannuel déclinés en 3 plans annuels
- mention sur la page d’accueil au moins
Secteur public + entreprises privées
(CA >= 250 millions)
Les entreprises sectorielles doivent également fournir des informations sur l’accessibilité, mais sans documents normés.
Références : décret nº 2019-768 du 24 juillet 2019 et arrêté du 9 octobre 2023
Qui contrôle et quelles sont les sanctions ?
ARCOM
Secteur public + entreprises privées
(CA >= 250 millions)
Sanction : jusqu’à 25 000 € pour défaut de publication
Secteur public
Sanction : jusqu’à 50 000 € pour défaut de conformité
DGCCRF
Entreprises privées sectorielles
En cas de défaut de conformité :
- contravention de 7 500 € (15 000 € en cas de récidive)
- astreinte : 3 000 €/jour maximum et 300 000 € au total
- amende jusqu’à 75 000 €
Les sanctions s’appliquent par site.
L’obligation d’aménagement raisonnable
Une personne handicapée a le droit d’exiger des aménagements
afin d’accéder à un service ou à un contenu inaccessible.
Si la mise en accessibilité ne constitue pas une charge disproportionnée, il s’agit d’un aménagement raisonnable obligatoire.
Article 2 — Convention relative aux droits des personnes handicapéesRefuser un aménagement raisonnable = discrimination
- entre 3 et 5 ans d’emprisonnement ;
- 45 000 à 75 000 euros d’amende.
L’article 225-1 définit ce qu’est une discrimination.
Au-delà du risque juridique
Les personnes handicapées sont des citoyennes comme les autres.
Elles ont les mêmes droits et nous avons vis-à-vis d’elles les mêmes devoirs.
Normes et référentiel
Les normes d’accessibilité
du W3C
- UAAG, pour les agents utilisateurs : affichage par le navigateur de l’infobulle d’un lien à la souris et au clavier.
- ATAG, pour les outils d’édition de contenus : alternatives aux boutons de mise en forme, production de contenus conformes.
- WCAG, pour les contenus web : alternatives aux éléments graphiques.
Norme européenne EN 301 549
EN 301 549 V3.2.1 (2021-03)
- Norme encadrant l’accessibilité des produits et services des Technologies de l’information et de la communication (TIC).
- La thématique « 9 Web » reprend la norme internationale WCAG 2.1 dans son intégralité.
Les contenus numériques doivent être :- perceptibles,
- utilisables,
- compréhensibles
- et robustes.
- WCAG 2.0 (2008)
- WCAG 2.1 (juin 2018) :
- inclut des problématiques supplémentaires (basse vision, troubles cognitifs et difficultés d’apprentissage) ;
- traduction en français des WCAG 2.1 coordonnée par Access42.
- WCAG 2.2 (octobre 2023) : 9 nouveaux critères dont 6 A et AA.
Trois niveaux d’accessibilité
Niveaux A, AA et AAA.
Arbitrage sur les niveaux selon deux critères :
- importance pour les personnes handicapées ;
- faisabilité.
Le niveau simple A permet de s’assurer de l’accès à l’information et d’une utilisabilité de base : 80 % des critères.
Le niveau AA contient des améliorations et la prise en charge de contextes particuliers.
Le niveau AAA ne peut pas s’appliquer à tous les types de contenus et de situations.
Le cas du triple A (AAA)
« Il n’est pas recommandé de faire de la conformité au niveau AAA une politique générale pour des sites entiers parce qu’il n’est pas possible de satisfaire tous les critères de succès de niveau AAA pour certains contenus. »
Source WCAG (en anglais)
Référentiel général
d’amélioration de l’accessibilité
RGAA 4
- Transposition de la thématique « 9 Web » de la norme européenne EN 301 549 V2.1.2 (2018-08) basée sur WCAG 2.1
- 2 parties : obligations d’accessibilité et méthode technique.
Ressources :
Zoom sur la méthode technique du référentiel
4 sections
- La
liste des critères et des tests avec :
- des cas particuliers ;
- des notes techniques.
- un glossaire ;
- un environnement de test (base de référence) ;
- des références.
Compatible avec l’accessibilité
Selon WCAG :
« compatibles avec les technologies d’assistance des utilisateurs ainsi qu’avec les fonctions d’accessibilité des navigateurs et des autres agents utilisateurs. »
Environnement de test
- Combinaisons OS / Navigateur / Lecteur d’écran (desktop et mobile) ;
- Base de référence et environnement maîtrisé ;
- Adaptable et personnalisable selon le contexte.
| Technologie d’assistance | Navigateur |
|---|---|
| NVDA (dernière version) | Firefox |
| JAWS (version précédente) | Firefox |
| VoiceOver (dernière version) | Safari |
| Système | Technologie d’assistance | Navigateur |
|---|---|---|
| iOS | VoiceOver (dernière version) | Safari |
| Android | Talkback (dernière version) | Chrome |
Pour tester un site web sur un terminal mobile, l’environnement de test devra comporter une des deux combinaisons (iOS ou Android). À noter que dans le cas d’un site web mobile grand public, il est fortement conseillé de tester dans les deux environnements.
Testez vos connaissances
Répondez à 4 questions sur quiz.access42.net
Développer accessible avec le RGAA
1. Sémantique et structuration
Objectif : amélioration la compréhension et le repérage
- Respect des standards
- Langue de la page
- Respect de la sémantique du balisage
- La structure du document (HTML5)
Respect des standards [A]
Thématique RGAA : Éléments obligatoires
<!DOCTYPE >valide- Validité du code :
- Écriture (balises, attributs, valeurs d’attributs) ;
- Imbrication des balises ;
- Ouverture et fermeture des balises & attributs ;
- Valeurs d’attribut
idsont uniques dans la page ; - Attributs pas doublés sur un même élément.
Définition de la langue du document [A]
Thématique RGAA : Éléments obligatoires
Sur la balise <html>
langet/ouxml:lang(en fonction du doctype)- Code de langue pertinent et valide (ISO 639)
<html lang="fr-FR">
<html lang="fr" xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
Titre de pages <title>
[A]
Thématique RGAA : Éléments obligatoires
Obligatoire, pertinent et de préférence unique dans le site.
- Historique de navigation/liste des onglets
- Erreurs de formulaires
- Collection : numéro, tag…
<title>
@titre de la page
</title>
À propos des SPA - Modifier le titre de page : titleService dans Angular, Vue Page Title (vuejs), React Helmet;
Respect de la sémantique du balisage [A]
Thématique RGAA : Éléments obligatoires
Utiliser les balises pour leur rôle prévu par la spécification.
Exemples de détournements :
<div>pour créer des paragraphes<hx>pour créer des légendes d’images (référencement).
Ressource :
- Références RGAA :
- 8.9 [A]

Configuration de la touche Entrée avec le plugin CKEditor
L’outil d’édition de texte CKEditor permet de configurer les balises HTML générées lors de l’utilisation des touches Entrée et Maj + Entrée.
La structure du document (HTML5) [A]
Thématique RGAA : Structuration
Obligatoires :
-
<header><nav><main><footer> <main>est unique dans la page<nav>est réservé aux zones de navigation principales et secondaires.
- Références RGAA :
- 9.2 [A]
<nav> [A]
Thématique RGAA : Structuration
- 🚨Obligatoire
- Éléments de navigation principaux :
- la navigation principale ;
- les navigations secondaires :
- menu de sous-rubrique
- navigation dans les collections de pages
- navigation dans les résultats de recherche
- le fil d’ariane
- les liens d’évitement
- ⚠ Le bouton "burger" doit être inclus dans l’élément
<nav>.
- Références RGAA :
- 9.2 [A]
<header> [A]
Thématique RGAA : Structuration
- 🚨Obligatoire pour l’en-tête du document
- Contenus d’introduction
- Peut contenir des titres, de la navigation
- Références RGAA :
- 9.2 [A]
<footer> [A]
Thématique RGAA : Structuration
- 🚨Obligatoire pour le pied de page du document
- Contenus de pied de page, d’articles ou de contenus regroupés par
<section>
- Références RGAA :
- 9.2 [A]
<main> [A]
Thématique RGAA :Structuration
- 🚨Obligatoire
- Unique dans la page
- Regroupement du contenu principal de la page (les éléments répétés - navigation, publicité - ne devraient pas être structurés avec).
- Références RGAA :
- 9.2 [A]
<aside>
Thématique RGAA : Structuration
- Optionnel
- Contenus indirectement reliés au contenu principal, peuvent être consultés de manière indépendante
- Références RGAA :
- 9.2 [A]
2. Navigation
Objectif : aider les utilisateurs à se déplacer sur le site ou l’application
- Lien d’accès rapide
- Landmarks ARIA
- Systèmes de navigation
Lien d’accès rapide [A]
Thématique RGAA : Navigation
- Accès rapide au contenu principal
- Visible à la prise de focus
- Doit se trouver en premier dans le code HTML de la page
tabindex="-1"sur l’élément cible
<a href="#main">contenu</a>
<main id="main" tabindex="-1">
....
</main>
- Référence RGAA :
- 12.7 [A]
Exemple conforme : sur le site France Travail, le lien d’accès rapide est rendu visible à la prise de focus.
Exemple conforme : sur le site access42.net, le lien d’accès rapide « contenu » est toujours visible (en haut à gauche)
Positionnement hors écran
.visually-hidden,
.visually-hidden-focusable:not(:focus, :focus-within) {
border: 0 !important;
clip-path: inset(50%) !important;
height: 1px !important;
margin: -1px !important;
overflow: hidden !important;
padding: 0 !important;
width: 1px !important;
white-space: nowrap !important;
}
.visually-hidden:not(caption),
.visually-hidden-focusable:not(caption):not(:focus, :focus-within) {
position: absolute !important;
}
.visually-hidden *,
.visually-hidden-focusable:not(:focus, :focus-within) * {
overflow: hidden !important;
}
Source : Improved sr-only par #FFOODD, voir Masquage accessible de pointe
Landmarks ARIA [A]
Thématique RGAA : Navigation
- Uniques dans la page :
-
role="banner" -
role="main" -
role="contentinfo" -
role="search"
-
role="navigation": plusieurs occurrences autorisées pour les navigations principales et secondaires
Depuis RGAA 4 : Il est également possible d’utiliser une autre méthode de navigation rapide entre les zones d’une page : liens d’accès rapides, titres, mécanisme pour masquer la zone….
- Référence RGAA :
- 12.6 [A]
Systèmes de navigation [AA]
Thématique RGAA : Navigation
Deux systèmes de navigation au moins :
- Menu de navigation ;
- Plan du site ;
- Moteur de recherche.
🔎Le moteur de recherche doit indexer tous les contenus.
- Référence RGAA :
- 12.1 [AA]
Exemple conforme : le site toulouse.fr dispose d’un menu de navigation principal et d’un plan du site.
Menu et barre de navigation [AA]
Thématique RGAA : Navigation
- Même place dans chaque ensemble de pages.
- Présentation cohérente dans chaque ensemble de pages.
- Référence RGAA :
- 12.2 [AA]
Exemple conforme : le menu du site toulouse.fr est toujours a la même place dans la présentation et il a toujours la même place relative dans le code source.
Exemple conforme : le plan du site toulouse.fr est toujours présenté à la même place, il est toujours atteignable au moyen de la même fonctionnalité (lien) et il est toujours dans le même ordre relatif du code source.
Plan du site [AA]
Thématique RGAA : Navigation
- Représentatif de l’architecture générale du site
- Liens fonctionnels :
- site W3C Link checker ;
- extension « Broken Link checker » (sur Mozilla Firefox ou sur Chrome).
- Intitulés des liens pertinents
- Référence RGAA :
- 12.3 [AA]
Exercice
3. Contenus
Objectif : faciliter la compréhension et la navigation
- Titrage du contenu
- Listes
- Citations
- Cadres iframe
- Changements de langue
- Changements de sens de lecture
- Tableaux
- Images
- Liens
Titrage du contenu [A]
Thématique RGAA : Structuration
- Hiérarchie cohérente ;
- Tous les titres nécessaires ;
- Uniquement les titres nécessaires ;
role="heading" aria-level="[level]"
Ressources : En-têtes et non-conformité aux WCAG : une clarification à juste titre
- Référence RGAA :
- 9.1 [A]
<h1>Accueil…</h1>
<h2>Actualités…</h2>
<h2 role="heading" aria-level="3">Où en est-on ?</h2>
<h2 role="heading" aria-level="3">Ils arrivent bientôt !</h2>
Listes [A]
Thématique RGAA : Structuration
- Liste non ordonnée :
ul li - Liste ordonnée :
ol li - Liste de définition :
dl dt/dd role="list"role="listitem"- ⚠ Les suites de liens devraient être structurées avec des listes.
- Référence RGAA :
- 9.3 [A]
<p>
- Favoriser l’information…
<br />
- Permettre aux personnes…
</p>
<ul>
<li>Favoriser l’information…</li>
<li>Permettre aux personnes…</li>
</ul>
<ol>
<li>Favoriser l’information…</li>
<li>Permettre aux personnes…</li>
</ol>
<div role="list">
<div role="listitem">Favoriser l’information…</div>
<div role="listitem">Permettre aux personnes…</div>
</div>
<dl>
<dt>Terme à définir…</dt>
<dd>Définition…</dd>
<dt>...</dt>
<dd>...</dd>
</dl>
<div role="list">
<div role="term">Terme à définir…</div>
<div role="definition"> Définition… </div>
<div role="term">...</div>
<div role="definition">...</div>
</div>
Citations [A]
Thématique RGAA : Structuration
- Citation en ligne
<q> - Citation en bloc
<blockquote>
- Référence RGAA :
- 9.4 [A]

<blockquote>
<p>Tant qu’à jouer à marcher, éteignez votre ordi et allez marcher dehors</p>
</blockquote>
Cadres iframe et frame [A]
Thématique RGAA : Cadres
- Assurer l’identification des balises
iframeetframeavec un titre pertinent - Pas de titre dans le cas de cadres techniques (Google Analytics, etc.) mais cacher avec
aria-hidden="true".
Ressources : Le principe de non-interférence

<iframe title="Publicité"></iframe>

<p>Des contenus vidéos sur le Web
(<span lang="en">on</span>
et <span lang="en">offline</span>).
</p>
Changements de sens de lecture [A]
Thématique RGAA : Éléments obligatoires
dirsur l’élément lui-même ou un parent ;- Deux valeurs :
ltrourtl; ltrimplicite, peut être omise sur l’élémenthtml.
- Référence RGAA :
- 8.10 [A]
شكرا جزيلا
<span lang="ar" dir="rtl">
شكرا جزيلا
</span>
Quiz
Lequel est un titre de niveau 2 ?
<h3 aria-level="2">Les Aventures d’Alice au pays des merveilles</h3>
<h2>De l’autre côté du miroir</h2>
<p role="heading" aria-level="2">La Chasse au Snark</p>
- A - Les Aventures d’Alice au pays des merveilles
- B - De l’autre côté du miroir
- C - La Chasse au Snark
- D - Les 3
Réponse : les 3 !
Le premier, bien qu’il soit déclaré avec un élément HTML <h3>, est bien un titre de niveau 2 puisque la propriété aria-level="2" y est déclarée.
Quiz
Que faire avec la portion de texte qui n’est pas en français dans le texte qui suit ?
Et il lui demanda : tlhIngan Hol Dajatlh'a'?
- A - Déclarer un changement de langue.
- B - Déclarer un changement de direction.
- C - Déclarer un changement de langue et de direction.
- D - Ne rien faire.
Réponse : Ne rien faire.
Le texte est en klingon, une langue imaginaire. Il s’agit d’un cas particulier des changements de langue (tout comme les langues mortes).
Traduction : Parlez-vous klingon ?
Tableaux de mise en forme [A]
Thématique RGAA : Tableaux
- Compréhensible si linéarisé
role="presentation"sur la balisetable- HTML 4 :
summary=""si présent - Pas de balises ou d’attributs de tableaux de données :
<th><thead><tfoot><caption>scopeheaderscolgroupaxisrole="columnheader"role="rowheader"
<table role="presentation">
<tr>
<td>
<p>Retrouvez nos vidéos d’informations !…</p>
</td>
</tr>
</table>
En supprimant la sémantique du tableau avec le role="presentation", les textes contenus dans le tableau, s’ils n’ont pas de sémantiques, contreviennent alors au critère 8.9 (détournement de balisage).
Penser à redonner de la structure aux textes (titres, paragraphes, listes ...) dans ces cas.
<table>
<caption>Parc et fréquentation des autres hébergements collectifs touristiques en 2018</caption>
<tr>
<th scope="col">Type d’hébergement professionnel</th>
<th scope="col">Nombre d’établissements</th>
[...]
</tr>
<tr>
<th scope="row">Résidences de tourisme</th>
<td>2 426</td>
[...]
</tr>
</table>
<p id="titre">Parc et fréquentation des autres hébergements collectifs touristiques en 2018</p>
<div role="table" aria-labelledby="titre">
<div role="row">
<div role="columnheader">Type d’hébergement professionnel</div>
<div role="columnheader">Nombre d’établissements</div>
[...]
</div>
<div role="row">
<div role="rowheader">Résidences de tourisme</div>
<div role="cell">2 426</div>
[...]
</div>
</div>
<caption>
Figure 2 - Répartition des déchets non dangereux non minéraux hors boues de l’industrie manufacturière par type en 2016
<span>
Les industries agroalimentaires (IAA) et les industries manufacturières (hors IAA) sont présentées sur 2 colonnes, avec, pour chacune d’elles la quantité en milliers de tonnes le pourcentage. Une troisième colonne présente le total des deux industries, en milliers de tonnes et en pourcentage.
</span>
</caption>
Tableaux complexes [A]
Thématique RGAA : Tableaux
Identifier les cellules d’en-têtes via un attribut id et lier les cellules de données via l’attribut headers.
Exemple : headers="id_1 id_2".
- Référence RGAA :
- 5.7 [A]
<tr>
<td></td>
<th id="entete1" colspan="2">Industries agroalimentaires (IAA)</th>
<th id="entete2" colspan="2">Industries manufacturières (hors IAAA)</th>
<th id="entete3" colspan="2">Ensemble</th>
</tr>
<tr>
<td></td>
<th id="entete4">Quantités (en milliers de tonnes)</th>
<th id="entete5">en %</th>
<th id="entete6">Quantités (en milliers de tonnes)</th>
<th id="entete7">en %</th>
[...]
</tr>
<tr>
<th id="entete8">Déchets banals</td>
<td headers="entete8 entete1 entete4">1 147</td>
<td headers="entete8 entete1 entete5">31</td>
<td headers="entete8 entete2 entete6">9 795</td>
<td headers="entete8 entete2 entete7">97</td>
[..]
</tr>
Quiz
Que pouvez-vous dire sur ce tableau ?
<strong>Classement des populations en France</strong>
<table aria-label="Simple Table">
<tr>
<th>Ville</th><th>Population</th><td>Classement</td>
</tr>
<tr>
<th>Belfort</th><td>45 155</td><td>156</td>
</tr>
[…]
</table>
- A - Le nom accessible n’est pas pertinent
- B - Les en-têtes ne sont pas correctement déclarées
- C - Il manque les attributs
scope="col|row" - D - C’est un tableau de mise en forme
| Ville | Population | Classement |
|---|---|---|
| Belfort | 45 155 | 156 |
| La Rochelle | 79 961 | 61 |
| Courchevel | 2 295 | 4 790 |
| Wissembourg | 7 541 | 1 427 |
Réponse A : Le nom accessible n’est pas pertinent. Reprendre le nom visible dans le nom accessible « Classement des populations en France ».
Réponse B : La cellule « Classement » doit être dans une cellule d’en-tête implémentée avec un élément <th>.
Réponse C : Il manque des attributs scope="col" sur les cellules de la première ligne et des attributs scope="row" sur les cellules de la première colonne.
Quiz
Que pouvez-vous dire sur ce tableau ?
<table class="a42-text-small">
<tr role="presentation"><td><a href="#">1</a></td><td><a href="#">2</a></td><td><a href="#">3</a></td><td><a href="#">4</a></td><td><a href="#">5</a></td><td><a href="#">6</a></td><td><a href="#">7</a></td><td><a href="#">Dernière</a></td></tr>
</table>
- A - Les en-têtes sont correctement reliées
- B - Il manque les propriétés
headerspour la liaison des en-têtes - C - Il manque un titre pertinent (balise
<caption>) - D - Le tableau n’est pas un tableau de données
Exercice
Images de décoration [A]
Thématique RGAA : Images
Pour les éléments <img>, empêcher la restitution au moyen de :
altvide- ou
aria-hidden="true" - ou
role="presentation"
- Référence RGAA :
- 1.2 [A]
<img src="image.png" alt="" />
<img src="image.png" aria-hidden="true"/>
<img src="image.png" role="presentation"/>
Images de décoration [A]
Thématique RGAA : Images
Pour les éléments <svg>, empêcher la restitution au moyen de :
aria-hidden="true"
De plus :
- Aucun des attributs suivants ne doit être présent :
aria-label,aria-describedby,aria-labelledby,role="img",title - Les balises
<title>et<desc>doivent être vides ou absentes
- Référence RGAA :
- 1.2 [A]

<svg aria-hidden="true">
…
</svg>
<img src="img.png" alt="2019 EESC Civil society prize Award ceremony 12 december 2019"/>
<img src="img.png" aria-label="2019 EESC Civil society prize Award ceremony 12 december 2019"/>
<img src="img.png" title="2019 EESC Civil society prize Award ceremony 12 december 2019"/>
<img src="img.png" aria-labelledby="image-desc"/>
<p class="sr-only" id="image-desc">2019 EESC Civil society prize Award ceremony 12 december 2019</p>
- Nom donné à un élément d’interface utilisateur et exploité par les TA.
- Déterminé par une propriété visible (par exemple un texte) ou invisible (par exemple attribut
alt). - « Alternative » d’image, « intitulé » de lien/bouton, « étiquette » de champ de formulaire = nom accessible.
Attention, en cas d’implémentation multiple :
- Algorithme de calcul du nom accessible
- Restitution sur la base de référence
Exemple 1 - Conforme ✅
<img src="logo_access42.png" alt="Access42">
👉Le nom accessible de l’image est "Access42"
Exemple 2 - Non conforme ❌
<img src="logo_access42.png" alt="Access42" aria-label="Logo">
👉Le nom accessible de l’image est "Logo". ("Access42" n’est pas restitué).
Décorative ou porteuse d’information ?
Images porteuses d’information [A]
Thématique RGAA : Images
Pour les éléments <svg>, définir une alternative au moyen de :
role="img"- et
aria-labelouaria-labelledby.
- Référence RGAA :
- 1.3 [A]

<svg role="img" aria-label="Profil renseigné à 90 %">
…
</svg>
ou
<svg role="img" aria-labelledby="title_svg">
<title id="title_svg">Profil renseigné à 90 %</title>
…
</svg>
Image map
<img src="" alt="Carte de France" usemap="#LIEUX" />
<map id="lieux" name="LIEUX">
<area href="regi42" alt="Alsace">
<area href="regi53" alt="Bretagne">
</map>
Image SVG
<svg xmlns:xlink="http://www.w3.org/1999/xlink" aria-labelledby="id-map">
<title id="id-map">Carte de France</title>
<a xlink:title="Région 1" xlink:href="region1.html">
<path>[...]</path>
</a>
</svg>
Attention, les attributs natifs xlink:title et xlink:href sont dépréciés avec la version SVG 2. Par conséquent, il faut les remplacer par les propriétés role="link" et aria-label="[...]" pour s’assurer du support et de la présentation cohérente par les technologies d’assistance.
<a aria-label="Région 1" href="region1.html" role="link">
<path>[...]</path>
</a>
Note : Le contenu d’un élément <svg> n’a pas les mêmes attendus qu’en HTML, il n’y a pas de nécessité à structurer des suites de liens sous forme de liste dans le code source.
Images description détaillée [A]
Thématique RGAA : Images
- Description détaillée adjacente ;
- ou bien lien adjacent.
Également possible d’utiliser les attributs aria-label ou aria-labelledby.
Note 1 : aria-label et aria-labelledby ne sont exploités que par les lecteurs d’écrans.
Note 2 : L’attribut longdesc est obsolète.
<img src="img.png" alt="infographie" />
<a href="description.html">Description détaillée de l’infographie</a>
<img src="img.png" alt="infographie" />
<button aria-expanded="false">Description détaillée de l’infographie</button>
Quiz
Quel est le nom accessible de cette image ?
<img src="img_slide/quizz/astronaute.jpg" alt="un astronaute perdu dans l’espace" title="un astronaute en mission de réparation">
- A - un astronaute perdu dans l’espace
- B - un astronaute en mission de réparation
- C - un astronaute perdu dans l’espace en mission de réparation
- D - il n’y a pas de nom accessible
Réponse : un astronaute perdu dans l’espace.
L’algorithme de calcul du nom accessible donne la priorité au contenu de la propriété alt="" s’il est renseigné. Le contenu du title, dans cette configuration, constitue la description accessible.
Quiz
Quel est le nom accessible de cette image ?
<img src="img_slide/quizz/moonlanding.jpg" alt="une prise de vue par Stanley Kubrick" aria-label="un astronaute après un alunissage">
- A - un astronaute après un alunissage
- B - une prise de vue par Stanley Kubrick
- C - il n’y a pas de nom accessible
Réponse : un astronaute après un alunissage.
L’algorithme de calcul du nom accessible donne la priorité au contenu de la propriété aria-label s’il est renseigné. Le contenu de l’attribut alt ne sera jamais pris en compte et ne sera jamais présenté aux technologies d’assistance.
Quiz
Quel est le nom accessible de cette image ?
<p id="id_cat">un chat dans l’espace</p>
<img src="img_slide/quizz/chatespace.jpg" alt="un chastronaute" aria-labelledby="id_cat" aria-hidden="true">
- A - un chat dans l’espace
- B - un chastronaute
- C - il n’y a pas de nom accessible
un chat dans l’espace
Réponse : aucun.
Bien que des propriétés de nommage soient définies sur l’image, la présence de la propriété aria-hidden="true" suffit à rendre l’image décorative et à permettre qu’elle soit ignorée par les technologies d’assistance.
Image captcha [A]
Thématique RGAA : Images
L’alternative de l’image doit permettre
d’identifier la nature de l’image
- Référence RGAA :
- 1.4 [A]

<img src="" alt="Code de confirmation à saisir"/>
Image captcha [A]
Thématique RGAA : Images
Alternative non graphique :
- captcha sonore ou logique
- envoi du code par email / SMS
Pour aller plus loin :
- Inaccessibility of CAPTCHA
- Captcha et accessibilité : Les personnes handicapées ne sont pas des robots !
- Référence RGAA :
- 1.5 [A]
Texte en image [AA]
Thématique RGAA : Images
- Texte en image remplacé par du texte stylé
- ou mécanisme de remplacement
- Référence RGAA :
- 1.8 [AA]
Exemple non conforme : l’image contient du texte en image qui peut être réalisé en HTML/CSS.
Exemple conforme : l’image contient du texte en image mais il n’est pas reproductible en CSS (texte manuscrit).
Exemple de mécanisme de remplacement
Images légendées [A]
Thématique RGAA : Images
Légende : texte adjacent à une image
- qui contient des informations sur l’image (copyright, date, auteur…) ;
- ou est destiné à compléter les informations apportées par l’image (texte associé à une image dans une galerie d’images)
Associer la légende à l’image par une relation de structure pour que les technologies d’assistance traitent l’image et sa légende comme un ensemble unique.
- Référence RGAA :
- 1.9 [A]
Exemple :pages article du Figaro.
<figure role="group|figure" aria-label="[contenu du figcaption]">
<img src="…" alt="label-image" />
<figcaption>
[label-image] Légende de l’image
</figcaption>
</figure>
Minute technique
Pour être considéré comme un lien, l’attribut href doit être présent : <a href="url.html">
Sans cet attribut, la balise sera présentée comme une ancre <a></a> : le rôle « lien » ne sera pas restitué par les technologies d’assistance.
Dans certains contextes de développement, on peut trouver des liens qui sont gérés en JavaScript et ne possèdent pas d’attribut href : <a tabindex="0">un lien</a>.
Bien qu’il reçoive la prise de focus, le rôle n’est toujours pas pertinent, il est nécessaire de demander l’ajout de la propriété role="link" : <a tabindex="0" role="link">un lien</a>
Ressource : Obfuscation de liens en SEO et problèmes d’accessibilité
Liens explicites [A]
Thématique RGAA : Liens
Intitulé défini par :
aria-labelledbyaria-label- Contenu entre
<a>et</a>(texte ou contenu dualtpour les liens-images ou combinaison des deux pour les liens composites) title- Contextes :
titre précédent, paragraphe, phrase ...
(Attention : les contextes sont non cumulatifs) - Attribut
title: doit au moins reprendre l’intitulé
- Référence RGAA :
- 6.1 [A]
Exemple 1
Les liens "La suite" et "82 votes" ci-dessous sont-ils explicites ? Si non, pourquoi et comment faut-il les corriger ?
Tribune
On n’est pas nul en orthographe si l’on conjugue mal "échoir"
Par Séverine Barthes-Vignes |En lisant, en écrivant|02/02/2010|13H20
L’orthographe est mon métier. Et pourtant, j’ai eu besoin de tous mes livres pour répondre au test de la certification Voltaire. Au lieu de mesurer notre usage du français, ces épreuves, comme la dictée de Pivot, ne s’appuient que sur des exceptions. La suite
19884 visites - 200 réactions
82 votesExemple 2
Les liens "#1", "joey" et "ajouter à mes contacts +" ci-dessous sont-ils explicites ? Si non, pourquoi et comment faut-il les corriger ?
Commentaires
Liens explicites [A]
Thématique RGAA : Liens
Le nom visible doit être contenu dans le nom accessible
Ressource : Bookmarklet pour visualiser la liste des liens et leur nom accessible
- Référence RGAA :
- 6.1 [A]
<a href="url" aria-label="Accueil du site">Retour</a>
✔️nom visible contenu dans le nom accessible
<a href="url" aria-label="Retour Accueil du site">Retour</a>
Quiz
Quel est le nom accessible du lien ?
<a href="#" aria-label="La vie au bureau"><img src="img_slide/quizz/chevres.jpg" alt="Venez rencontrer les chèvres !" aria-label="Des chèvres et des hommes."></a>
- A - Venez rencontrer les chèvres !
- B - La vie au bureau
- C - Des chèvres et des hommes
Réponse : La vie au bureau.
Bien que l’image contenue dans le lien ait une alternative donnée par aria-label, l’algorithme de calcul du nom accessible donne la priorité au contenu de la propriété aria-label définie sur le lien pour créer le nom accessible. Le contenu du lien (ici le aria-label de l’image), ne sera jamais pris en compte et ne sera jamais présenté aux technologies d’assistance.
Quiz
Quel est le nom accessible du lien ?
<a href="#" title="Promenade dans la jungle"><img src="img_slide/quizz/tigre.jpg" alt="Venez rencontrez les chats !" ></a>
- A - Venez rencontrez les chats !
- B - Promenade dans la jungle
Réponse : Venez rencontrez les chats !
L’algorithme du nom accessible, en l’absence de propriétés de nommage aria sur le lien, prend en compte en priorité le contenu du lien, ici le contenu du alt de l’image. Le title défini sur le lien ne constitue que la description accessible dans cette configuration.
Quiz
Que pouvez-vous dire du lien suivant ?
La grande question sur la vie, l’Univers et le reste
<a href="#" aria-label="La réponse à la grande question sur la vie est 42">La grande question sur la vie, l’Univers et le reste</a>
- A - L’intitulé du lien devrait indiquer la destination du lien de manière plus précise
- B - Le texte du lien devrait être dans une balise de citation
- C - Le nom accessible ne reprend pas le nom visible
- D - Le nom visible ne reprend pas le nom accessible
Réponse : Le nom accessible (constitué par le contenu de la propriété aria-label) ne reprend pas le nom visible.
Exemple conforme : sur le site P&G, les liens « Consulter le site » ont tous le même intitulé visible et le même contexte (titre précédent ici) mais la propriété aria-label permet de les rendre explicites.
Note : le nom accessible reprend le nom visible, aria-label="Consulter le site: Fairy".
Liens vides [A]
Thématique RGAA : Liens
- Pas de lien vides
- Attention aux
alt=""sur les images liens - Attention aux liens mis en forme via CSS uniquement (par ex.
content)
- Référence RGAA :
- 6.2 [A]
Exercice
4. Consultation
Objectif : avertir et laisser le contrôle à l’utilisateur
- Rafraîchissement et limite de temps de session
- Nouvelles fenêtres
- Documents en téléchargement
- Contenus cryptiques
- Contenus en mouvement ou clignotant
- Effet de flash
- Son déclenché automatiquement
- Indépendance de l’orientation
- Gestes complexes
- Annulation du pointeur
- Activation par le mouvement
Limite de temps de session [A]
Thématique RGAA : Consultation
- L’utilisateur doit pouvoir supprimer ou augmenter la limite de temps ;
- La limite de temps est de vingt heures au moins ;
- Cas particulier lorsque la limite de temps est essentielle.
- Référence RGAA :
- 13.1 [A]

Rafraîchissement [A]
Thématique RGAA : Consultation
- L’utilisateur peut arrêter et relancer le rafraîchissement ;
- L’utilisateur est alerté de l’imminence d’un rafraichissement et peut augmenter le délai de 10 fois au moins.
- Référence RGAA :
- 13.1 [A]

<meta http-equiv="refresh" content="9000">

Exemple conforme : une liste d’événements présentés dans un tableau se met à jour automatiquement lorsqu’une session est terminée. L’utilisateur peut choisir de désactiver ces mises à jour automatiques en désactivant le bouton switch « Live event updates »
Nouvelles fenêtres [A]
Thématique RGAA : Consultation
- Pas de nouvelles fenêtres sans action de l’utilisateur
- Référence RGAA :
- 13.2 [A]
Documents en téléchargement [A]
Thématique RGAA : Consultation
- Document accessible ;
- Ou alternative accessible : HTML, .doc, .odt structurés.
Exemption : Les fichiers publiés avant le 23 septembre 2018, sauf s’ils sont nécessaires à l’accomplissement d’une démarche administrative relevant des tâches effectuées par l’organisme concerné.
Ressources : Référentiel PDF, Liste des critères Documents bureautiques en téléchargement (Le Grand-Duché de Luxembourg, docx, 66 ko, basé sur RGAA 3).
Outils : PAC 2024 (PDF Accessibility Checker), Vérificateur d’accessibilité de Word.
Exemple : sur le site de la ville de créteil, les magazines sont proposés au format PDF et une alternative est disponible au format HTML.
Contenu cryptique (art ASCII, émoticône, syntaxe cryptique) [A]
Thématique RGAA : Consultation
- Les contenus cryptiques ont une alternative textuelle ;
- Ou une description dans le contexte adjacent.
Ressources :
Exemple non conforme
Sur cette application bancaire, les montants négatifs sont présentés avec des traits d’union (-) et non des signes moins (−). En l’absence de configuration spécifique, les traits d’union sont ignorés de la plupart des lecteurs d’écran.
Les emojis sont lus comme du texte.
- Pour donner un sens pertinent à un emoji, utiliser par exemple :
<span role="img" aria-label="[signification]">📱</span> - Pour ignorer un emoji, utiliser par exemple :
<span aria-hidden="true">🚀</span>
Exemple non conforme
Exemple de restitution avec NVDA :
coche, Rendez-vous le mardi 16 septembre à 16 heures à la Gare pour échanger avec la SNCF sur vos déplacements, station de métro, bicyclette
flèche vers le bas, flèche vers le bas, Découvrez tous les détails ci-dessous
Clignotement et contenus en mouvement [A]
Thématique RGAA : Consultation
L’utilisateur doit pouvoir :
- Arrêter et relancer ;
- Masquer et réafficher ;
- Afficher le contenu sans le mouvement ;
- Le mouvement dure 5 secondes ou moins ;
- Contrôle individuel.
- Référence RGAA :
- 13.8 [A]
Exemple conforme : le carrousel de la page d’accueil de tgvinoui.sncf peut être arrêté et relancé grâce à un bouton.
Exemple conforme : dans l’application Slack, l’ajout de GIF Animés est accompagné d’un bouton nommé « collapse » et qui permet de masquer et afficher à volontée les GIf.
Effet de flash [A]
Thématique RGAA : Consultation
- Fréquence limite =< 3 flash/sec OU
surface cumulée =< 21824 pixels - Outil PEAT (Photosensitive Epilepsy Analysis Tool)
- Référence RGAA :
- 13.7 [A]
Exemple non conforme : le clip promotionnel des Jeux Olympiques de Londres 2012 présente de nombreux effets de Flash. À sa sortie en 2007 il a provoqué de nombreuses crises d’épilepsie.
Son déclenché automatiquement [A]
Thématique RGAA : Multimédia
- Les sons déclenchés automatiquement doivent être contrôlables ;
- De préférence, le contrôle doit être le premier élément de la page.
- Référence RGAA :
- 4.10 [A]
Indépendance de l’orientation [AA]
Thématique RGAA : Consultation
- Le contenu doit être consultable quel que soit l’orientation du périphérique : portrait ou paysage ;
- Sauf si l’orientation est essentielle.
- Références RGAA :
- 13.9 [AA]
Exemple non conforme : sur le site Magicbike, l’utilisateur doit obligatoirement avoir son terminal mobile en mode paysage pour consulter le site.
Gestes complexes [AA]
Thématique RGAA : Consultation
Les fonctionnalités utilisables par des gestes multipoints (zoom sur une carte) ou basés sur un tracé (swipe) :
- peuvent être réalisées avec un geste à point unique et/ou sans trajectoire,
- sauf si le geste est essentiel(ex. le dessin d’une signature).
- Références RGAA :
- 13.10 [AA]

Carrousel défilant avec un geste complexe, le swipe, qui peut être consulté avec un geste simple, les boutons « suivant » et « précédent ».

Alternative aux gestes de zoom sur une carte :
boutons +/- en bas à droite
Annulation du pointeur [A]
Thématique RGAA : Consultation
- Aucun événement ne doit être déclenché sur l’action descendante
(down : mousedown sur desktop / touchstart sur mobile) - ou un mécanisme permet d’interrompre l’exécution de l’action avant la fin ;
- ou un mécanisme permet d’annuler l’action.
- Références RGAA :
- 13.11 [A]
Activation par le mouvement [A]
Thématique RGAA : Consultation
Les fonctions qui sont déclenchées en déplaçant l’appareil (en secouant ou en basculant) ou lorsque l’utilisateur effectue un mouvement capté par les dispositifs de l’appareil (eg. une caméra) peuvent être :
- actionnées par des composants classiques (un bouton) ;
- désactivées pour éviter un déclenchement accidentel ;
- sauf si le mouvement est essentiel pour la fonction.
- Références RGAA :
- 13.12 [A]
Exercice
5. Couleurs
Objectif : améliorer la lisibilité
- Contrastes des textes
- Contrastes des éléments graphiques
- Visibilité de la prise de focus
- Visibilité des liens en environnement de texte
- Couleurs par défaut
- Information par la couleur
Contrastes [AA]
Thématique RGAA : Couleurs
Évaluation pour : les textes, les textes en images, les textes incrustés (vidéo, etc.)
- Ratio de 4,5 minimum :
- police < 24px sans graisse
- police < 18,5px gras
- Ratio de 3 minimum :
- police >= 24px sans graisse
- police >= 18,5px gras
- Mécanisme de remplacement
- Références RGAA :
- 3.2 [AA]
Contrastes des éléments graphiques [AA]
Thématique RGAA : Couleurs
Évaluation pour tous les éléments graphiques porteurs d’information (images, boutons, icônes, etc.) sauf cas particuliers
- Contraste minimum de 3:1
- Présence d’un mécanisme de remplacement.
Exemples de cas particuliers : composant inactif, composants natifs du navigateur, éléments avec une alternative, logo…
Ressources :
Comprendre le critère : quelques exemples ; Exemples de contrastes valides et invalides sur les différents états (hover et focus) de composants d’interface- Référence RGAA :
- 3.3 [AA]


Visibilité de la prise de focus [A]
Thématique RGAA : Présentation de l’information
- Pas de dégradation de l’outline natif (
outline:0) ; - Ou utilisation d’une indication de focus augmentée suffisamment contrastée (ratio mini de 3).
Les états :focus, :hover des composants doivent également être suffisamment contrastés.
- Références RGAA :
- 10.7 [A]
Visibilité de la prise de focus [A]
Thématique RGAA : Présentation de l’information
Attention aux composants interactifs masqués (case à cocher, bouton radio par exemple) : penser à répercuter la visibilité de la prise de focus sur l’élément visible.
- Références RGAA :
- 10.7 [A]
HTML
<input type="radio" id="default" class="sr-only" />
<label for="default">Défaut</label>
CSS
input:focus+label{outline:1px dotted black}
Visibilité des liens
en environnement de texte
[A]
Thématique RGAA : Présentation de l’information
- Contraste suffisant (> 3 par rapport au texte environnant) ;
- Indication supplémentaire à la couleur (forme) au survol souris et à la prise de focus.
- Références RGAA :
- 10.6 [A]
Exemple conforme : sur le site baouw-organic-nutrition.com, le ratio de contraste entre la couleur du lien #BE1D28 et la couleur du texte environnant #000000 est suffisant avec une valeur de 3,4.
Exemple non conforme : sur le site enedis.fr, le ratio de contraste entre la couleur du lien #1423DC et la couleur du texte environnant #000000 est suffisant avec une valeur de 2,3.
Quiz
Que pouvez-vous dire sur ces boutons ?
<ul>
<li><button>Mes adresses</button></li>
<li><button>Mes commandes</button></li>
<li><button>Mes informations de paiement</button></li>
</ul>
- A - La bordure et la couleur de fond doivent avoir un ratio de
3:1 - B - La prise de focus n’est pas visible
- C - L’outline natif n’est pas dégradé
Réponse B : La prise de focus a été surchargée et l’outline natif dégradé. Il faut ici modifier la couleur de fond à la prise de focus pour s’assurer d’avoir un ratio minimum de 3:1 entre la couleur de fond des boutons avec et sans le focus.
Quiz
Que doit-on modifier sur le lien de cette portion de texte ?
<p>On peut trouver les renseignements sur les formations sur le site <a href="https://formations.access42.net/">formations.access42.net</a> et on peut même s’inscrire aux certifications !</p>
- A - Rien, il est très bien comme ça
- B - Modifier la couleur pour qu’il soit perceptible
- C - Ajouter une icône à côté du lien
- D - Ajouter une modification au survol ou au focus
On peut trouver les renseignements sur les formations sur le site formations.access42.net et on peut même s’inscrire aux certifications !
Réponse D : Le contraste entre le lien et le texte qui l’entoure est suffisant (ratio > 3), mais le lien ne dispose d’aucune indication au survol. Il y a bien un encadré au focus.
Couleurs par défaut [AA]
Thématique RGAA : Présentation
- Si une couleur de police est définie : couleur de fond au moins héritée d’un parent ;
- Si une couleur de fond est définie : couleur de police au moins héritée d’un parent.
body, body a{color:#000;}
body{background-color:#fff;}
- Cas des images de fond utilisées pour créer une couleur de fond : s’assurer de la présence d’une propriété
background-colorsur le conteneur.
.elt{
background-image:url(...);
color:#fff;
background-color:#000;}
- Références RGAA :
- 10.5 [AA]
Exemple non conforme
Sur la page d’accueil de marseille.fr, le fond du bloc « Vous cherchez un équipement dans Marseille ? » est créé avec une image.
Si elle n’est pas affichée, le texte blanc n’est plus suffisamment contrasté avec le fond.
Information par la couleur [A]
Thématique RGAA : Couleurs
Cas les plus courants :
- indication de page active ;
- indications d’onglets affichés ;
- carrousel : indication de contenu actif.
- Référence RGAA :
- 3.1 [A]
Exemple non conforme : le lien actif dans le menu de navigation est mis en évidence par la couleur uniquement. L’information n’est pas disponible pour les personnes aveugles ainsi que pour les personnes déficientes visuelles, la couleur de fond indiquant l’état sélectionné n’étant pas assez contrastée avec la couleur par défaut.
Exemple conforme : le lien actif dans un menu de navigation est mis en évidence par la couleur et par la forme, ainsi tous les utilisateurs voyant accèdent à l’information. Un attribut title vient donner une alternative textuelle (« [intitulé du lien] - rubrique courante ») qui sera restituée par un lecteur d’écran aux utilisateurs aveugles.
<a class="selected" href="…" title="Mon quotidien, ma Métropole (rubrique courante)">
Mon quotidien, ma Métropole
</a>

Exemple non conforme : Une question de sécurité qui demande d’identifier un terme en couleur parmi des termes en nuances de gris.
Correction possible : ne pas faire ça.
Exemple non conforme : sur des fiches hôtels, les services payants sont identifiés par une puce de couleur rouge qui est définie avant la liste. Cette information n’est disponible que pour les utilisateurs voyant, aucun élément dans le code ne permet à un utilisateur aveugle d’accéder à cette information.
Correction possible : ajouter un texte positionné hors écran juste après chaque item payant : <li>Animaux autorisés <span class="sr-only">service payant</span></li>
Exemple conforme : Le texte de la légende du graphique contient l’information : « Utilisé : 41.2 Go Disponible : 63.9 Go (60 %) ».
La graphique donne information par la couleur, mais il possède une alternative.
Exercice
Testez vos connaissances
Répondez à 5 questions sur quiz.access42.net
6. Présentation - CSS
Objectif : séparer le contenu de la mise en forme, améliorer la lisibilité et faciliter la navigation au clavier
- Information par la forme, la taille
ou la position - Utilisation exclusive de CSS
- Contenus visibles sans CSS
- Contenus compréhensibles sans CSS
- Contenus cachés
- Zoom texte
- Linéarisation des contenus
- Adaptation des textes
- Contrôle des contenus additionnels au survol ou à la prise de focus
- Contrôle des contenus additionnels au clavier
Information par la forme, la taille ou la position [A]
Thématique RGAA : Présentation
- Alternative textuelle, par exemple via un attribut
title - Ou une version alternative.
Utilisation exclusive de CSS [A]
Thématique RGAA : Présentation de l’information
- Utilisation exclusive de CSS :
<link rel="stylesheet"/>;<style></style>;- ou attribut
styleen ligne.
- Pas d’attribut de mise en forme
<table border="0">. - Pas de balise de mise en forme
<font>.
Ressources : Liste complète des attributs et balises interdites, Accessibilité d’Angular Material : l’attribut color et le RGAA
- Référence RGAA :
- 10.1 [A]
Exemple non conforme : sur le site univ-reims.fr on trouve des éléments <font> et des attributs size.
Contenus visibles sans CSS [A]
Thématique RGAA : Présentation
Le contenu visible reste présent lorsque les feuilles de styles sont désactivées.
Attention :
- Contenu inséré par CSS
content(texte, icônes porteuses d’information) ; - Images de fond porteuses d’informations (
background-image) ;
- Référence RGAA :
- 10.2 [A]
a[target="_blank"]:after{
content:"nouvelle fenêtre"}
h1:after{
background-image:url("logo.png")}
Contenus compréhensibles sans CSS [A]
Thématique RGAA : Présentation
Le contenu reste compréhensible lorsque les feuilles de styles sont désactivées.
- Ordre des éléments logique ;
- Ordre des éléments cohérent, l’enchaînement de la lecture est cohérent.
- Référence RGAA :
- 10.3 [A]
Exemple non conforme : sur le site lequipe.fr le contenu des vignettes d’actualité n’est pas implémenté dans un ordre logique : les tags (par exemple "Golf" et "US Open") sont situés avant le titre auquel ils se rapportent. L’information à laquelle accède un utilisateur aveugle est erronée.
Exemple non conforme
Sur le site Somme Numérique, l’ordre de lecture des contenus n’est pas cohérent : les listes ne sont pas associées à leur titre.
Contenus cachés [A]
Thématique RGAA : Présentation
Pour les composants qui ont les propriétés CSS :
display:nonevisibility:hiddenfont-size:0
Ou les composants avec la propriété ARIA aria-hidden="true" ou hidden (dans ces cas, vérifier la cohérence entre la visibilité des contenus et la valeur de la propriété).
S’assurer que le contenu masqué n’a pas vocation à être restitué par les technologies d’assistance.
- Références RGAA :
- 10.8 [A]
<nav id="link-navigation-menu" role="navigation" aria-hidden="true">
<button type="button">Menu</button>
[...]
</nav>
Zoom texte [AA]
Thématique RGAA : Présentation de l’information
Unités des tailles de police :
- Taille de police relatives :
em,rem,%; - Depuis RGAA 4 : tailles de polices en
pxautorisées.
Note importante : Les tailles de police en pixels ne permettent pas d’agrandir les textes sur certains navigateurs.
- Références RGAA :
- 10.4 [AA]
body{font-size:1rem}
main{font-size:0.8em}
ul li li{font-size:1em}
Zoom texte [AA]
Thématique RGAA : Présentation de l’information
Le texte doit rester lisible lorsque la taille des caractères est augmentée à 200 % :
- Zoom texte : Firefox : « Affichage > Zoom texte seul » : agrandissement à 200 % (Ctrl + 6 fois) ;
- Ou utilisation des fonctions de zoom du navigateur (zoom graphique) ;
- Ou utilisation d’un dispositif d’agrandissement des caractères (A+/A-).
Note importante : Les fonctionnalités de zoom du navigateur ou du mécanisme d’agrandissement sont inutiles si l’utilisateur a modifié la taille par défaut dans les paramètres de son navigateur.
- Références RGAA :
- 10.4 [AA]

Absence de gestion du zoom texte sur rouen.fr
Gestion du zoom texte sur le portfolio de LukeW
Pour aller plus loin : article de blog de Marie Guillaumet
Linéarisation des contenus [AA]
Thématique RGAA : Présentation de l’information
Les contenus doivent rester présents, lisibles et utilisables sans utilisation des deux ascenseurs :
- Pour les contenus dont le sens de consultation est vertical : largeur de fenêtre réduite à 320 px ;
- Pour les contenus dont le sens de consultation est horizontal : hauteur de fenêtre réduite à 256 px.
Pour tester dans Firefox : Ctrl + Alt + M ou Commande ⌘ + Option ⌥ + M.
- Référence RGAA :
- 10.11 [AA]
Quiz
Par quel moyen peut-on s’assurer de passer l’information à tous les utilisateurs ?
<h4>Aperçu de mes compétences</h4>
<p>HTML<span></span></p>
<p>CSS<span></span></p>
<p>JS<span></span></p>
<p>A11Y<span></span></p>
- A - Un texte positionné hors écran
- B - Un title sur le
<span> - C - Un texte toujours présent
Aperçu de mes compétences
HTML
CSS
JS
A11Y
Réponse C : Le texte positionné hors écran permettra de passer l’information seulement aux utilisateurs de lecteurs d’écran. Comme le contraste entre la couleur de fond et la couleur des barres est inférieur à 3:1, il faut s’assurer de passer l’information de manière textuelle à tous les utilisateurs. La restitution de l’attribut title sur des composants qui ne sont pas interactifs n’est pas toujours assurée.
Quiz
« L’application de simulation d’un piano nécessite un affichage spécifique car il n’est pas possible d’utiliser la totalité du clavier avec une faible résolution. »
Quelles solutions peut-on mettre en place ?
- A - Il s’agit d’un cas particulier
- B - Il faut redimensionner les touches pour que l’affichage soit correct
- C - On peut utiliser la contrainte de 256px de hauteur du critère et laisser la largeur nécessaire
Réponse A : Il s’agit d’un cas particulier prévu dans le critère concernant les contenus dont l’agencement requiert deux dimensions pour être compris ou utilisés.
Adaptation des textes [AA]
Thématique RGAA : Présentation de l’information
Les textes doivent rester lisibles dans les conditions suivantes :
- interlignage augmenté de 1,5 fois la taille de police ;
- marge suivante un paragraphe augmentée de 2 fois la taille de police ;
- espacement des lettres augmenté jusqu’à 0,12 fois la taille de la police ;
- espacement des mots augmenté jusqu’à 0,16 fois la taille de la police ;
Cas particuliers : sous-titres incrustés, images-texte, texte dans une balise canvas.
- Référence RGAA :
- 10.12 [AA]

* {
line-height: 1.5em !important;
letter-spacing: 0.12em !important;
word-spacing: 0.16em !important;
}
p {
margin-bottom: 2em !important;
}
Ressource : text spacing bookmarklet
Contrôle des contenus additionnels au survol ou à la prise de focus [AA]
Thématique RGAA : Présentation de l’information
Contenus qui apparaissent à la prise de focus ou au survol d’un élément :
- peut être masqué sans déplacer le focus ou le pointeur (raccourci clavier par exemple la touche
[ESC]) ; - peut être être survolé sans disparaître ;
- reste visible tant que le composant déclencheur ou le contenu lui-même est actif.
Les contenus gérés par le navigateur (title) ou qui utilisent un modèle de conception ARIA (tooltip, modale) ne sont pas concernés.
- Référence RGAA :
- 10.13 [AA]
Exemple non conforme : sur le site placo.fr, lorsque le menu latéral de droite est survolé, un contenu additionnel apparaît . Ce contenu additionnel ne peut pas être masqué à l’aide de la touche ESC.
Exemple conforme : sur le site Paris - Jeux 2024, le sous-menu déroulant peut être masqué avec la touche ESC.
Exemple non conforme
La tooltip qui apparaît au survol du bouton "Info" ne peut être elle-même survolée et disparaît automatiquement après quelques secondes :
Exemple non conforme
Sur le site bpce.fr, lorsque les vignettes des dernières offres d’emploi sont survolées, un fond rouge vient masquer le contenu de la vignette qui n’est plus lisible.
Contrôle des contenus additionnels au clavier [AA]
Thématique RGAA : Présentation de l’information
Les contenus qui apparaissent au survol d’un élément, au moyen de CSS, doivent apparaitre également au clavier :
- Le contenu apparaît à la prise de focus sur un composant ;
- ou le contenu apparaît suite à l’activation d’un composant ou d’une fonctionnalité (un bouton).
Par accès au clavier, on entend le clavier et tout autre périphérique de pointage équivalent.
- Référence RGAA :
- 10.14 [AA]
Exemple non conforme : sur le site Provence Alpes Côte d’Azur Tourisme, du contenu apparaît au survol des vignettes. Ce contenu ne peut pas être rendu visible à la prise de focus.

Exemple confome sur ebay.fr, le survol du lien "Mon Ebay" déclenche l’affichage d’un sous-menu. Ce sous-menu n’apparaît pas à la prise de focus mais à l’activation d’un bouton qui apparaît en navigation clavier.
Exercice
7. Multimédia
Objectif : intégrer les alternatives et choisir un composant accessible
- Identification du média
- Alternatives aux médias
- Compatibilité avec les technologies d’assistance
- Médias non temporels
Média temporel [A]
Thématique RGAA : Multimédia
Le média temporel est clairement identifiable grâce au contexte adjacent (titre précédent ou texte adjacent).
- Références RGAA :
- 4.7 [A]
Alternatives aux médias [A]
Thématique RGAA : Multimédia
- Transcription textuelle (texte structuré qui reprend l’ensemble du contenu oral et visuel ; pour les médias vidéo, son et synchronisés) ou une alternative audio seule (médias seulement vidéo)
- Sous-titres synchronisés (médias synchronisés)
- Audiodescription (média vidéo avec ou sans son, obligatoire uniquement si la bande son originale dispose des espaces blancs suffisant pour inclure la piste d’audiodescription).
Exemple conforme
Dans le site du Petit Louvre, les vidéos sont associées à un lien de téléchargement d’un PDF qui contient la transcription textuelle de la vidéo et les vidéos ont des sous-titres synchronisés.
Autre exemple : sur le site Access42, les vidéos sont suivies d’accordéons qui contiennent les transcriptions textuelles des vidéos.
Média temporel - compatible avec les TA [A]
Thématique RGAA : Multimédia
- Contrôles obligatoires.
- Clavier/souris.
- Nom pertinent : mises à jour des noms play/pause.
- Mises à jour des valeurs : timing, son, etc.
Lecteurs vidéos accessibles :
Exemple non conforme : le site Prezi met à disposition des animations dans des éléments <canvas> sans alternative.
8. Formulaires
Objectif : faciliter la saisie
- Étiquette de champ
- Regroupement de champs
- Liste de choix
- Intitulés de bouton
- Aides à la saisie : champs obligatoires
- Aides et contrôles de saisie
- Modification, mises à jour ou récupération des données
- Nature des champs de formulaires
Étiquette de champ [A] - [AA]
Thématique RGAA : Formulaires
Visuellement, la nature du champ est identifiée par :
- un intitulé visible et pertinent ;
- ou un bouton visible et pertinent ;
- ou, a minima, un attribut
titlepertinent.
Note 1 : placeholder ne remplace pas une étiquette visible.
Note 2 : Les étiquettes de champs qui attendent les mêmes valeurs sur des formulaires d’un même ensemble de page doivent garder une cohérence.
Sur le site de la ville de Bordeaux, le champ de recherche a un attribut title qui donne un nom accessible et visible et qui reprend la valeur du placeholder.
<label for="entre20et40">Entre 20 et 40 ans</label>
<input type="radio" id="entre20et40" />
<input title="Votre nom" type="text" id="nom" />
<p id="description">Prénom</p>
<input type="text" aria-labelledby="description" />
<p>Date de naissance</p>
<input type="text" aria-label="Inscrivez votre date de naissance" />
Nom visible et nom accessible [A] - [AA]
Thématique RGAA : Formulaires
Le nom visible doit être contenu dans le nom accessible.
Quiz
Que pouvez-vous dire de ce champ de formulaire ?
<fieldset>
<legend>Quel est l’animal de la photo ?</legend>
<label for="oiseau">Ecureuil</label>
<input type="radio" name="test1" id="ecureuil"/>
<label for="ecureuil">Oiseau</label>
<input type="radio" name="test1" id="oiseau"/>
<label for="rat">Rat</label>
<input type="radio" name="test1" id="rat"/>
</fieldset>
Réponse : les étiquettes visibles ne sont pas pertinentes. En effet, les boutons radios ont des étiquettes accolées (les étiquettes visibles), qui ne correspondent pas à l’étiquette à laquelle ils sont réellement reliés.
Étiquettes de champ [A]
Thématique RGAA : Formulaires
Attention :
Les labels et les champs doivent être accolés
- Références RGAA :
- 11.4 [A]
Exemple non conforme
Le site education.gouv.fr propose un formulaire de contact avec des champs qui sont trop éloignés des étiquettes.
On notera également le contraste des champs insuffisant et l’absence de la propriété role="presentation" sur le tableau.
<fieldset>
<legend>Adresse de facturation</legend>
[champs ...]
</fieldset>
<div role="group" aria-labelledby="toto">
<p id="toto">Adresse de livraison</p>
[champs ...]
</div>
Liste de choix [A]
Thématique RGAA : Formulaires
Regrouper les items de même nature d’une liste de choix <select> si nécessaire
<optgroup label="label du regroupement">
- Références RGAA :
- 11.8 [A]
<select>
<optgroup label="Véhicules">
<option>Voiture</option>
<option>Motos</option>
…
</optgroup>
<optgroup label="Immobilier">
<option>Maison</option>
<option>Appartements</option>
…
</optgroup>
</select>
Intitulés de bouton [A]
Thématique RGAA : Formulaires
- L’intitulé (nom accessible) est pertinent ;
- Si le bouton possède un nom visible alors il est aussi contenu dans le nom accessible.
- Références RGAA :
- 11.9 [A]

<input type="submit" value="Envoyer le message" />
<input type="image" src="loupe.png" alt="Rechercher sur le site">
<input type="submit" value="OK" title="OK, envoyer le message" />
<input type="submit" aria-label="Effacer mes données"/>
<input type="submit" aria-labelledby="desc-btn" />
<span id="desc-btn">Envoyer le message</span>
Quiz
Quel est le nom accessible du bouton suivant ?
<input type="submit" value="Envoyer" title="Valider mon virement" label="Retarder mon virement"/>
- A - Envoyer
- B - Valider mon virement
- C - Retarder mon virement
Réponse : Envoyer.
Dans ce contexte, l’attribut title constitue la description accessible, et pas le nom. Quant à la propriété label, elle n’existe pas.
Quiz
Quel est le nom accessible du bouton suivant ?
Envoyer mon message pour modération
<input type="image" value="envoyer" aria-label="Publier mon message" aria-describedby="btn_name" alt="Publier" style="color:#000"/>
<p id="btn_name" style="position:absolute;left:-10000px">Envoyer mon message pour modération</p>
- A - Publier
- B - Publier mon message
- C - btn_name
- D - Envoyer mon message pour modération
Réponse : Publier mon message.
Dans ce contexte, l’attribut aria-label constitue le nom accessible, il prend le pas sur le contenu du alt. Quant à la propriété aria-describedby, elle constitue la description accessible.
Aides à la saisie : champs obligatoires [A]
Thématique RGAA : Formulaires
Indiquer les champs obligatoires :
- Au moyen d’un texte dans le nom accessible ;
- Ou au moyen d’un texte avant le champ, relié au champ via un attribut
aria-describedby="id_dun_texte"; - Ou au moyen de l’attribut
required, d’une propriétéaria-requiredouaria-label(+ indication visuelle) - ⚠ Dans tous les cas, il faut une indication visible.
- Références RGAA :
- 11.10 [A]
Aides et contrôles de saisie [A] [AA]
Thématique RGAA : Formulaires
- Format attendu : fournir le format de saisie
- Contrôle de saisie : fournir un exemple de saisie
- Directement dans l’étiquette du champ concerné
- Ou via l’attribut
aria-describedby="id_dun_texte" - ⚠ L’indication doit être visible.
Créer un compte sur fnac.com (se connecter > créer un compte)
- Références RGAA :
- 11.10 [A]
- 11.11 [AA]
API Constraint validation
Personnaliser les messages d’erreurs générés automatiquement par le navigateur.
Consigne : saisir une valeur erronée et valider le formulaire.
Validation native
Le message d’erreur géré par le navigateur ne donne pas d’exemple réel de saisie.
Ressources :
Support de l’API par les navigateurs ; Documentation MDN ; Custom Validation Messages for HTML5 Form Constraints.Modification du message d’erreur natif
La modification du message d’erreur est essentielle lorsqu’il est nécessaire de fournir un exemple réel de saisie.
API Constraint validation
Personnaliser les messages d’erreurs générés automatiquement par le navigateur.
<p class="label" id="label-email">Votre email:</p>
<input type="email" name="email" id="email-form"/>
<script>
var email=document.getElementById("email-form");
email.addEventListener('invalid', function () {
if (this.value.trim() !== '') {
this.setCustomValidity("Saisie invalide. Exemple valide\n: audrey@access42.net");
}
}, false);
</script>
Modification, mises à jour ou récupération des données [AA]
Thématique RGAA : Formulaires
Si le formulaire :
- modifie ou supprime des données ;
- ou transmet des réponses à un test ou à un examen ;
- ou a des conséquences financières ou juridiques ;
L’utilisateur doit pouvoir :
- vérifier, modifier ou annuler les saisies avant envoi du formulaire ;
- ou il existe un mécanisme de confirmation explicite via une case à cocher ou une étape supplémentaire.
- Références RGAA :
- 11.12 [AA]
Nature des champs de formulaires [AA]
Thématique RGAA : Formulaires
Pour les champs qui collectent des informations personnelles sur l’utilisateur, la nature du champ (finalité) est déterminable à partir du code (attributs/propriétés).
Utilisation de l’attribut autocomplete.
Ressources :
- Glossaire du RGAA : Typologie des données personnelles
- Blog d’Access42 : Attribut HTML autocomplete : quelles valeurs utiliser pour les coordonnées personnelles françaises ?
- Transcription de conférence « Et si on laissait les utilisateurs et les utilisatrices personnaliser l’interface ? »
- Référence RGAA :
- 11.13 [AA]
<label for="fname">Prénom</label>
<input id="fname" type="text" autocomplete="given-name">
<label for="lname">Nom</label>
<input id="lname" type="text" autocomplete="family-name">
<label for="cc-num">Carte de crédit :</label>
<input type="text" id="cc-num" autocomplete="cc-number">
Exercice
9. Interactivité et contenus complexes
Objectif : faciliter la navigation au clavier et avec les technologies d’assistance
- Ordre de tabulation, piège au clavier
- Reprise de focus
- Accès au contenu additionnel affiché
- Raccourcis clavier
- Compatibilité avec les technologies d’assistance
- Utilisation au clavier et à la souris
- Alternative accessible
- Changement de contexte
- Message de statut
Ordre de tabulation, piège au clavier [A]
- Ordre de tabulation cohérent : modales, système d’onglets, menu déroulant, ajout/affichage de contenu additionnel etc.
- Pas de piège au clavier (focus figé dans un composant) (Exemple de piège au clavier)
Ressources : Bookmarklet pour visualiser le déplacement du focus, Reprises de focus et Accessibilité sur le blog Access42
Exemple non conforme
Sur les fiches produit de Cdiscount, il n’est pas possible de quitter la recherche : la touche Échap repositionne le focus sur le champ de recherche.
Reprise de focus [A]
Le repositionnement de focus permet aux utilisateurs de continuer leur navigation de manière pertinente, notamment suite à une action. Par exemple le chargement de données supplémentaires.
La méthode JavaScript .focus() permet de déplacer le focus de l’utilisateur sur un élément.
Note importante : Sur les Single Page Applications, la navigation se fait par des changements de contexte et pas des chargements de pages. Il faut donc prévoir de repositionner le focus en haut de la nouvelle page chargée.
Pour aller plus loin : Accessibilité : comment gérer le rechargement de page dans les « Single Page Applications » ?
- Références RGAA :
- 12.8 [A]
Exemple non conforme : sur le site de Darty, lorsque l’on active le composant "Voir tous les univers" dans la zone de filtre, le focus reste sur le composant.
Reprise de focus - exemple non conforme : sur le site de leblob.fr, le bouton « Charger plus de contenu » permet d’afficher dynamiquement de nouveaux items. Lorsque ce bouton est activé au clavier, de nouveaux contenus sont chargés dynamiquement au-dessus du bouton, mais le focus de l’utilisateur est laissé sur le bouton qui ne sait pas où les nouveaux contenus ont été ajoutés.
Reprise de focus - exemple conforme : sur le site de cdgexpress.com, lorsqu’on active le bouton « Voir plus », le focus est repositionné sur le premier élément de la liste d’éléments ajoutés.
Piège au clavier - exemple non conforme : sur le site de dmsearch.eesc.europa.eu, il y a un piège au clavier dans la navigation de gauche. Une fois que le focus de tabulation atteint le lien « Opinions » il est impossible d’atteindre l’élément suivant ou précédent à la tabulation.
Utilisation de l’attribut tabindex
2 valeurs autorisées :
tabindex="0": inclut l’élément dans le parcours séquentiel de tabulationtabindex="-1":- Exclut du parcours séquentiel de tabulation un élément prenant nativement le focus (
<button>,<a href="...">, ...) - Permet à élément ne prenant pas nativement le focus de le recevoir (méthode JavaScript
focus()) - ⚠ Ne fait pas ignorer un élément par les technologies d’assistance (différent de
aria-hidden="true")
- Exclut du parcours séquentiel de tabulation un élément prenant nativement le focus (
- Valeurs de l’attribut tabindex (Article en Anglais).
<div role="button" tabindex="0">En savoir plus</div>
<main tabindex="-1">...</main>
Pour que la méthode focus() soit fonctionnelle dans ce cas, c’est-à-dire que le focus soit repositionné sur le paragraphe, il est nécessaire de déclarer la propriété tabindex="-1" sur le paragraphe.
En effet, la méthode focus() ne fonctionne que si l’élément cible reconnu interactif. Un paragraphe n’est pas interactif, mais tout élément possédant une propriété tabindex, quel que soit sa valeur, est considéré interactif (au même titre sur les liens, boutons, champs de formulaires.)
Utilisation de l’attribut tabindex
⚠ Ne pas utiliser de valeurs > 0
tabindex > 0.
Accès au contenu additionnel affiché [A]
Thématique RGAA : Navigation
Pour une zone de contenu additionnel qui contient un élément interactif (lien, bouton, champ de formulaire...) :
- L’élément interactif doit pouvoir être atteint au clavier
- La zone doit rester visible tant que le focus se trouve sur l’élément ou la zone contrôlée.
Par exemple, une infobulle qui contient un lien.
- Référence RGAA :
- 12.11 [A]
Raccourcis clavier [A]
Thématique RGAA : Navigation
Pour tous les raccourcis clavier de caractère imprimable :
- L’utilisateur dispose d’un mécanisme pour désactiver ou configurer le raccourci clavier avec une touche de modification ;
- Ou le raccourci clavier n’est effectif que lorsque le focus est dans le composant sur lequel il s’applique.
Ressources : Single key shortcuts affecting speech input vidéo exemple d’impact utilisateur
- Références RGAA :
- 12.10 [A]
Conforme : Dans Gmail, les raccourcis a une touche peuvent être modifiés pour obtenir des raccourcis claviers avec des touches de modification.
Non conforme : Twitter dispose de raccourcis claviers a une touche de caractères imprimables qui ne peuvent n’y être désactivés ni configurés.
Rôle pertinent [A]
Thématique RGAA : Scripts
Tout composant interactif doit avoir un rôle et un rôle pertinent
Par exemple :
- Un composant qui déclenche l’ouverture d’une page ou d’un onglet doit être un lien.
- Un composant qui déclenche un événement dans la page, qui est le support d’une fonction JavaScript, doit être un bouton ou implémenter le motif ARIA button.
- Références RGAA :
- 7.1 [A]
Exemple conforme : sur l’affichage des traductions de Deepl, les composants « Écouter », « J’aime », « Je n’aime pas », « Améliorer la traduction », etc. déclenchent des événements JavaScript et sont implémentés dans des éléments <button>.
Nom accessible pertinent [A]
Thématique RGAA : Scripts
Tout composant interactif doit avoir un nom accessible pertinent
Selon la nature du composant, le nom accessible peut être déterminé par :
- Le contenu de la propriété
aria-labelledby - Le contenu de la propriété
aria-label - Le contenu du texte (ou de l’alternative de l’image)
- Le contenu de l’attribut
title
Important :
En cas de concurrence des implémentations, c’est l’algorithme de calcul du nom accessible qui permet déterminer quelle valeur est le nom accessible.
Le nom accessible doit toujours reprendre le nom visible.
Ressources : HTML API Mappings (algorithme de calcul du nom accessible)
- Références RGAA :
- 7.1 [A]
Exemple 1 - Non conforme ❌
<button>X</button>
👉 Le nom accessible n’est pas pertinent.
Exemple 2 - Conforme ✅
<button aria-label="fermer la fenêtre modale">X</button>
👉 Le nom accessible est constitué par la propriété aria-label.
Exemple 3 - Non conforme ❌
<button aria-label="revenir à la page d’accueil">Fermer</button>
👉 Le nom visible est constitué du texte de la balise <button> « Fermer » et le nom accessible est construit à partir du contenu de aria-label « revenir à la page d’accueil ». Le nom visible n’est pas contenu dans le nom accessible.
État et changements d’état pertinents [A]
Thématique RGAA : Scripts
Si nécessaire, l’état (et les changements d’état) ou la valeur du composant sont accessibles aux API d’accessibilité.
Selon l’information à véhiculer, il est possible d’informer les utilisateurs des états, changements d’états ou valeurs du composant de différentes manières :
- l’état sélectionné d’un bouton (dans une liste de bouton par exemple) pourra employer la propriété
aria-pressed="true"(attention, l’état sélectionné peut être rendu par différentes propriétés en fonction du contexte, notamment dans le cas de motifs de conception) - lorsqu’un composant est inactif, c’est-à-dire qu’aucune action n’est possible, on utilisera l’attribut
disabled; - lorsqu’un composant change d’état, que sa fonctionnalité est modifiée, on peut également passer par un changement de nom accessible ou de description (par exemple, la transformation d’un bouton lecture en pause, on vérifiera que l’intitulé a bien été modifié pour retranscrire la fonctionnalité qui sera déclenchée à la prochaine activation du bouton, pas uniquement l’apparence visuelle).
- Références RGAA :
- 7.1 [A]
Exemple 1 - Conforme ✅
<button aria-pressed="false">Filtrer par nom</button>
<button aria-pressed="true">Filtrer par nom</button>
👉L’état sélectionné est donné par la couleur et par une propriété qui peut être exploitée par les technologies d’assistance.
Exemple 2 - Conforme ✅
<button>Lecture</button>
<button>Pause</button>
👉 Le nom accessible est modifié pour indiquer la fonction qui sera déclenchée à la prochaine activation du bouton.
Utilisation au clavier et à la souris [A]
Thématique RGAA : Scripts
Tous les composants doivent être utilisables au clavier.
S’assurer que les composants interactifs reçoivent le focus de tabulation et peuvent être activés au clavier, et que les interactions au clavier sont respectées.
Dans certains cas, les motifs de conception ARIA nous aident à évaluer des comportements au clavier en déterminant des interactions attendues (tabulation, flèches de direction, entrée, espace).
- Références RGAA :
- 7.3 [A]
En particulier, lors de l’utilisation d’implémentations non natives d’éléments, il est nécessaire de s’assurer que ces éléments soient atteignables et activables au clavier. Dans l’exemple ci-dessus les boutons 1 et 2 sont atteignables et activables avec les touches Espace et Entrer. Le bouton 3 n’est pas activable au clavier (absence de JavaScript) et le bouton 4 n’est pas atteignable au clavier (absence d’attribut tabindex="0").
Alternative accessible [A]
Thématique RGAA : Scripts
Dans le cas où le composant ne peut pas être rendu accessible, il est possible de mettre en place une alternative accessible qui offre les mêmes fonctions.
Cas typiques :
- Les datepickers : le datepicker n’est pas accessible mais le champ de date associé est inscriptible et l’utilisateur peut choisir une date en saisissant avec son clavier. On n’évaluera pas le datepicker, mais simplement l’alternative. Ceci ne sera valable que si le datepicker lui-même n’apporte pas d’informations (par exemple des dates d’indisponibilité).
- Références RGAA :
- 7.2 [A]
Exemple conforme : sur le site sncf-connect.com, le datepicker n’est pas accessible mais il est possible de choisir une date en la saisissant au clavier.

Exemple : sur leboncoin.fr, le calendrier permettant de choisir les dates, présente des informations. Il sera ici indispensable de rendre le datepicker accessible.
Changement de contexte [A]
Thématique RGAA : Scripts
- un texte explicatif précédant le changement de contexte
- un bouton ou un lien explicite
Exemples :
- Références RGAA :
- 7.4 [A]
Message de statut [AA]
Informer les technologies d’assistance des messages d’alerte de confirmation ou de statut, sans déplacer le focus de l’utilisateur.
role="alert"role="status"role="log"- Utiliser le modèle de conception
progressbarpour les messages d’attente
Méthode alternative : utiliser la propriété aria-live.
Ressource : Utiliser les live regions ARIA
- Référence RGAA :
- 7.5 [AA]
Exemple conforme : sur le site salomon, sur une page de catégorie du catalogue, la sélection de filtres déclenche la mise à jour du nombre de résultats disponibles dans le bouton « Voir ». Ce bouton possède les propriétés aria-live="polite". Il aurait été intéressant que le nom du bouton contienne une information plus pertinente, par exemple sous la forme "Voir 80 résultats".
Démonstration : zones de mises à jour
Ajout d’un role="status"
Ajout d’un role="alert"
Ajout d’un contenu et sa mise à jour aria-live
<p role="status">Ceci est un status ajouté dynamiquement</p>
<p role="alert">Ceci est une alerte ajoutée dynamiquement</p>
<p><span id="myLiveRegion1" aria-live="polite">Mais je sais rester polie</span></p>
Quiz
Quel est le nom accessible du bouton ?
<button aria-labelledby="desc-button"><img src="img_slide/quizz/renard.png" alt="Un renard roux de la ferme" aria-label="Visite de la ferme." />Inscription visite des renards</button>
<p id="desc-button">Note : Les renards sont en libertés.</p>
- A - Note : Les renards sont en libertés
- B - Un renard roux de la ferme
- C - Visite de la ferme
- D - Inscription visite des renards
Note : Les renards en libertés.
Réponse A : Note : Les renards en libertés.
L’algorithme de calcul du nom accessible donne la priorité au contenu de la propriété aria-labelledby définie sur le bouton pour créer le nom accessible. Toutes les autres propriétés permettant de donner un nom accessible du bouton (contenu image ici avec le aria-label de l’image ou le alt), ne seront jamais pris en compte et ne seront jamais présentés aux technologies d’assistance.
Quiz
Quel est le nom accessible du bouton ?
<button href="#" aria-describedby="La basse cour d’élevage"><img src="img_slide/quizz/poule.png" alt="Pool" aria-hidden="true"/>Agrandir l’image</button>
- A - La basse cour d’élevage
- B - Agrandir l’image
- C - Pool Agrandir l’image
Réponse B : Agrandir l’image
L’algorithme du nom accessible, en l’absence de propriétés de nommage aria sur le bouton, prend en compte en priorité le contenu du bouton, ici le contenu textuel. L’image sera ignorée puisqu’elle porte la propriété aria-hidden="true". La propriété aria-describedby définie sur le bouton ne constitue que la description accessible. De plus, cette propriété attend comme valeur l’identifiant d’un passage de texte et pas du texte brut.
Quiz
Que pouvez-vous dire sur ce bouton ?
<button id="quizz-btn-switch" aria-label="Désactiver option"><img id="quizz-btn-img" src="img_slide/quizz/switchoff.png" alt=""></button>
Le nom accessible est utilisé ici pour transmettre l’information de l’action à réaliser. Cette valeur est différente de l’information visuelle. Lorsque l’interrupteur est sur ON, le nom accessible doit indiquer que l’on peut désactiver l’option avec la valeur aria-label="Désactiver option".
10. ARIA
ARIA
Accessible Rich Internet Applications
- Définir les composants d’interface et de structure ;
- Informer des états et des propriétés des composants d’interface ;
- Mises à jour de contenus dynamiques ;
- Composants utilisables au clavier.
Respecter les règles d’usage
- 5 règles de base : Notes on Using ARIA in HTML
- À lire : Kit de survie du développeur ARIA partie 1, partie 2, partie 3
1. Privilégier la méthode native
- Exceptions : limitations de style ou de support ou contraintes techniques
- Tester la restitution
- Raccourcis clavier des TA non garantis
<div role="dialog">
<dialog>
2. Ne pas changer la sémantique
- Exceptions : contraintes techniques ou méthode de fallback
- Fonctionnalités de navigation des TA non garanties
- Restrictions de rôle
<h2 role="tab">Titre onglet</h2>
✔️Sémantique de titre conservée
<div role="tab">
<h2>Titre onglet</h2>
</div>
3. Les composants interactifs doivent être utilisables au clavier
- Les composants doivent pouvoir être atteint à la tabulation : en ajoutant la propriété
tabindex="0"si nécessaire. - Les composants doivent implémenter les interactions claviers nécessaires au rôle : par exemple, les éléments avec le
role="button"doivent être activables avec la toucheEntréeetEspacecomme un<button>natif.
- Critère RGAA4 7.3
<div role="button">En savoir plus</div>
✔️élément div utilisable au clavier
<div role="button" tabindex="0">En savoir plus</div>
4. Ne pas supprimer la sémantique des éléments interactifs ou empêcher leur restitution
role="presentation"aria-hidden="true"(hérité des parents)
<button aria-hidden="true">Menu</button>
5. Tout composant interactif doit avoir un nom accessible
- Algorithme de calcul du nom accessible
- Nom accessible ≠ description accessible
- Visionneuse d’arborescence d’accessibilité
ARIA
Comment un lecteur d’écran sait-il de quoi il parle ?
Motif de conception
Motif de conception (design pattern) : décrit structure, rôles et propriétés et comportement d’un composant JavaScript(widget).
dialog.
Environnement de test
Pour toutes les implémentations JavaScript et ARIA, il est nécessaire de réaliser des tests de restitution et d’utilisation avec les lecteurs d’écran de la base de référence.
Les composants simples sont largement bien supportés (disclosure et modale par exemple). Les tests de restitution sont surtout très utiles sur les composants complexes comme les combobox, datepicker, grid, etc.
Ressources : Pour prendre en main les lecteurs d’écran, suivre le pas à pas du Guide sur les lecteurs d’écran.
| Technologie d’assistance | Navigateur |
|---|---|
| NVDA (dernière version) | Firefox |
| JAWS (version précédente) | Firefox |
| VoiceOver (dernière version) | Safari |
| Système | Technologie d’assistance | Navigateur |
|---|---|---|
| iOS | VoiceOver (dernière version) | Safari |
| Android | Talkback (dernière version) | Chrome |
Pour tester un site web sur un terminal mobile, l’environnement de test devra comporter une des deux combinaisons (iOS ou Android). À noter que dans le cas d’un site web mobile grand public, il est fortement conseillé de tester dans les deux environnements.
Exercice
Testez vos connaissances
Répondez à 5 questions sur quiz.access42.net
Vous pourrez télécharger le récapitulatif complet du quiz à la fin.
Démonstrations ARIA
Formulaire
Le but de cette démonstration est de montrer comment on peut améliorer la restitution d’un formulaire grâce aux deux propriétés aria-labelledby et aria-describedby.
Formulaire 1
Attention aux délais
- Plus de 30 kg, prévoir 10 jours.
- Plus de 60 kg, prévoir 3 semaines.
- Plus de 100 kg, nous consulter.
Le niveau d’information de ce formulaire est réduit et d’importantes informations comme les délais sont absentes ; ARIA va nous permettre de rendre ce formulaire beaucoup plus convivial.
Formulaire
Le but de cette démonstration est de montrer comment on peut améliorer la restitution d’un formulaire grâce aux deux propriétés aria-labelledby et aria-describedby.
Formulaire 2
Attention aux délais
- Plus de 30 kg, prévoir 10 jours.
- Plus de 60 kg, prévoir 3 semaines.
- Plus de 100 kg, nous consulter.
Une propriété aria-labelledby a été implémentée sur le champ "commande" : elle référence l’élément label du champ et l’élément "unité". Lors de la prise de focus sur le champ "commande", l’ensemble de ces éléments seront vocalisés dans l’ordre dans lequel les références ID sont implémentées.
Une propriété aria-describedby a été implémentée sur le champ "commande" qui référence la zone "attention aux délais" contient des informations complémentaires. Lors de la prise de focus, cette zone est vocalisée, jouant le rôle d’un message d’aide.
Une propriété aria-labelledby a été implémentée sur le bouton de soumission, elle référence un élément caché qui va contenir un message d’aide dynamique géré par javascript. Lors de la prise de focus sur le bouton de soumission, le bouton et le message d’aide seront vocalisés.
Afficher / Masquer
Étude du motif ARIA Disclosure
Le contenu est maintenant visible !
Important : il existe d’autres méthodes pour gérer un composant qui affiche et masque du contenu, comme l’utilisation du composant HTML <details>. Voir Développer un composant accessible pour afficher/masquer une zone (Access42)
Potentiomètre
Note importante : Le motif slider n’est pas supporté sur les environnements mobiles, il est inutilisable par les lecteurs d’écran. Il faut privilégier la méthode native : input type="range"
Étude du motif ARIA Slider
Important : le motif ARIA slider n’est pas toujours utilisable en environnement mobile. Les champs de formulaire de type range peuvent être de meilleures implémentations car elles sont fonctionnelles sur environnement mobile.
Ressources : Évaluation du motif slider avec les lecteurs d’écran
Barre de progression
Étude du composant progressbar
État du chargement
Ressources : Évaluation du progressbarr avec les lecteurs d’écran
<p id="l1">État du chargement</p>
<span role="progressbar" id="p1" aria-labelledby="l1" aria-valuemin="0" aria-valuenow="0" aria-valuemax="100" tabindex="-1"> </span>
Chat
La démonstration nécessite deux interlocuteurs ; elle utilise un procédé AJAX de gestion de chat simplifié.
Avec NVDA, utiliser le module de chat première démonstration.
L’utilisateur est obligé d’effectuer des allers-retours entre le champ de formulaire et la zone mise à jour pour pouvoir suivre une conversation.
Utiliser maintenant la seconde démonstration en saisissant votre message et en validant avec la touche Entrée.
L’utilisateur peut entendre l’ensemble de la conversation sans quitter le champ de formulaire lui permettant de saisir son message.
Ressources : aria-live property, ARIA Live Region Attributes
Système d’onglets
Étude du motif ARIA Tabs
Afficher la page de test contenant le système d’onglets (nouvelle fenêtre)
Ressources : Évaluation d’un système d’onglets avec les lecteurs d’écran
Aide à l’analyse de composants
Le fichier DP-ARIA (répertoire Outils du support) est une aide à l’analyse de composants complexes. Chaque composant qui s’appuie sur un motif de conception ARIA peut-être découpé en critère à évaluer.
Les principaux motifs de conception sont présents (Tabs, Disclosure, Dialog, etc.) avec les différentes versions d’implémentations.
Composants ARIA
Étude de composants : bibliothèque de référence pour tests de restitution
Choix de composants techniques
Lors du choix d'un composant technique, qu'il s'agisse d'un framework, outil ou service (gestionnaire de cookies par exemple), il est important de s'assurer du niveau d'accessibilité proposé.
Les informations sur l'accessibilité sont souvent disponibles dans la documentation par l'information du support de WCAG (norme internationale) ou de la norme européenne EN 301 549, par exemple :
- Angular - Autocomplete accessibility
- TinyMCE Accessible navigation guide
- Accessibility Support in CKEditor 4
Cette information ne permet pas de garantir une conformité totale de tous les composants lorsqu'il s'agit de frameworks (ou de composants) et il peut-être nécessaire dans certains cas de vérifier l'accessibilité complètement.
Plusieurs limitations techniques sont connues sur ces outils automatisés, à l’heure actuelle, par exemple :
- Les tests qui abordent la pertinence (lien, formulaire, etc.)
- Les critères autour de la navigation : piège au clavier, ordre de tabulation, etc.
- Analyse sur différents affichage (mode réduit, mode mobile, etc.)
Il est difficile d’envisager la mise en place d’un tel outil sans en connaitre à l’avance son périmètre complet d’analyse et ses limitations.
Au-delà de ces limitations techniques, certains biais peuvent être apportés par ces technologies notamment l’interprétation des résultats qui doit être réduit à la capacité d’évaluation de l’outil. L’affichage d’un pourcentage ne peut pas être comparé à un taux de conformité issue d’un audit complet.
Ces tests ne pourront évidemment pas remplacer un audit complet.
Documents de références
Référentiel
WCAG
Spécifications
- Core Accessibility API Mappings 1.2 : comment les UA doivent dialoguer avec les API d’access système
- HTML Accessibility API Mappings 1.0 : comment les UA doivent faire correspondre les éléments et propriétés HTML5 avec l’API d’access système
HTML
ARIA
API
- Windows : MSAA, UIAutomation, IAccessible2 (Support d’Internet Explorer)
- Mac : Universal access
- Linux : ATK/AT-SPI
Guides d’implémentation
- Guide de l’intégrateur
- Guide du développeur
- Guide du contributeur
- Guide sur les lecteurs d’écrans
- Et plein d’autres ! Consultez l’article Des ressources pour s’approprier le RGAA 3 ou le tableau recap : fr.slides.access42.net/gta2017/2/ressources/
Outils de tests
- Assistant RGAA (extension FF et Chrome) : tests automatiques ou assistés pour l’ensemble des tests du RGAA 4.1.
- Axe Deque (extension FF et Chrome) : réalisation d’un certain nombre de tests automatiques (depuis l’inspecteur de code > onglet « Accessibility Audit »).
- ANDI — Accessibility Testing Tool (bookmarklet)
Inspirations
Ces design systems proposent des solutions et intègrent des concepts d’accessibilité.
Il faut néanmoins rester vigilant sur l’état d’accessibilité de chaque composant avant l’implémentation, les mises à jour ou les contextes différents peuvent avoir un impact.
Bilan de la formation
Reprenons vos objectifs initiaux… Satisfait·e·s ?
Pour nous aider à progresser, nous vous proposons de remplir un questionnaire de satisfaction.
Un peu d’administratif
- Avez-vous signé la feuille de présence ?
- Comment récupérer le support de formation ?
Certification
Pour les formations inter-entreprises et inscrits avec leur compte CPF : compris dans le prix de la formation. Pour les formations intra : sous conditions.
Candidat·es CPF : il est obligatoire de se présenter à l’examen
« Développer des sites web accessibles », enregistrée chez France Compétences sous le numéro RS5161
- Après la formation, vous recevrez un mail vous invitant à remplir un questionnaire pour finaliser votre inscription.
- Quelques jours après, vous recevrez un mail de confirmation et un accès à un cours en ligne et des exercices de révision.
- Un QCM de positionnement vous est proposé (15/20 minutes de réalisation). Une fois complété, vous pourrez choisir votre date d’examen (voir les dates sur la fiche)
- Certification en ligne (sur le modèle des exercices de la formation) : ouverture de la plateforme à 09h, limite des dépôts à 16h.
- Les corrections sont manuelles, il faut prévoir un délai de 3 semaines pour recevoir le résultat.
Gardons contact !
-
Notre blog : nos actualités et articles de fond sur l’accessibilité.
a42.fr/blog -
Notre lettre d’information : tous les deux mois, un condensé d’accessibilité par e-mail.
a42.fr/newsletter
Réseaux sociaux
Notre veille au quotidien sur l’accessibilité numérique.
- LinkedIn : Access42
- Mastodon : @access42@social.a11y.fr
- Bluesky : @access42.net
Merci de votre attention !
Une question après la formation ?
Contactez-nous : formations@access42.net
- Script de diaporama AccesSlide développé par Access42 sous licence GPL.
- Dépôt GitHub Access42.
Note importante
Le présent support de formation est remis aux stagiaires à des fins d’utilisation personnelle uniquement. Tous les droits sont réservés à Access42. À ce titre, ce support ne peut être ni diffusé, ni modifié, ni utilisé à des fins commerciales.
Navigation
Pour passer d’une page à une autre, vous disposez des boutons « Suivant » et « Précédent ».
Sur appareil mobile, vous avez la possibilité de changer de page en balayant l’écran :
- de la droite vers la gauche, pour passer à la page suivante ;
- de la gauche vers la droite, pour revenir à la page précédente.
Navigation avec lecteur d’écran sur appareils mobiles
Si vous utilisez un lecteur d’écran sur mobile, appuyer sur les boutons « Suivant » et « Précédent » pour passer d’une page à une autre.
Navigation au clavier
Le tableau ci-dessous donne la liste des raccourcis clavier à utiliser lors de la navigation au clavier. Ces raccourcis fonctionnent également avec voiceOver. Pour les utiliser avec NVDA, le mode formulaire doit être activé (à l’aide des touches NVDA+Espace. Pour les utiliser avec JAWS, il faut désactiver le curseur virtuel en appuyant sur JAWS+Z. Quelques-uns des raccourcis énumérés ci-dessous fonctionnent spécifiquement avec le mode navigation de NVDA et le curseur virtuel de JAWS.
| Touche | Action |
|---|---|
| CTRL + Espace | Page suivante avec le mode navigation de NVDA ou le curseur virtuel de JAWS |
| Espace ou Flèche droite | Page suivante dans les autres cas, avec voiceOver, le mode formulaire de NVDA et JAWS sans le curseur virtuel |
| MAJ + CTRL + Espace | Page précédente avec le mode formulaire de NVDA ou le curseur virtuel de JAWS |
| MAJ + Espace ou Flèche gauche | Page précédente dans les autres cas, avec voiceOver, le mode formulaire de NVDA et JAWS sans le curseur virtuel |
| Début | Première page |
| Fin | Dernière page |
| ALT + 0 (zéro) | Sommaire |
Options d’accessibilité
AccessReader propose plusieurs options d’accessibilité à configurer dans le volet « Configuration ».
Dyslexie
Pour un meilleur confort de lecture, cochez les options « Police adaptée » et « Interlignage adapté ».
Contraste
AccessReader propose trois niveaux de contraste :
- par défaut ;
- inversé ;
- renforcé.
Vocalisation
Vous pouvez sélectionner, à la section « Accessibilité », différentes options sonores.
Vous pouvez choisir les actions qui déclencheront un signal sonore (chaque signal sonore est différent en fonction de l’action) :
- Page : émet un bip lorsque vous arrivez sur une nouvelle page
- Début : émet un bip lorsque vous atteignez la première page
- Fin : émet un bip lorsque vous atteignez la dernière page
Vous pouvez également choisir des éléments supplémentaires à vocaliser :
- Numéro : vocalise le numéro de la page à son affichage
- Titre : vocalise le titre de la page à son affichage
Conseils pour l’utilisation d’AccessReader avec un lecteur d’écran
Note : AccessReader a été utilisé avec les lecteurs d’écran suivants :
- Windows : NVDA 2023.1 avec Firefox 112 et Chrome 112 ;
- Windows : JAWS version 2023 avec Chrome 112 et Firefox 112 ;
- Mac : Ventura avec VoiceOver et Safari.
Recommandations pour la configuration avec un lecteur d’écran
- Rechercher le bouton « Ouvrir la configuration » (il se trouve en bas de page). Il est possible d’atteindre ce bouton, en appuyant sur la touche dédiée du lecteur d’écran.
- Choisir la police, l’interlignage et les contrastes les plus adaptés à sa vision.
- Dans la partie « Accessibilité », on peut choisir de cocher ou non des cases à cocher pour :
- vocaliser les numéros de page,
- entendre des sons quand on arrive à la première ou la dernière page,
- vocaliser le titre de la page en cours.
- Dans la partie « lecteur », on peut choisir d’afficher ou non le sommaire et de consulter le document en mode page à page ou en mode plan. Dans le cas du mode plan, toutes les pages seront affichées en mode linéaire. Elles seront séparées par des titres de niveau 2. Dans le cas du mode page, il faudra appuyer sur suivant ou sur espace pour afficher la page suivante.
Note sur l’utilisation des commandes du lecteur avec un lecteur d’écran
L’appui sur la barre d’espace pour aller à la page suivante ne fonctionne avec NVDA que si le mode formulaire est activé. Avec JAWS, il ne fonctionne que quand le curseur virtuel est désactivé à l’aide des touches JAWS+Z. Si les modes formulaire ou curseur virtuel sont activés, il faut utiliser le raccourci CTRL + Espace pour passer à la page suivante, et MAJ + CTRL + Espace pour passer à la page précédente.
L’appui sur les autres touches pour aller au début et à la fin du document ne fonctionne que si le mode formulaire est activé dans NVDA et le mode curseur virtuel est désactivé dans JAWS. Pour faire défiler les pages dans le mode navigation de NVDA ou dans le mode curseur virtuel de JAWS, procéder comme suit :
- dans NVDA, appuyer sur NVDA + F2 pour ignorer l’appui sur la touche suivante ;
- dans JAWS, appuyer sur JAWS + 3 du pavé alphanumérique pour ignorer l’appui sur la touche suivante.
VoiceOver et Orca gèrent très bien la navigation à la page suivante, avec espace, page précédente avec SHIFT + espace, début et fin de support de présentation.
Utilisation du dialogue de configuration avec un lecteur d’écran
Lorsqu’on ouvre la configuration, une « Fenêtre » apparaît.
Pour modifier les paramètres d’accessibilité, une fois que la fenêtre a été ouverte, utiliser la tabulation et effectuer les choix souhaités en cochant les éléments à l’aide de la barre d’espace.
Veillez à ne pas dépasser le bouton « Enregistrer » car vous risquez de vous retrouver dans la barre d’adresses du navigateur et il n’est pas toujours évident de revenir en arrière.
Pour toute question concernant l’utilisation d’Accessreader avec un lecteur d’écran, ne pas hésiter à nous contacter.
Structure des titres
Le premier titre de niveau 1 (h1) rencontré dans la page, contient le titre du support de présentation. Ce titre de niveau 1 reste le même tout au long du support de présentation.
Ensuite, chaque grande section du support de présentation est titrée par un titre de niveau 2 (h2).
À l’intérieur d’une grande section, les sous-sections peuvent être titrées par des titres de niveau 3 (h3) ou par un niveau de titre encore inférieur.
Cette structure de titres peut sembler incohérente lorsqu’elle est vocalisée : en effet, on passe parfois d’un h1 à un h3, voire à un titre de niveau inférieur. Elle n’en reste pas moins cohérente à l’échelle du document, et parfaitement valide au regard de la norme HTML 5.
Par ailleurs, lorsqu’on se trouve dans une sous-section, un fil d’ariane cliquable apparaît après l’en-tête du document, et permet de retourner au début de la grande section concernée si besoin.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat.

Recherche d’itinéraire sur sncf.com
