1.1.1 Contenu non textuel
Chaque image, icône ou autre élément non textuel doit comporter une description textuelle qui transmet la même information ou remplit la même fonction.
Correction des rôles de présentation et des états masqués sur le contenu décoratif
Les éléments graphiques décoratifs et le contenu non textuel qui ne transmettent aucune information significative devraient être masqués aux technologies d'assistance, comme les lecteurs d'écran. Les utilisateurs de technologies d'assistance peuvent ainsi se concentrer sur le contenu significatif.
Dans le code HTML, repérez le contenu décoratif qui ne fournit aucune information ni fonctionnalité significative.
Pour les éléments
<svg>décoratifs, ajoutez l'attributaria-hidden="true"à l'élément<svg>.Pour les autres contenus non textuels décoratifs, comme un élément
<img>utilisé uniquement comme bordure, un élément<object>utilisé uniquement pour la mise en forme ou un élément<area>utilisé pour des effets visuels, ajoutez l'attributrole="presentation".Si l'élément non textuel décoratif possède déjà un attribut
role, remplacez-le parrole="presentation".
Exemple
!-- Incorrect -->
<svg width="100" height="100">
<circle
cx="50"
cy="50"
r="40"
stroke="black"
stroke-width="3"
fill="red"
/>
</svg>
<!-- Correct -->
<svg width="100" height="100" aria-hidden="true">
<circle
cx="50"
cy="50"
r="40"
stroke="black"
stroke-width="3"
fill="red"
/>
</svg>
Correction des attributs alt manquants sur le contenu non textuel
Tout contenu non textuel, comme les images, les vidéos et les boutons, devrait comporter un texte alternatif qui permet d'identifier le contenu de façon descriptive.
Dans votre code HTML, repérez les éléments de contenu non textuel (p. ex.
<img>,<object>,<area>) auxquels il manque un attributalt.Ajoutez un attribut
altà l'élément.Saisissez dans l'attribut
altune description alternative descriptive qui rend compte de sa signification.
Remarque : Pour les images décoratives, utilisezalt=""(texte alternatif vide) afin d'indiquer que l'image ne transmet aucun contenu significatif.
Exemple
<!-- Incorrect -->
<img src="logo.png">
<!-- Correct -->
<img src="logo.png" alt="Logo of Company A with a stylized tree design">Correction des textes alternatifs manquants pour les boutons image
Les boutons image ont besoin d'un texte alternatif descriptif afin que les utilisateurs ayant une déficience visuelle comprennent la fonction du bouton lorsqu'ils parcourent la page.
Dans votre code HTML, repérez l'élément
<img>à l'intérieur d'un élément<button>ou<input>.Dans l'élément
<img>, repérez l'attributalt.Ajoutez dans l'attribut
altune description claire et concise de la fonction du bouton.
Exemple
<-- Incorrect -->
<button><img src="submit-button.png" alt=""></button>
<-- Correct -->
<button><img src="submit-button.png" alt="Submit form"></button>Correction des problèmes d'attribut aria-labelledby manquant
L'attribut aria-labelledby permet aux technologies d'assistance, comme les lecteurs d'écran, de lire correctement les étiquettes du contenu, ce qui aide les utilisateurs à mieux comprendre le contexte de l'élément.
Dans votre code HTML, repérez l'élément qui doit être étiqueté (p. ex.
<img>,<object>,<area>).Dans l'élément, ajoutez l'attribut
aria-labelledby.Dans l'attribut
aria-labelledby, saisissez un nom d'étiquette qui fournit une description de l'élément.
Remarque : Le nom de l'étiquette doit avoir la même signification que l'étiquette de l'élément correspondant qui décrit le contenu de l'image.
Exemple
<!-- Incorrect -->
<img src="chart.png" aria-labelledby="nonexistentLabel">
<!-- Correct -->
<img src="chart.png" aria-labelledby="chartTitle">
<h2 id="chartTitle">Sales Data Chart</h2>Correction des problèmes d'attribut title manquant
L'attribut title permet aux technologies d'assistance, comme les lecteurs d'écran, de lire le contenu avec un titre approprié.
Dans votre code HTML, repérez l'élément qui doit être étiqueté (p. ex.
<img>,<object>).Dans l'élément, ajoutez l'attribut
title.Dans l'attribut
title, saisissez un titre descriptif pour votre élément.
Exemple
<!-- Incorrect -->
<object data="document.pdf" type="application/pdf"></object>
<!-- Correct -->
<object data="document.pdf" type="application/pdf" title="Annual Financial Report 2023"></object>Correction des noms accessibles manquants pour les éléments graphiques significatifs
Ajoutez des noms accessibles aux éléments SVG afin de fournir des alternatives textuelles pour que les utilisateurs de lecteurs d'écran ou d'autres technologies d'assistance puissent comprendre les éléments graphiques.
Dans le code HTML, repérez l'élément
<svg>doté derole="img".
Assurez-vous que les éléments <svg> significatifs comportent un rôle ARIA (p. ex. role="img") avant d'ajouter un attribut aria-label.
Dans cet élément
<svg>, ajoutez un attributaria-label.Définissez
aria-labelavec une étiquette concise et descriptive pour l'élément graphique.
Exemple
<!-- Incorrect -->
<svg role="img" width="100" height="100">
<circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
</svg>
<!-- Correct -->
<svg role="img" width="100" height="100" aria-label="Red circle representing a stop sign">
<circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
</svg>Correction des noms accessibles manquants pour les éléments graphiques décoratifs
L'ajout du rôle de présentation à vos éléments graphiques décoratifs permet aux technologies d'assistance, comme les lecteurs d'écran, d'ignorer le contenu superflu et de se concentrer sur la lecture de ce qui est significatif.
Dans le code HTML, repérez l'élément
<svg>.Dans l'élément
<svg>, ajoutez l'attributrole="presentation".
Exemple
<!-- Incorrect -->
<svg width="100" height="100">
<circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
</svg>
<!-- Correct -->
<svg width="100" height="100" role="presentation">
<circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
</svg>Correction des textes alternatifs manquants sur les éléments dotés du rôle img
Le texte alternatif sur les éléments dotés du rôle img permet aux lecteurs d'écran de décrire l'image, ce qui aide les utilisateurs à comprendre son objectif et son contenu. L'ajout d'un attribut aria-label ou aria-labelledby donne aux utilisateurs l'information nécessaire pour comprendre l'objectif ou le contenu de l'image.
- Dans votre code HTML, repérez l'élément HTML doté de
role="img".
Dans l'élément, ajoutez un attributaria-labelouaria-labelledby. Dans l'attribut, saisissez une description de l'image.
Exemple
<!-- Incorrect -->
<svg role="img">
<!-- SVG content -->
</svg>
<!-- Correct -->
<svg role="img" aria-label="Company logo">
<!-- SVG content -->
</svg>Correction des attributs title redondants sur les images dont le texte alternatif est vide
Lorsqu'une image est marquée avec un texte alternatif vide (alt=""), elle doit être ignorée par les technologies d'assistance. L'ajout d'un attribut title dans ce cas crée des informations contradictoires, car les lecteurs d'écran peuvent tout de même annoncer le titre, ce qui va à l'encontre de l'objectif de marquer l'image comme décorative.
Dans le code HTML, repérez l'élément
<img>.Si l'image est purement décorative, assurez-vous qu'elle comporte un attribut
altvide et supprimez tout attributtitle.
Exemple
<!-- Incorrect -->
<img src="decorative-divider.png" alt="" title="Section divider">
<!-- Correct -->
<img src="decorative-divider.png" alt="">Correction du texte alternatif non descriptif dans les images
Tout contenu non textuel, comme les images, les vidéos et les boutons, devrait comporter un texte alternatif qui permet d'identifier le contenu de façon descriptive.
Dans le code HTML, repérez l'élément
<img>.Dans l'élément
<img>, repérez l'attributalt.Remplacez la description existante par une formulation plus descriptive qui rend compte de l'objectif ou du contenu de l'image.
Remarque : Si l'image est décorative et ne transmet aucune information significative, remplacez la description actuelle de l'attribut paralt=""ourole="presentation"afin de la masquer aux lecteurs d'écran.
Exemple
<!-- Incorrect -->
<img src="company-logo.png" alt="Logo">
<!-- Correct -->
<img src="company-logo.png" alt="White House logo, representing the official symbol">
1.2.1 Contenu audio seul et vidéo seule (préenregistrés)
Tout contenu audio ou vidéo préenregistré sans image ou sans son doit comporter une transcription textuelle qui fournit la même information.
Correction des transcriptions audio manquantes
Fournir une transcription textuelle du contenu audio permet à tous les utilisateurs, y compris ceux qui sont sourds ou malentendants, d'accéder à la même information.
Dans le code HTML, repérez l'élément
<audio>.Après l'élément
<audio>, ajoutez un élément<p>.Dans l'élément
<p>, saisissez la transcription complète du contenu audio sous forme de texte.
Exemple
<!-- Incorrect -->
<audio controls><source src="interview.mp3" type="audio/mpeg">Your browser does not support the audio element.</audio>
<!-- Correct -->
<audio src="interview.mp3" type="audio/mpeg" your="Your" browser="browser" does="does" not="not" support="support" the="the" audio="audio">
<p>Transcript: In this interview, Dr. Smith explains the importance of regular exercise. She discusses how physical activity can improve both mental and physical health, reduce the risk of chronic diseases, and enhance overall quality of life. She also shares tips for staying motivated and setting realistic fitness goals.</p>1.2.2 Sous-titres (préenregistrés)
Toutes les vidéos préenregistrées avec son doivent comporter des sous-titres qui affichent à l'écran les paroles prononcées et les sons importants.
Correction des sous-titres manquants dans le contenu vidéo
Fournir des sous-titres pour les vidéos préenregistrées permet aux utilisateurs sourds ou malentendants de comprendre tout de même le contenu.
Dans le code HTML, repérez l'élément
<video>.Dans l'élément
<video>, ajoutez un élément<track>.-
Dans l'élément
<track>, ajoutez les attributs suivants :L'attribut
kindavec la valeur"captions"(p. ex.kind="captions").L'attribut
srcavec le chemin d'accès de votre fichier de sous-titres (p. ex.captions.vtt).L'attribut
srclangavec le code de langue approprié (p. ex.en).L'attribut
labelpour décrire la langue du contenu vidéo (p. ex."English").
Exemple
<!-- Incorrect -->
<video src="training-overview.mp4" controls>
</video>
<!-- Correct -->
<video src="training-overview.mp4" controls>
<track src="training-overview-en.vtt" kind="captions" srclang="en" label="English">
</video>
Correction des sous-titres manquants dans les vidéos Vimeo intégrées
Les vidéos Vimeo doivent comporter des sous-titres afin d'être accessibles aux utilisateurs sourds ou malentendants. Vimeo permet d'ajouter des sous-titres dans les paramètres de la vidéo.
Ouvrez la vidéo sur vimeo.com.
Connectez-vous avec le compte propriétaire de la vidéo.
Accédez à Paramètres.
Sélectionnez l'onglet Distribution, puis ouvrez Sous-titres (ou Avancé > Sous-titres dans les anciennes dispositions).
Repérez la section Sous-titres/CC.
Téléversez un fichier de sous-titres .vtt ou .srt.
Enregistrez vos modifications, puis vérifiez que les sous-titres sont activés en prévisualisant la vidéo.
Remarque : Les sous-titres s'afficheront automatiquement dans l'élément <iframe> intégré s'ils sont activés sur Vimeo.
Correction des sous-titres manquants dans les vidéos YouTube intégrées
Les vidéos YouTube doivent comporter des sous-titres afin que les utilisateurs sourds ou malentendants puissent accéder au contenu parlé. YouTube offre des options de téléversement manuel de sous-titres ou de sous-titrage automatique.
Ouvrez la vidéo sur youtube.com avec le compte propriétaire de la vidéo.
Accédez à YouTube Studio et sélectionnez la vidéo que vous souhaitez modifier.
Cliquez sur Sous-titres dans le menu de gauche.
Choisissez la langue de vos sous-titres.
-
Cliquez sur Ajouter et sélectionnez l'une des options suivantes :
Importer un fichier (pour les fichiers .vtt ou .srt)
Synchronisation automatique (collez la transcription complète et laissez YouTube la synchroniser)
Saisir manuellement
Vérifiez et publiez vos sous-titres.
1.3.1 Information et relations
Toute information présentée au moyen de la mise en page, de la mise en forme ou de la structure visuelle doit aussi être disponible sous forme de texte ou être codée afin que les technologies d'assistance puissent la comprendre.
Correction des rôles de repère ARIA manquants dans la structure de la page
Les rôles de repère aident les utilisateurs de lecteurs d'écran à comprendre la mise en page et à accéder rapidement aux sections principales.
Dans votre code HTML, repérez les éléments de structure (p. ex.
<div>,<section>,<form>).Ajoutez le rôle de repère ARIA approprié à l'aide de l'attribut
role(p. ex.role="main",role="navigation",role="form"). En savoir plus sur le rôle de repère approprié.
Remarque : N'ajoutez des rôles ARIA que si l'élément n'a pas déjà de rôle de repère intégré (p. ex. l'élément<nav>joue déjà le rôlenavigation).
Exemple
<!-- Incorrect -->
<div id="main-content">
<p>Welcome to our website.</p>
</div>
<!-- Correct -->
<div id="main-content" role="main">
<p>Welcome to our website.</p>
</div>
Correction de l'absence de fieldset ou de groupe pour les champs de saisie portant le même nom
Les boutons radio ou les cases à cocher qui portent le même nom doivent être regroupés afin que leur relation soit claire. Les utilisateurs de lecteurs d'écran comprennent ainsi que ces champs de saisie vont ensemble.
Dans le code HTML, repérez les boutons radio ou les cases à cocher qui partagent le même attribut
name.Placez les champs de saisie associés dans un élément
<fieldset>.Ajoutez un élément
<legend>comme premier élément dans l'élément<fieldset>pour décrire le groupe.
Vous pouvez aussi placer les champs de saisie dans un conteneur doté de role="group" ou de role="radiogroup" et fournir une étiquette à l'aide de aria-labelledby ou de aria-label.
Exemple
<!-- Incorrect -->
<label>
<input type="checkbox" name="city"> Toronto
</label>
<label>
<input type="checkbox" name="city"> London
</label>
<!-- Correct -->
<fieldset>
<legend>Select your location</legend>
<label>
<input type="checkbox" name="city"> Toronto
</label>
<label>
<input type="checkbox" name="city"> London
</label>
</fieldset>
<!-- Correct -->
<div role="group" aria-label="Select your location">
<label>
<input type="checkbox" name="city"> Toronto
</label>
<label>
<input type="checkbox" name="city"> London
</label>
</div>
Correction des éléments <li> sans élément parent
Veiller à ce que les éléments de liste soient placés dans un élément de liste aide les lecteurs d'écran à identifier correctement le contenu regroupé.
Dans le code HTML, repérez les éléments
<li>qui ne sont pas contenus dans un élément<ul>ou<ol>.Placez les éléments
<li>dans un élément<ul>(pour une liste à puces) ou<ol>(pour une liste numérotée).
Exemple
<!-- Incorrect --> <li>First item</li> <li>Second item</li> <!-- Correct --> <ul> <li>First item</li> <li>Second item</li> </ul>
Correction des problèmes de structure des listes de description (DL)
Les listes de description servent à présenter des paires d'informations liées, comme un terme et son explication. Lorsque la liste n'est pas structurée correctement, les lecteurs d'écran peuvent lire le contenu dans le désordre ou dérouter les utilisateurs.
Dans votre code HTML, repérez les éléments
<dl>signalés.Dans l'élément
<dl>, placez le terme dans un élément<dt>.Dans un élément
<dt>, placez la description à l'intérieur d'un élément<dd>.
Remarque : Un élément <dt> doit contenir au moins un élément <dd>.
Supprimez tout autre élément placé directement dans l'élément
<dl>, sauf s'il se trouve dans un élément<dt>ou<dd>.
Exemple
<!-- Incorrect --> <dl> <p>HTML</p> <p>A markup language for web pages.</p> </dl> <!-- Correct --> <dl> <dt>HTML</dt> <dd>A markup language for web pages.</dd> </dl>
Correction des termes de définition (DT) et des descriptions de définition (DD) non contenus dans une liste de description (DL)
Les termes de définition (<dt>) et les descriptions de définition (<dd>) doivent toujours être contenus dans une liste de description (<dl>). Lorsque des éléments <dt> ou <dd> sont utilisés en dehors d'un élément <dl>, les lecteurs d'écran peuvent lire le contenu dans le désordre ou dérouter les utilisateurs.
Dans votre code HTML, repérez les éléments
<dt>ou<dd>signalés.Assurez-vous que chaque élément
<dt>et<dd>est placé dans un élément<dl>. Si le contenu ne fait pas partie d'une liste de description, remplacez<dt>et<dd>par un élément approprié (p. ex.<h2>,<h3>,<p>).
Exemple
<!-- Incorrect --> <dt>CSS</dt> <dd>A language used to style web pages.</dd> <!-- Correct --> <dl> <dt>CSS</dt> <dd>A language used to style web pages.</dd> </dl>
Correction de l'utilisation incorrecte de l'attribut scope dans les tableaux
Lorsqu'un tableau utilise l'attribut scope, celui-ci doit être appliqué uniquement aux cellules d'en-tête (<th>) afin de définir clairement à quelles cellules de données elles se rapportent. Des valeurs scope incorrectes ou manquantes peuvent empêcher les technologies d'assistance d'associer correctement les en-têtes aux données du tableau.
-
Dans votre code HTML, repérez l'attribut
scopesignalé ou les éléments de tableau concernés. -
Modifiez l'attribut
scopede manière à garantir que :- L'attribut
scopeest appliqué uniquement aux éléments<th>. - Chaque élément
<th>possède une valeur scope appropriée, commecol,row,colgroupourowgroup. -
La valeur de votre attribut
scopereflète fidèlement la structure et les relations du tableau.
- L'attribut
Exemple
<!-- Incorrect -->
<table>
<tr>
<th>Name</th>
<th>Score</th>
</tr>
<tr>
<th>Alice</th>
<td>95</td>
</tr>
</table>
<!-- Correct -->
<table>
<tr>
<th scope="col">Name</th>
<th scope="col">Score</th>
</tr>
<tr>
<th scope="row">Alice</th>
<td>95</td>
</tr>
</table>
<!-- Incorrect -->
<table>
<tr>
<th scope="column1">Name</th>
<th scope="column2">Score</th>
</tr>
<tr>
<th scope="row1">Alice</th>
<td>95</td>
</tr>
</table>
<!-- Correct -->
<table>
<tr>
<th scope="col">Name</th>
<th scope="col">Score</th>
</tr>
<tr>
<th scope="row">Alice</th>
<td>95</td>
</tr>
</table>
Correction de l'utilisation incorrecte de l'attribut headers au lieu de scope dans les tableaux
Les tableaux doivent contenir des cellules de données (<td>) décrites par des en-têtes de tableau (<th>). Les tableaux qui comportent des en-têtes mais aucune cellule de données ne fournissent pas de relations significatives pour les technologies d'assistance et peuvent semer la confusion chez les utilisateurs de lecteurs d'écran.
Dans votre code HTML, repérez les éléments de tableau signalés qui contiennent des éléments <th> mais aucun élément <td> correspondant.
Modifiez la structure du tableau de manière à garantir que :
Chaque tableau comprend un ou plusieurs éléments
<td>contenant des données.Les éléments
<th>sont utilisés uniquement lorsqu'ils décrivent de véritables données de tableau.Les tableaux utilisés uniquement pour la mise en page ou la présentation ne comprennent pas d'éléments
<th>.Si le tableau ne contient pas de données, supprimez-le ou remplacez-le par un balisage autre qu'un tableau.
Exemple
<!-- Incorrect -->
<table>
<tr>
<th scope="col">Name</th>
</tr>
</table>
<!-- Correct -->
<table>
<tr>
<th scope="col">Name</th>
</tr>
<tr>
<td>John</td>
</tr>
</table>
Correction du regroupement ARIA incorrect pour le rôle « group »
Une utilisation appropriée des rôles ARIA aide les lecteurs d'écran à comprendre la structure de la page, ce qui permet aux personnes en situation de handicap de naviguer plus facilement dans le contenu et d'interagir avec celui-ci.
Dans le code HTML, repérez l'élément doté de
role="group".Dans l'élément, incluez au moins un élément de contrôle interactif (p. ex.
<input>,<textarea>ou<select>).
Remarque : En savoir plus sur les contrôles interactifs à inclure. S'il n'y a aucun contrôle interactif approprié, envisagez de remplacerrole="group"par un rôle ou une structure ARIA plus appropriés.
Exemple
<!-- Incorrect -->
<div role="group">
<p>This is a group with no interactive elements.</p>
</div>
<!-- Correct -->
<div role="group">
<label for="username">Username:</label>
<input id="username" type="text">
</div>
Correction du regroupement ARIA incorrect pour le rôle « radiogroup »
Une utilisation appropriée des rôles ARIA aide les lecteurs d'écran à comprendre la structure de la page, ce qui permet aux personnes en situation de handicap de naviguer plus facilement dans le contenu et d'interagir avec celui-ci.
Dans le code HTML, repérez l'élément doté de
role="radiogroup".Dans l'élément, incluez au moins un élément bouton radio (p. ex.
<input type="radio">ourole="radio").
Exemple
<!-- Incorrect -->
<div role="radiogroup">
<p>Select a delivery method:</p>
</div>
<!-- Correct -->
<div role="radiogroup" aria-label="Select a delivery method">
<label><input type="radio" name="delivery" value="standard"> Standard </label><br>
<label><input type="radio" name="delivery" value="express"> Express </label><br>
<label><input type="radio" name="delivery" value="overnight"> Overnight</label>
</div>
Correction du regroupement ARIA incorrect pour le rôle « checkbox »
Une utilisation appropriée des rôles ARIA aide les lecteurs d'écran à comprendre la structure de la page, ce qui permet aux personnes en situation de handicap de naviguer plus facilement dans le contenu et d'interagir avec celui-ci.
Dans le code HTML, repérez
<input type="checkbox">ou un élément doté derole="checkbox".Placez les cases à cocher dans un conteneur et attribuez-lui
role="group".Ajoutez un attribut
aria-labelledbyouaria-labelà l'élément doté derole="checkbox"pour décrire l'objectif du groupe de cases à cocher.
Exemple
<!-- Incorrect -->
<div><label><input type="checkbox" id="news"> Newsletter</label><br>
<label><input type="checkbox" id="updates"> Product Updates</label><br>
<label><input type="checkbox" id="offers"> Special Offers</label>
</div>
<!-- Correct -->
<div role="group" aria-labelledby="emailPref">
<p id="emailPrefsLabel">Which types of emails would you like to receive?</p>
<label><input type="checkbox" id="news"> Newsletter</label><br>
<label><input type="checkbox" id="updates"> Product Updates</label><br>
<label><input type="checkbox" id="offers"> Special Offers</label>
</div>
Correction du regroupement ARIA incorrect pour le rôle « radio »
Une utilisation appropriée des rôles ARIA aide les lecteurs d'écran à comprendre la structure de la page, ce qui permet aux personnes en situation de handicap de naviguer plus facilement dans le contenu et d'interagir avec celui-ci.
Dans le code HTML, repérez
<input type="radio">ou un élément doté derole="radio".Regroupez les boutons radio dans l'élément doté de
role="radiogroup".Ajoutez un attribut
aria-labelledbyouaria-labelà l'élément pour décrire l'objectif du groupe de boutons radio.
Exemple
<!-- Incorrect -->
<label><input type="radio" name="contact"> Email</label><br>
<label><input type="radio" name="contact"> Phone</label><br>
<label><input type="radio" name="contact"> Text Message</label>
</div>
<!-- Correct -->
<div role="radiogroup" aria-labelledby="contactMethod">
<p id="contactMethodLabel">How would you like us to contact you?</p>
<label><input type="radio" name="contact"> Email</label><br>
<label><input type="radio" name="contact"> Phone</label><br>
<label><input type="radio" name="contact"> Text Message</label>
</div>
Correction de l'attribut aria-level manquant sur les rôles de titre
Les rôles de titre ARIA doivent comporter un niveau de titre défini pour plus de clarté.
Dans le code HTML, repérez l'élément doté de l'attribut
role="heading".Après l'attribut
role, ajoutez l'attributaria-levelavec une valeur comprise entre 1 et 6 (p. ex.aria-level="2").
Exemple
<!-- Incorrect -->
<div role="heading">Subsection Title</div>
<!-- Correct -->
<div role="heading" aria-level="2">Subsection Title</div>
Correction des en-têtes de tableau manquants
Les en-têtes de tableau aident les lecteurs d'écran à comprendre la signification de chaque colonne ou ligne. Si un tableau n'a pas d'en-têtes, les technologies d'assistance ne peuvent pas fournir le bon contexte aux utilisateurs.
Dans votre code HTML, repérez l'élément
<table>et identifiez la première ligne. Cette ligne doit définir les en-têtes du tableau (p. ex. « Nom », « Âge », etc.).Si la première ligne utilise des éléments
<td>(données de tableau), remplacez chaque<td>par un<th>(en-tête de tableau) pour indiquer que ces cellules sont des en-têtes.Ajoutez
scope="col"à chaque élément<th>s'il s'agit d'un en-tête de colonne, ouscope="row"s'il s'agit d'un en-tête de ligne.
Exemple
<!-- Incorrect -->
<table>
<tr>
<td>Name</td>
<td>Age</td>
</tr>
<tr>
<td>Ava</td>
<td>25</td>
</tr>
</table>
<!-- Correct -->
<table>
<tr>
<th scope="col">Name</th>
<th scope="col">Age</th>
</tr>
<tr>
<td>Ava</td>
<td>25</td>
</tr>
</table>
Correction des associations de cellules de données manquantes dans les listes
Les listes utilisées pour présenter des données structurées devraient plutôt utiliser un tableau afin que les lecteurs d'écran puissent associer clairement les données aux en-têtes.
Dans le code HTML, repérez les éléments
<ul>et<ol>qui présentent des données avec des étiquettes et des valeurs.Remplacez la structure
<ul>ou<ol>par l'élément<table>.Ajoutez les éléments
<th>pour les en-têtes et<td>pour les valeurs.Dans
<th>, ajoutez l'attributscope="col"pour indiquer les en-têtes de colonne.
Exemple
<!-- Incorrect -->
<ul>
<li><strong>Name:</strong> Ava</li>
<li><strong>Age:</strong> 25</li>
</ul>
<!-- Correct -->
<table>
<tr>
<th scope="col">Name</th>
<th scope="col">Age</th>
</tr>
<tr>
<td>Ava</td>
<td>25</td>
</tr>
</table>
Correction de la structure de liste incorrecte
Veiller à ce que les éléments de liste soient placés dans un élément de liste aide les lecteurs d'écran à identifier correctement le contenu regroupé.
Dans le code HTML, repérez les éléments
<li>qui ne sont pas contenus dans un élément<ul>ou<ol>.Placez les éléments
<li>dans un élément<ul>(pour une liste à puces) ou<ol>(pour une liste numérotée).
Exemple
<!-- Incorrect -->
<li>First item</li>
<li>Second item</li>
<!-- Correct -->
<ul>
<li>First item</li>
<li>Second item</li>
</ul>Correction des attributs scope non valides sur les en-têtes de tableau
L'attribut scope associe les en-têtes de tableau aux cellules de données. L'utilisation de valeurs incorrectes ou leur omission peut rendre les tableaux plus difficiles à interpréter pour les utilisateurs de lecteurs d'écran.
Dans votre code HTML, repérez l'élément
<th>dont la valeur d'attributscopeest non valide ou manquante.-
Remplacez ou ajoutez la valeur
scopeselon le type d'en-tête :Utilisez
scope="col"pour les en-têtes de colonne.Utilisez
scope="row"pour les en-têtes de ligne.
Remarque : Pour les en-têtes à plusieurs niveaux, utilisez rowgroup ou colgroup si un regroupement s'applique.
Exemple
<!-- Incorrect -->
<th scope="column">Course</th>
<!-- Correct -->
<th scope="col">Course</th>Correction de l'absence de parent pour les éléments de définition
Les termes de définition et leurs descriptions doivent être placés dans une liste de définitions afin d'aider les lecteurs d'écran à identifier correctement le contenu de définition.
Dans le code HTML, repérez l'élément
<dt>ou<dd>.Placez l'élément
<dt>ou<dd>dans un conteneur<dl>.
Exemple
<!-- Incorrect -->
<dt>HTML</dt>
<dd>A markup language</dd>
<!-- Correct -->
<dl>
<dt>HTML</dt>
<dd>A markup language</dd>
</dl>Correction de la légende manquante dans un fieldset
Chaque élément <fieldset> devrait commencer par un élément <legend> qui décrit à quoi servent les champs de formulaire regroupés. Cela aide les utilisateurs de lecteurs d'écran à comprendre l'objectif du groupe.
Dans le code HTML, repérez l'élément
<fieldset>dans votre formulaire.Ajoutez un élément
<legend>comme premier élément dans l'élément<fieldset>.Rédigez dans l'élément
<legend>une étiquette brève et descriptive indiquant à quoi servent les champs du groupe de formulaire.
Exemple
<!-- Incorrect --> <fieldset><label for="name">Name:</label><input id="name" type="text"></fieldset>
<!-- Correct --> <fieldset><legend>Personal Information</legend><label for="name">Name:</label><input id="name" type="text"></fieldset>
1.3.4 Orientation
Correction des problèmes d'orientation de l'application Web mobile Apple
Verrouiller une application Web en mode portrait ou paysage peut compliquer l'accès au contenu pour certains utilisateurs, en particulier ceux qui dépendent d'une orientation d'appareil précise. La balise meta apple-mobile-web-app-orientation devrait être configurée de manière à autoriser toutes les orientations.
- Dans votre code HTML, repérez la balise
<meta>dotée de l'attributname="apple-mobile-web-app-orientation". - Remplacez la valeur de l'attribut
content=”portrait”oucontent=”landscape”parcontent=”any”. - Enregistrez vos modifications et rechargez la page.
Exemple
<meta name="apple-mobile-web-app-orientation" content="any">
Correction des problèmes d'orientation liés à la balise meta viewport
Les paramètres de la fenêtre d'affichage (viewport) qui verrouillent l'orientation de l'écran ou désactivent le zoom peuvent rendre la lecture et l'interaction avec le contenu plus difficiles. Autoriser les orientations portrait et paysage, ainsi que le zoom, offre aux utilisateurs la souplesse dont ils ont besoin selon leur appareil et leurs besoins personnels.
- Dans votre code HTML, repérez la balise
meta name="viewport". - Supprimez tous les attributs liés aux restrictions d'orientation, comme
orientation=portraitouorientation=landscape. - Supprimez tous les attributs qui empêchent le zoom, comme
maximum-scale=1ouuser-scalable=no. - Enregistrez vos modifications et rechargez la page.
Exemple
<!-- Incorrect -->
<meta name="viewport" content="width=device-width, maximum-scale=1, orientation=portrait">
<!-- Correct-->
<meta name="viewport" content="width=device-width">
Correction des problèmes d'orientation CSS
Les requêtes média CSS qui verrouillent le contenu en mode portrait ou paysage peuvent limiter la façon dont les utilisateurs interagissent avec une page. La suppression de ces restrictions permet au contenu de s'adapter aux deux orientations.
- Dans votre code CSS, repérez les requêtes média qui limitent l'orientation, comme :
@media screen and (orientation: portrait){ … }@media screen and (orientation: landscape) { … }
- Supprimez ces requêtes média propres à l'orientation afin que le contenu puisse s'adapter librement aux deux orientations.
- Enregistrez vos modifications et rechargez la page.
Exemple :
<!-- Incorrect -->
@media screen and (orientation: portrait) {
.container {
width: 400px;
}
}
<!-- Correct-->
.container {
width: 400px;
1.3.5 Identifier la finalité de la saisie
Correction des valeurs autocomplete non valides dans les champs de formulaire
Les champs de formulaire doivent indiquer clairement le type d'information attendu. Cela aide les navigateurs à remplir automatiquement les données et soutient les utilisateurs ayant des déficiences cognitives ou motrices.
Dans votre code HTML, repérez chaque champ de formulaire (p. ex.
<input>,<textarea>ou<select>) dont la valeurautocompleten'est pas valide.Mettez à jour l'attribut
autocompleteavec la valeur correcte correspondant aux données attendues (p. ex."email","name","postal-code").
Remarque : En savoir plus sur une liste de valeurs autocomplete correctes.
Exemple
<!-- Incorrect -->
<input type="text" name="full_name" autocomplete="fullname">
<!-- Correct-->
<input type="text" name="full_name" autocomplete="name">Correction de l'attribut autocomplete manquant dans les champs de formulaire
Les champs de formulaire doivent comporter un attribut autocomplete afin d'aider les navigateurs à remplir automatiquement les données et d'améliorer l'accessibilité pour les utilisateurs ayant des déficiences cognitives ou motrices.
Dans votre code HTML, repérez chaque champ de formulaire (p. ex.
<input>,<textarea>ou<select>) qui collecte les données de l'utilisateur.Dans chaque élément, ajoutez l'attribut
autocompleteavec la valeur correcte correspondant aux données attendues (p. ex."email","name","postal-code").
<!-- Incorrect --> <input type="text" name="full_name"> <!-- Correct--> <input type="text" name="full_name" autocomplete="name">
1.4.1 Utilisation de la couleur
Correction de l'absence de style distinctif pour les liens
Lorsque la couleur est le seul moyen de distinguer un lien, certains utilisateurs, comme les personnes daltoniennes, peuvent ne pas le reconnaître comme un lien. L'ajout d'un style supplémentaire, comme le soulignement ou le texte en gras, aide à faire ressortir clairement les liens.
Dans votre code HTML, repérez l'élément
<a>.-
Ajoutez à l'élément
<a>des attributs pour inclure des repères visuels autres que la couleur, comme :text-decoration: underlinefont-weight: bold
border-bottom
Remarque : Vous pouvez utiliser des classes CSS ou des feuilles de style externes pour appliquer un style uniforme à tous les liens de votre site.
Exemple
<!-- Incorrect -->
<a href="features.html" style="color: blue;">View Features</a>
<!-- Correct -->
<a href="features.html" style="color: blue; text-decoration: underline;">View Features</a>1.4.2 Contrôle du son
Correction des commandes audio manquantes dans les lecteurs audio
Lorsque le son se déclenche automatiquement, les utilisateurs ont besoin d'un moyen de contrôler la lecture. L'ajout de commandes audio permet aux utilisateurs de mettre en pause, d'arrêter ou de régler le volume, ce qui est important pour l'accessibilité et l'expérience utilisateur.
Dans votre code HTML, repérez l'élément
<audio>.Ajoutez l'attribut
controlsdirectement à l'élément<audio>pour activer les commandes intégrées du navigateur.
Remarque : Assurez-vous que l'attribut n'est pas vide et n'a pas de valeur.
Exemple
<!-- Incorrect -->
<audio src="welcome-message.mp3" autoplay></audio>
<!-- Correct -->
<audio src="welcome-message.mp3" autoplay controls></audio>
1.4.3 Contraste (minimum)
Correction des problèmes de contraste insuffisant dans le texte
Un faible contraste de couleur entre le texte et l'arrière-plan peut rendre le contenu difficile à lire, en particulier pour les utilisateurs ayant une déficience visuelle. L'amélioration du contraste aide tout le monde à accéder plus facilement au contenu.
Dans votre code HTML, repérez l'élément qui contient du texte (p. ex.
p,h1,span,button).Vérifiez la couleur actuelle du texte et celle de l'arrière-plan à l'aide d'un outil de vérification du contraste des couleurs, comme WebAIM Contrast Checker.
-
Assurez-vous que le rapport de contraste respecte les valeurs suivantes :
Au moins 4,5:1 pour le texte standard.
Au moins 3,0:1 pour le texte de grande taille (18 pt ou 14 pt en gras).
Si le rapport de contraste est trop faible, ajustez la couleur du texte ou celle de l'arrière-plan jusqu'à atteindre le rapport de contraste minimal.
Exemple
<!-- Incorrect -->
<p style="color: #888; background-color: #fff;">Schedule a demo</p>
<!-- Correct -->
<p style="color: #000; background-color: #fff;">Schedule a demo</p>1.4.6 Contraste (amélioré)
Le texte doit présenter un contraste plus élevé avec son arrière-plan afin d'être plus facile à lire pour les personnes ayant une basse vision.
Correction des problèmes de contraste amélioré dans le texte
Certains utilisateurs ont besoin d'un contraste plus marqué pour lire confortablement le texte. Un contraste amélioré garantit que le texte reste lisible même dans des conditions visuelles difficiles.
Dans votre code HTML, repérez l'élément contenant du texte (p. ex.
h2,div,label,input, etc.).Vérifiez le rapport de contraste entre la couleur du texte et l'arrière-plan à l'aide d'un outil de vérification du contraste, comme WebAIM Contrast Checker.
-
Confirmez que le rapport respecte les normes de contraste amélioré :
Au moins 7:1 pour le texte standard
Au moins 4,5:1 pour le texte de grande taille (18 pt ou 14 pt en gras)
Ajustez les couleurs au besoin pour atteindre ces niveaux de contraste amélioré.
Exemple
<!-- Incorrect -->
<h2 style="color: #aaa; background-color: #fff;">Explore Our Features</h2>
<!-- Correct -->
<h2 style="color: #000; background-color: #fff;">Explore Our Features</h2> demo</p>1.4.8 Présentation visuelle
Correction de l'interligne insuffisant dans les paragraphes
Un interligne et un espacement de paragraphe appropriés améliorent la lisibilité, en particulier pour les utilisateurs dyslexiques ou ayant une basse vision.
Repérez l'élément
<p>dans votre code HTML.Dans le CSS de l'élément
<p>, repérez la propriété CSSline-heightet définissez-la à au moins 1,5 fois la taille de la police.
Remarque : Vous pouvez le faire à l'aide de styles en ligne ou d'une classe CSS.Dans le CSS de l'élément
<p>, repérez la propriété CSSmargin-bottomet définissez-la à au moins 1,5 fois la hauteur de ligne (par exemple1.5em).
Exemple
<!-- Incorrect -->
<p style="line-height: 1.2; margin-bottom: 0.8em;">This is a sample paragraph.</p>
<!-- Correct -->
<p style="line-height: 1.5; margin-bottom: 1.5em;">This is a sample paragraph.</p>
Correction du texte justifié dans les paragraphes
Un texte entièrement justifié peut créer un espacement inégal entre les mots, ce qui le rend plus difficile à lire pour certains utilisateurs, en particulier ceux ayant des déficiences cognitives ou visuelles.
Dans votre code HTML, repérez l'élément
<p>.Dans le CSS de l'élément
<p>, vérifiez sitext-align: justify;est appliqué.Supprimez la valeur
justifyet définissez plutôt l'alignement àleft.
Remarque : Vous pouvez aussi le faire à l'aide de styles en ligne ou d'une classe CSS.
Exemple
<!-- Incorrect -->
<p style="text-align: justify;">This is a sample paragraph.</p>
<!-- Correct -->
<p style="text-align: left;">This is a sample paragraph.</p>Correction des tailles de police absolues dans les paragraphes
L'utilisation d'unités absolues (p. ex. px, pt ou cm) pour les tailles de police peut rendre le texte difficile à redimensionner et poser problème aux utilisateurs ayant une basse vision ou à ceux qui utilisent des loupes d'écran pour lire. Pour assurer une meilleure accessibilité sur différents appareils et tailles d'écran, les tailles de police devraient être définies en unités relatives (p. ex. em, rem, % ou vw).
Dans votre code HTML, repérez l'élément
<p>.Dans le style CSS de l'élément
<p>, repérez l'attributfont sizequi utilise des unités absolues (p. ex.px,pt,cm).Remplacez les unités absolues par des unités relatives (p. ex.
em,rem,%) en modifiant les styles en ligne ou la classe CSS correspondante.
Exemple
<!-- Incorrect --> <p style="font-size: 16px;">Welcome to our website! Enjoy exploring our features.</p> <!-- Correct --> <p style="font-size: 1rem;">Welcome to our website! Enjoy exploring our features.</p>
Correction des hauteurs de ligne absolues dans les paragraphes
Définir la hauteur de ligne avec des unités absolues (comme px, pt ou cm) peut causer des problèmes lorsque les utilisateurs tentent d'ajuster le texte pour mieux le lire, en particulier ceux ayant une déficience visuelle. Pour assurer une meilleure accessibilité à différents utilisateurs, les hauteurs de ligne devraient être définies à l'aide d'unités relatives (comme em, rem ou %).
Dans votre code HTML, repérez l'élément
<p>.Dans le CSS de l'élément
<p>, repérez la hauteur de ligne qui utilise des unités absolues (p. ex.px,pt,cm).Remplacez ses valeurs en unités absolues par des unités relatives (p. ex.
em,remou%) en modifiant les styles en ligne ou la classe CSS correspondante.
Exemple
<!-- Incorrect --> <p style="line-height: 24px;">The counseling center offers free sessions for all students.</p> <!-- Correct --> <p style="line-height: 1.5em;">The counseling center offers free sessions for all students.</p>
1.4.10 Redistribution du contenu
Le contenu doit s'ajuster et se réorganiser automatiquement pour rester pleinement utilisable et lisible sur des écrans étroits, jusqu'à 320 pixels de largeur.
Correction des problèmes de restriction de la fenêtre d'affichage
Définir correctement les propriétés de la fenêtre d'affichage permet au contenu de s'afficher correctement sur toutes les tailles d'écran sans obliger les utilisateurs à faire défiler horizontalement.
Dans votre code HTML, accédez à la section
<head>de la page.Dans la section
<head>, ajoutez la balise<meta name="viewport">.Si une balise
<meta name="viewport">est déjà présente mais contient des paramètres restrictifs, mettez à jour son attributcontentaveccontent="width=device-width, initial-scale=1".
Exemple
<!-- Incorrect -->
<meta name="viewport" content="width=500">
<!-- Correct -->
<meta name="viewport" content="width=device-width, initial-scale=1">1.4.11 Contraste du contenu non textuel
Correction des problèmes de faible contraste des contrôles
Un faible contraste sur les composants d'interface utilisateur et les éléments graphiques peut compliquer leur repérage et leur utilisation pour les utilisateurs ayant une basse vision. Les composants comme les boutons, les champs de saisie et les menus de sélection doivent avoir un rapport de contraste d'au moins 3:1 par rapport aux couleurs adjacentes.
- Dans votre code HTML, repérez le composant d'interface utilisateur qui a été signalé, comme un élément
select,textareaouinput. - Modifiez les styles CSS du composant afin que sa bordure, son arrière-plan et la couleur de son texte aient un rapport de contraste d'au moins 3:1 avec les couleurs adjacentes.
Exemple :
<input type="text" style="border: 1px solid #333;">
1.4.12 Espacement du texte
Le contenu doit rester facile à lire et fonctionner correctement lorsque les utilisateurs augmentent l'espacement entre les lettres, les mots et les lignes jusqu'aux valeurs minimales standard.
Correction de l'espacement des lettres inaccessible
Un espacement des lettres accessible aide les utilisateurs ayant des déficiences visuelles ou cognitives à lire le texte plus confortablement.
Dans votre code HTML, repérez l'élément dont le CSS contrôle l'espacement des lettres (p. ex.
<span style="letter-spacing: 0.08em !important;">).Supprimez
!importantde la valeurletter-spacings'il est utilisé.Définissez la valeur
letter-spacingà au moins0.12em.
Exemple :
<!-- Incorrect -->
<span style="letter-spacing: 0.08em !important;">Inaccessible letter spacing example.</span>
<!-- Correct -->
<span style="letter-spacing: 0.12em;">Accessible letter spacing example.</span>Correction de l'espacement des mots inaccessible
Un espacement des mots approprié améliore la lisibilité pour les utilisateurs qui ont besoin d'un espacement ajusté pour plus de clarté.
Dans votre code HTML, repérez l'élément dont le CSS contrôle l'espacement des mots (p. ex.
<p style="word-spacing: 0.1em !important;">).Supprimez
!importantde la valeurword-spacings'il est utilisé.Définissez la valeur
word-spacingà au moins0.16em.
Exemple
<!-- Incorrect -->
<p style="word-spacing: 0.1em !important;">Inaccessible word spacing example.</p>
<!-- Correct -->
<p style="word-spacing: 0.16em;">This is an example paragraph with accessible word spacing.</p>Correction de la hauteur de ligne inaccessible
Une hauteur de ligne accessible améliore la lisibilité et aide les utilisateurs à parcourir plus facilement les blocs de texte.
Dans votre code HTML, repérez l'élément dont le CSS contrôle la hauteur de ligne (p. ex.
<div style="line-height: 1.2 !important;">).Supprimez
!importantde la valeurline-heights'il est utilisé.Définissez la valeur
line-heightà au moins1.5.
Exemple
<!-- Incorrect -->
<div style="line-height: 1.2 !important;">Inaccessible line height example.</div>
<!-- Correct -->
<div style="line-height: 1.5;">This block of text has accessible line height.</div>2.1.1 Clavier
Toutes les fonctionnalités et tous les contrôles doivent pouvoir être utilisés au clavier seul, sans qu'il soit nécessaire d'appuyer rapidement sur les touches ni dans un délai précis.
Correction des zones défilantes inaccessibles
Toutes les parties d'une page défilante doivent pouvoir être utilisées au clavier. Les utilisateurs qui naviguent au clavier peuvent ainsi faire défiler la page et accéder au contenu.
Dans votre code HTML, repérez le conteneur défilant (p. ex.
<div>ou<section>avecoverflow: autoouoverflow: scrollen CSS).Dans l'élément défilant, repérez ou ajoutez l'attribut
tabindex.Définissez
tabindex="0"pour que la zone défilante puisse recevoir le focus au clavier.
Exemple
<!-- Incorrect -->
<div style="overflow: auto; height: 200px;">
<p>This content cannot be scrolled using the keyboard.</p>
</div>
<!-- Correct -->
<div style="overflow: auto; height: 200px;" tabindex="0">
<p>This content can now be scrolled using the keyboard.</p>
</div>Correction des cadres en ligne inaccessibles
Les cadres en ligne ne devraient pas utiliser de valeurs tabindex négatives, car cela empêche les utilisateurs au clavier d'y accéder.
Dans votre code HTML, repérez l'élément de cadre en ligne (
<iframe>).Dans l'élément
<iframe>, repérez l'attributtabindex.Supprimez toute valeur tabindex négative (p. ex.
tabindex="-1") et remplacez-la partabindex="0"pour le rendre accessible au clavier.
Exemple
<!-- Incorrect -->
<iframe src="video.html" tabindex="-1"></iframe>
<!-- Correct -->
<iframe src="video.html" tabindex="0"></iframe>2.2.1 Réglage du délai
Correction des changements de contenu temporisé contrôlés par l'utilisateur
Pour assurer l'accessibilité, le contenu qui s'actualise automatiquement doit pouvoir être contrôlé par l'utilisateur ou être signalé de façon adéquate, afin de lui permettre d'ajuster la fréquence d'actualisation.
Dans votre code HTML, repérez l'élément
<meta>dans l'élément<body>.
Remarque : Si l'élément<meta>n'existe pas, ajoutez une nouvelle balise<meta>.Ajoutez un attribut
http-equiv="refresh"à l'élément<meta>.Si l'élément
<meta>existe mais que le délai d'actualisation est trop court, ajustez l'attributcontentpour définir un intervalle d'actualisation plus long (p. ex.content="72000").
Exemple
<!-- Incorrect -->
<meta http-equiv="refresh" content="5">
<!-- Correct -->
<meta http-equiv="refresh" content="72000">2.2.2 Pause, arrêt, masquage
Correction des balises obsolètes dans le contenu
Pour promouvoir des pratiques Web modernes et accessibles, évitez d'utiliser des éléments HTML obsolètes, comme <blink> et <marquee>, car ils ne sont pas pris en charge par de nombreuses technologies d'assistance et peuvent causer des problèmes d'accessibilité.
Dans votre code HTML, repérez toutes les balises obsolètes, comme
<blink>ou<marquee>.Remplacez la balise
<blink>ou<marquee>par une solution de rechange plus accessible, comme une balise<span>, et appliquez le CSS approprié pour l'animation ou la mise en forme.
Exemple
<!-- Incorrect -->
<blink>Registration ends soon!</blink>
<marquee>Scrolling announcement</marquee>
<!-- Correct -->
<span style="animation: blink-animation 1s infinite;">Registration ends soon!</span>
<div style="animation: scroll-left 10s linear infinite;">Scrolling announcement</div>2.4.1 Contourner des blocs
Correction du mécanisme de contournement manquant
Un lien « Passer au contenu principal » aide les utilisateurs à sauter les éléments de navigation répétitifs et à accéder directement au contenu central de la page.
Dans votre code HTML, repérez l'élément
<body>.Juste après la balise d'ouverture
<body>, ajoutez une balise<a>et utilisez l'attributhrefpour pointer vers la section de contenu principal (l'élément<main>). Ce lien permet aux utilisateurs de sauter la navigation et d'accéder directement au contenu principal.
Remarque : Vous pouvez utiliser une référence d'ID vers la section de contenu principal (p. ex. id="main-content") pour faciliter la navigation.
Exemple
<!-- Incorrect -->
<body>
<nav>...</nav>
<main id="main-content">...</main>
</body>
<!-- Correct -->
<body>
<a href="#main-content">Skip to main content</a>
<nav>...</nav>
<main id="main-content">...</main>
</body>2.4.2 Titre de page
Correction des titres de page manquants
Un titre descriptif aide les utilisateurs à comprendre l'objectif de la page et facilite la navigation, en particulier pour les utilisateurs de lecteurs d'écran.
Dans votre code HTML, repérez la section
<head>de la page.Ajoutez un élément
<title>dans l'élément<head>.Saisissez un titre clair et descriptif pour la page dans la balise
<title>.
Exemple
<!-- Incorrect -->
<head>
</head>
<!-- Correct -->
<head>
<title>Contact Us - YuJa Inc.</title>
</head>2.4.3 Parcours du focus
Les utilisateurs de clavier doivent pouvoir parcourir le contenu dans un ordre clair et logique qui a du sens.
Correction de l'ordre de focus incorrect
L'ordre de focus garantit que les éléments interactifs sont accessibles selon une séquence logique et intuitive pour les utilisateurs de clavier.
Dans votre code HTML, repérez l'élément interactif signalé (p. ex.
<a>,<button>,<input>, etc.).Vérifiez son ordre dans le code HTML et assurez-vous qu'il suit une séquence logique, du haut de la page ou de la section vers le bas, sans omettre d'élément important. En savoir plus sur l'ordre de focus.
Remarque :
Si certains éléments ne suivent pas l'ordre de focus souhaité, modifiez leurs valeurs
tabindexafin d'obtenir une séquence de focus correcte.Si vous rendez un élément personnalisé focalisable (comme un élément
<div>ou<span>), utiliseztabindex="0"pour l'inclure dans l'ordre de tabulation naturel.
Exemple
<!-- Incorrect-->
<button>Start</button>
<input type="text" placeholder="First Name" tabindex="3">
<input type="text" placeholder="Last Name" tabindex="1">
<button>Submit</button>
<!-- Correct-->
<button>Start</button>
<input type="text" placeholder="First Name" tabindex="1">
<input type="text" placeholder="Last Name" tabindex="2">
<button>Submit</button>2.4.4 Fonction du lien (selon le contexte)
La fonction de chaque lien doit être évidente d'après le texte du lien lui-même ou d'après les informations qui l'entourent.
Correction des descriptions de lien manquantes
Chaque lien doit décrire clairement sa fonction afin que les utilisateurs comprennent ce qui se produira lorsqu'ils l'activeront.
Dans votre code HTML, repérez l'élément utilisé comme lien (p. ex.
<a>,<input>ou<button>avec une action de lien).Remplacez le texte de lien vague (p. ex. « Cliquez ici » ou « Plus ») par un texte court et descriptif qui explique la destination ou l'action.
Remarque : Si le lien utilise des icônes ou des images, ajoutez un nom accessible à l'aide de l'attributaria-labeloutitle.
Exemple
<!-- Incorrect -->
<a href="/reports">Report</a>
<!-- Correct -->
<a href="/reports">View quarterly reports</a>
2.4.5 Accès multiples
Correction du problème de l'absence de plusieurs méthodes de navigation
Les pages devraient offrir plus d'un moyen aux utilisateurs de trouver le contenu. Les options courantes comprennent les repères de navigation, une fonction de recherche ou un lien « Passer la navigation ». L'ajout d'au moins deux méthodes aide les utilisateurs ayant des besoins différents à naviguer plus facilement dans la page.
- Dans votre code HTML, ajoutez un autre moyen permettant aux utilisateurs de trouver le contenu, de l'une des façons suivantes :
-
-
En ajoutant un repère de navigation pour identifier la région de navigation principale.
<nav> <ul> <li><a href="/home">Home</a></li> <li><a href="/courses">Courses</a></li> <li><a href="/contact">Contact</a></li> </ul> </nav> -
En ajoutant un repère de recherche à la fonction de recherche, s'il y en a une.
<form role="search"> <label for="search">Search</label> <input id="search" type="text" name="q"> <button type="submit">Go</button> </form> -
En ajoutant un lien « Passer la navigation » en haut de votre page afin que les utilisateurs puissent contourner le contenu répété.
<a href="#maincontent" class="skip-link">Skip to main content</a>
-
-
- Enregistrez vos modifications et rechargez la page.
2.4.6 Titres et étiquettes
Correction des étiquettes manquantes sur les champs de formulaire
Les champs de formulaire ont besoin d'étiquettes descriptives afin que les utilisateurs comprennent quelle information ils doivent saisir.
Dans votre code HTML, repérez l'élément
<form>et ses champs (p. ex.<input>,<textarea>).Pour chaque champ, ajoutez un élément
<label>avant celui-ci.Dans l'élément
<label>, incluez un attributfor=""dont la valeur correspond à l'identifiant (id) du champ de formulaire correspondant.
Exemple
<!-- Incorrect -->
<input type="email" id="email" name="email" />
<!-- Correct -->
<label for="email">Email address</label> <input type="email" id="email" name="email" />rly reports</a>Correction des boutons sans étiquette
Les boutons doivent avoir des étiquettes claires qui indiquent l'action qu'ils exécutent. Les étiquettes accessibles permettent aux utilisateurs de lecteurs d'écran de comprendre la fonction du bouton.
Dans votre code HTML, repérez l'élément
<button>.Dans l'élément
<button>, ajoutez un attributaria-label.Dans l'attribut
aria-label, saisissez une courte description qui communique la fonction du bouton.
Exemple
<!-- Incorrect -->
<button>Close</button>
<!-- Correct -->
<button aria-label="Close window">Close</button>2.4.8 Localisation
Correction des indicateurs d'emplacement de page manquants
Les pages devraient offrir aux utilisateurs un moyen de comprendre leur emplacement dans le site ou l'application. Pour ce faire, on peut ajouter des fils d'Ariane, des liens de plan du site, des indicateurs de page courante ou des liens relationnels.
- Dans votre code HTML, repérez la section où se trouvent les éléments de navigation ou où la structure de la page est définie (p. ex. les éléments à l'intérieur d'un élément
navouheader, ou près du début de l'élémentbodyde la page). - Ajoutez un indicateur d'emplacement de page à vos éléments de navigation, de l'une des façons suivantes :
-
Ajout d'un fil d'Ariane : Insérez un élément
navavec une liste ordonnée indiquant le chemin vers la page courante. Il s'agit d'une aide à la navigation qui montre aux utilisateurs le chemin qu'ils ont suivi pour atteindre leur emplacement actuel.<nav aria-label="Breadcrumb"> <ol> <li><a href="/home">Home</a></li> <li><a href="/courses">Courses</a></li> <li aria-current="page">Course Details</li> </ol> </nav> -
Ajout d'un lien de plan du site : Placez le lien du plan du site dans l'élément
footerde votre code HTML.<footer> <a href="/sitemap">Sitemap</a> </footer> -
Ajout d'un indicateur de page courante : Repérez la balise
ade la page active et ajoutez-y l'attributaria-current="page".<nav> <ul> <li><a href="/home">Home</a></li> <li><a href="/about" aria-current="page">About</a></li> </ul> -
Ajout de liens relationnels : Repérez la section
headde votre code HTML et insérez des élémentslinkpour les pages précédente, suivante ou parente.<link rel="prev" href="/chapter-1"> <link rel="next" href="/chapter-3"> <link rel="up" href="/table-of-contents">
-
- Confirmez qu'au moins un indicateur d'emplacement est présent.
- Enregistrez vos modifications et rechargez la page.
2.4.9 Fonction du lien (lien uniquement)
Correction des problèmes de fonction des liens
Les liens qui ont le même nom accessible (le texte du lien ou son étiquette aria-label) devraient mener à la même destination. Si deux liens se ressemblent mais mènent à des endroits différents, les utilisateurs risquent d'être confus.
- Dans votre code HTML, repérez les liens signalés pour avoir le même texte de lien ou le même aria-label.
- Résolvez le problème en suivant l'une des options ci-dessous :
-
Si les liens doivent pointer vers la même destination, repérez la balise
ade ces liens, puis mettez à jour leurs valeurshrefpour qu'elles soient identiques.<a href="/about">Read more</a> <a href="/about">Read more</a> -
Si les liens doivent pointer vers des destinations différentes, modifiez le texte du lien ou l'attribut
aria-labelafin qu'il décrive clairement chaque objectif.<a href="/about">Read more about us</a> <a href="/contact">Read more about contacting us</a>
-
- Enregistrez vos modifications et rechargez la page.
2.4.10 Titres de section
Correction des titres manquants sur la page
Les titres aident les utilisateurs à comprendre la structure d'une page. Sans titres bien structurés, il peut être difficile pour les personnes qui utilisent des technologies d'assistance de naviguer dans le contenu et de le comprendre.
- Dans votre code HTML, repérez la zone de contenu principal de la page (p. ex. l'élément
body). -
Ajoutez des éléments de titre qui décrivent le sujet principal de la page.
Remarque : Chaque page devrait commencer par au moins un élémenth1. Si la page comporte plusieurs sections, ajoutez des titres de niveau inférieur (p. ex.h2,h3,h4).<h1>Course Overview</h1> <h2>Course Objectives</h2> <h2>Course Materials</h2> <h3>Required Readings</h3> <h3>Optional Resources</h3> - Assurez-vous qu'au moins un titre est présent et que les titres forment un plan clair du contenu de la page.
- Enregistrez vos modifications et rechargez la page.
Correction des titres de section manquants
Chaque élément section devrait comporter un titre qui décrit son objectif. Sans titre, les utilisateurs risquent de ne pas comprendre le contenu ou la fonction de cette section.
- Dans votre code HTML, repérez l'élément
sectionqui a été signalé. - Ajoutez un élément
h2comme premier élément enfant à l'intérieur desection.
Remarque : Le niveau de titre peut dépendre de la structure des titres de votre page. -
Dans l'élément
h2, incluez un titre pour votre section.<section> <h2>Advanced Accessibility</h2> <p>This course covers advanced topics in accessibility.</p> </section> - Enregistrez vos modifications et rechargez la page.
2.5.3 Étiquette dans le nom
Correction de la non-concordance entre le nom accessible et l'étiquette visible
Assurez-vous que le nom accessible des éléments interactifs correspond à leur étiquette visible, afin d'éviter toute confusion et d'assurer la clarté pour les utilisateurs qui dépendent des technologies d'assistance.
Dans votre code HTML, repérez l'élément interactif (p. ex.
button,div) doté d'un attributaria-label.Remplacez le contenu de l'élément par le même texte que celui utilisé dans l'attribut
aria-label.
Exemple
<!-- Incorrect -->
<button aria-label="Submit Form">Send</button>
<!-- Correct -->
<button aria-label="Submit Form">Submit Form</button>2.5.5 Taille de la cible
Correction de la taille insuffisante des éléments interactifs
Les éléments interactifs, comme les boutons, les liens et les contrôles de formulaire, doivent être assez grands pour que les utilisateurs puissent interagir facilement avec eux à l'aide d'une souris ou d'un clavier.
Dans votre code HTML, repérez l'élément interactif (p. ex.
button,input,textarea).Repérez les attributs
widthetheightdans votre élément.Ajustez les attributs
widthetheightpour que la taille de l'élément soit d'au moins 44 px sur 44 px (p. ex.width: 44px; height: 44px).
Exemple
<!-- Incorrect -->
<button style="width: 16px; height: 16px;">More Infomation</button>
<!-- Correct -->
<button style="width: 44px; height: 44px;">More Information</button>2.5.8 Taille de la cible (minimum)
Correction de la taille des cibles tactiles trop petites
Les cibles tactiles, comme les boutons, les liens ou les autres éléments interactifs, doivent être assez grandes pour que les utilisateurs d'appareils à écran tactile puissent les toucher facilement.
Dans votre code HTML, repérez l'élément interactif (p. ex.
button,input,textarea).Repérez les attributs
widthetheightdans votre élément.Ajustez les attributs
widthetheightpour que la taille de l'élément soit d'au moins 24 px sur 24 px (p. ex.width: 24px; height: 24px).
Exemple
<!-- Incorrect -->
<button style="width: 16px; height: 16px;">Infomation</button>
<!-- Correct -->
<button style="width: 24px; height: 24px;">Infomation</button>3.1.1 Langue de la page
Correction de la déclaration de langue manquante
Chaque page Web doit préciser la langue dans laquelle elle est rédigée, afin que les technologies d'assistance, comme les lecteurs d'écran, puissent lire correctement le contenu.
Dans votre code HTML, repérez l'élément
<html>.Dans l'élément
<html>, ajoutez un attributlanget saisissez une valeur qui reflète la langue correcte de la page (p. ex.lang="en"pour l'anglais,lang="es"pour l'espagnol).
Exemple
<!-- Incorrect --> <html> <!-- Correct --> <html lang="en">
Correction de la langue déclarée non concordante
La langue déclarée de la page doit correspondre à la langue réellement utilisée dans le contenu, afin que les technologies d'assistance puissent interpréter et présenter correctement le contenu.
Dans votre code HTML, repérez l'élément
<html>.Dans l'élément
<html>, repérez les attributslangetxml:lang.Définissez la valeur des attributs
langetxml:langavec le même code de langue valide, correspondant à la langue utilisée dans votre contenu.
Exemple
<!-- Incorrect --> <html lang="fr" xml:lang="en"> <!-- Correct --> <html lang="en" xml:lang="en">
3.1.2 Langue d'un passage
Correction de la valeur non valide de l'attribut lang
Si certaines parties de votre page Web sont dans une autre langue, vous devez en informer les technologies d'assistance, comme les lecteurs d'écran. Cela aide les utilisateurs qui dépendent de ces outils à comprendre le contenu dans la bonne langue.
Dans votre code HTML, repérez l'élément de contenu (p. ex.
<p>,<span>,<div>) dans lequel l'attributlangnon valide est signalé.Mettez à jour l'attribut
langavec une valeur valide qui reflète la langue correcte (p. ex.lang="en"pour l'anglais,lang="es"pour l'espagnol).
Exemple
<!-- Incorrect -->
<p lang="espanol-spain">Este es un párrafo en español.</p> <!-- Correct --> <p lang="es">Este es un párrafo en español.</p>
3.2.2 Lors de la saisie
Correction des boutons d'envoi manquants
Les formulaires doivent comporter un déclencheur explicite afin que les utilisateurs, en particulier ceux qui utilisent un clavier ou un lecteur d'écran, puissent soumettre les données avec succès. Les actions ne devraient se produire que lorsqu'un utilisateur active intentionnellement un élément d'envoi.
Repérez l'élément
<form>dans votre code HTML.Dans l'élément
form, ajoutez un élément<button type="submit">ou<input type="submit">avant la balise de fermeture</form>s'il est absent.Utilisez un bouton d'envoi clairement étiqueté qui soumet le formulaire uniquement lorsqu'on clique dessus ou qu'on appuie sur Entrée (p. ex.
<button type="submit">Submit</button>).
Exemple
<!-- Incorrect --> <form action="/submit" method="post">
<input type="text" name="name" required>
</form> <!-- Correct -->
<form action="/submit" method="post">
<input type="text" name="name" required>
<button type="submit">Submit</button>
</form>
3.2.4 Identification cohérente
Correction du texte de lien non descriptif
Les liens doivent comporter un texte qui décrit clairement leur objectif ou leur destination.
Dans votre code HTML, repérez l'élément
<a>dont le texte est vague ou générique, comme « cliquez ici ».Remplacez le texte entre les balises
<a>par un texte de lien descriptif qui explique la destination ou l'objectif.
Exemple
<!-- Incorrect --> <a href="/report">Click here</a> <!-- Correct --> <a href="/report">View Annual Report</a>
3.2.5 Changement à la demande
Informer les utilisateurs de l'ouverture de nouveaux onglets
Si un lien s'ouvre dans un nouvel onglet ou une nouvelle fenêtre, les utilisateurs devraient en être clairement informés. Cela aide à éviter la confusion, en particulier pour les personnes qui utilisent des lecteurs d'écran ou la navigation au clavier, en précisant ce à quoi elles doivent s'attendre.
Dans votre code HTML, repérez l'élément
<a>doté de l'attributtarget="_blank".Ajoutez un attribut
aria-labelou modifiez le texte visible pour inclure « (s'ouvre dans un nouvel onglet) ».
Exemple
<!-- Incorrect --> <a href="https://example.com" target="_blank">Visit Example</a> <!-- Correct --> <a href="https://example.com" target="_blank" aria-label="Visit Example (opens in a new tab)">Visit Example</a>
3.3.1 Identification des erreurs
Marquage des descriptions d'erreur des champs de saisie comme atomiques
Lorsque les erreurs de formulaire sont annoncées à l'aide d'une région live dotée de aria-live="assertive", celle-ci doit aussi inclure aria-atomic="true". Le message d'erreur complet est ainsi lu aux utilisateurs de lecteurs d'écran.
Dans votre code HTML, repérez l'élément doté de
aria-live="assertive"utilisé pour annoncer les messages d'erreur.Ajoutez l'attribut
aria-atomic="true"au même élément.
Exemple
<!-- Incorrect --> <label for="email">Email</label> <input type="email" id="email" name="email" required> <div id="email-error" aria-live="assertive"> Please enter a valid email address. </div> <!-- Correct --> <label for="email">Email</label> <input type="email" id="email" name="email" required> <div id="email-error" aria-live="assertive" aria-atomic="true"> Please enter a valid email address. </div>
3.3.2 Étiquette de saisie
Correction des étiquettes de saisie peu claires
Les champs de saisie de formulaire doivent avoir des noms accessibles afin que les utilisateurs, y compris ceux qui utilisent des lecteurs d'écran, sachent quelle information est demandée. Sans label ni aria-label, l'objectif du champ n'est pas clair.
- Dans votre code HTML, repérez l'élément
inputqui a été signalé. -
Dans l'élément, ajoutez un attribut
aria-labelpour fournir un nom accessible au champ de saisie.<input type="text" aria-label="First Name"> - Enregistrez vos modifications et rechargez la page.
4.1.2 Nom, rôle et valeur
Les éléments d'interface utilisateur doivent fournir leur nom, leur objectif et leur valeur actuelle afin que les technologies d'assistance puissent les comprendre et interagir avec eux.
Correction des noms accessibles manquants pour les éléments d'interface utilisateur
Tous les boutons, champs de saisie et autres éléments interactifs doivent avoir un nom accessible afin que les lecteurs d'écran puissent annoncer la fonction de chaque élément.
Dans votre code HTML, repérez les composants d'interface utilisateur comme
<input>,<button>,<select>ou d'autres éléments cliquables.Dans le composant, ajoutez un nom accessible à l'aide de l'une des méthodes suivantes :
Ajoutez un élément
<label>avec un attributforlié à l'attributidde l'élément (p. ex.<label for="username">Username</label>).Utilisez l'attribut
aria-labelpour décrire directement l'élément (p. ex.aria-label="Search this site").Utilisez l'attribut
aria-labelledbypour faire référence à un autre élément qui contient le nom (p. ex.aria-labelledby="search-label").
Exemple
<!-- Incorrect --> <input type="text" id="username" name="username"> <!-- Correct --> <input type="text" id="username" name="username" aria-label="Username">
Correction des noms accessibles manquants pour les liens
Les liens devraient avoir des noms accessibles qui décrivent leur destination ou leur fonction.
Dans votre code HTML, repérez l'élément
<a>.Dans l'élément
<a>, ajoutez un attributtitleouaria-labelqui décrit clairement où mène le lien ou ce qu'il fait.
Exemple
<!-- Incorrect --> <a href="/downloads/report.pdf">Download Report</a> <!-- Correct --> <a href="/downloads/report.pdf" title="Download the 2024 Annual Report">Download Report</a>
Correction des noms accessibles manquants pour les boutons
Les boutons doivent avoir des étiquettes claires qui indiquent l'action qu'ils exécutent. Les étiquettes accessibles permettent aux utilisateurs de lecteurs d'écran de comprendre la fonction du bouton.
-
Dans votre code HTML, repérez l'élément
<button>. - Dans l'élément
<button>, ajoutez un attributaria-label. - Dans l'attribut
aria-label, saisissez une courte description qui décrit clairement la fonction du bouton.
Exemple
<!-- Incorrect --> <button>×</button> <!-- Correct --> <button aria-label="Close window">×</button>
Correction des contrôles interactifs imbriqués
Les contrôles interactifs ne doivent pas être imbriqués dans d'autres éléments interactifs. L'imbrication de contrôles (p. ex. un élément <button> dans un lien, un élément <a> dans un élément <button>) peut dérouter les utilisateurs de technologies d'assistance et provoquer un comportement inattendu ou défaillant du clavier et des lecteurs d'écran.
- Dans votre code HTML, repérez le contrôle interactif placé à l'intérieur d'un autre contrôle interactif (p. ex.
<button>,<a>,<input>). - Modifiez le code HTML de sorte que chaque élément interactif soit distinct et n'exécute qu'une seule action.
Exemple
<!-- Incorrect --> <a href="/profile"> <button>View Profile</button> </a> <!-- Correct --> <a href="/profile">View Profile</a>
Correction des noms accessibles manquants pour les éléments <iframe>
Les éléments <iframe> doivent avoir un nom accessible clair et descriptif afin que les utilisateurs de lecteurs d'écran comprennent le contenu du cadre intégré. Sans étiquette, les technologies d'assistance risquent d'annoncer seulement « cadre » ou « iframe », ce qui ne fournit aucun contexte utile.
- Dans votre code HTML, repérez l'élément
<iframe>. -
Ajoutez un nom accessible à l'aide de l'une des méthodes suivantes :
- Un attribut
title(le plus courant et recommandé). - Un attribut
aria-labelouaria-labelledbyqui fait référence à du texte visible sur la page.
- Un attribut
- Assurez-vous que l'étiquette décrit clairement l'objectif ou le contenu du cadre intégré.
- Gardez la description courte mais significative afin que les utilisateurs sachent à quoi s'attendre.
Exemple
<!-- Incorrect --> <iframe src="https://yuja.com/map"></iframe> <!-- Correct --> <iframe src="https://yuja.com/map" title="Map showing our office location"></iframe>
Problèmes d'accessibilité ARIA
Correction des noms accessibles manquants pour les liens
Les liens devraient avoir des noms accessibles qui décrivent leur destination ou leur fonction.
Dans votre code HTML, repérez l'élément
<a>.Dans l'élément
<a>, ajoutez un attributtitleouaria-labelqui décrit clairement où mène le lien ou ce qu'il fait.
Exemple
<!-- Incorrect --> <a href="/downloads/report.pdf">Download Report</a> <!-- Correct --> <a href="/downloads/report.pdf" title="Download the 2024 Annual Report">Download Report</a>
Suppression des attributs ARIA non valides
Les attributs ARIA ne doivent être utilisés que sur des rôles ou des éléments HTML précis. Si un attribut ARIA est utilisé là où il n'est pas autorisé, il ne fonctionnera pas correctement et pourra dérouter les utilisateurs.
Dans votre code HTML, repérez l'élément doté d'attributs ARIA non valides (p. ex.
aria-livesur<button>,aria-expandedsur<div>).Supprimez les attributs ARIA non valides ou ajoutez l'attribut role correct qui correspond à l'attribut ARIA.
Exemple
<!-- Incorrect --> <div aria-checked="true">Option 1</div> <!-- Correct --> <div role="checkbox" aria-checked="true">Option 1</div>
Correction des rôles ARIA non valides
Seuls des rôles ARIA valides devraient être utilisés pour définir le rôle des éléments.
Dans votre code HTML, repérez l'attribut
rolesur n'importe quel élément.Remplacez toute valeur de rôle non valide par un rôle ARIA valide défini dans la spécification ARIA.
Exemple
<!-- Incorrect --> <div role="navigationbar">Main Menu</div> <!-- Correct --> <div role="navigation">Main Menu</div>
Correction du nom accessible manquant pour les propriétés braille
Lorsque des propriétés braille sont utilisées, elles doivent avoir un nom accessible correspondant que les technologies d'assistance peuvent comprendre.
Dans votre code HTML, repérez tout élément doté de l'attribut
aria-braillelabelouaria-brailleroledescription.Dans l'élément, ajoutez un attribut
aria-labelqui correspond à la signification de l'étiquette braille.
Exemple
<!-- Incorrect --> <div aria-braillelabel="Submit Button"></div> <!-- Correct --> <div aria-braillelabel="Submit Button" aria-label="Submit"></div>
Correction des attributs ARIA incorrects selon certaines conditions
Les attributs ARIA ne devraient être utilisés que lorsque le contexte du rôle de l'élément l'exige. Lorsqu'un attribut est nécessaire, il devrait être utilisé de façon appropriée afin d'assurer une accessibilité précise.
Dans votre code HTML, repérez l'élément doté de l'attribut ARIA signalé (p. ex.
aria-expanded,aria-checked).Repérez l'attribut
roledans l'élément (p. ex.role="button",role="checkbox").Consultez la spécification des rôles ARIA pour vérifier si l'attribut est requis pour ce rôle.
Supprimez l'attribut non valide pour le rôle de l'élément.
Remarque : Si l'attribut est requis, assurez-vous que sa valeur est correcte.
Exemple
<!-- Incorrect --> <p aria-expanded="true">Click here for more details on the product.</p> <!-- Correct --> <p>Click here for more details on the product.</p>
Correction de l'utilisation de rôles ARIA obsolètes
Les rôles ARIA périmés devraient être remplacés par les rôles à jour afin de respecter les normes d'accessibilité.
Dans votre code HTML, repérez l'élément doté du rôle ARIA obsolète (p. ex.
role="presentation",role="toolbar").Remplacez le rôle obsolète par un rôle ARIA valide qui correspond mieux à l'objectif de l'élément (p. ex.
role="none",role="navigation").
Exemple
<!-- Incorrect --> <div role="toolbar"> <button>Save</button> <button>Cancel</button> </div> <!-- Correct --> <div role="navigation"> <button>Save</button> <button>Cancel</button> </div>
Correction des boîtes de dialogue ARIA non valides
Les éléments de dialogue devraient avoir un nom accessible valide afin d'être décrits correctement pour les technologies d'assistance.
Dans votre code HTML, repérez l'élément doté de
role="dialog"ou derole="alertdialog"(p. ex.<div role="dialog">).Dans l'élément, ajoutez un attribut
aria-labelouaria-labelledbyet incluez un nom accessible pour la boîte de dialogue.
Exemple
<!-- Incorrect --> <div role="dialog"> <h2>Unsaved Changes</h2> <p>You have unsaved changes. Are you sure you want to leave?</p> </div> <!-- Correct --> <div role="dialog" aria-label="Unsaved Changes"> <h2>Unsaved Chages</h2> <p>You have unsaved changes. Are you sure you want to leave?</p> </div>
Correction de l'élément body masqué
Assurez-vous que l'élément body n'est pas masqué de façon inappropriée aux technologies d'assistance.
Dans votre code HTML, repérez l'élément
<body>.Supprimez tout attribut
aria-hidden="true"de l'élément<body>afin que le contenu reste accessible.
Exemple
<!-- Incorrect --> <body aria-hidden="true"> <h1>Welcome to Our Website</h1> <p>Explore our features and services.</p> </body> <!-- Correct --> <body> <h1>Welcome to Our Website</h1> <p>Explore our features and services.</p> </body>
Correction des noms accessibles manquants pour les champs de saisie
Les champs de saisie devraient avoir un nom accessible qui décrit leur objectif aux utilisateurs.
Dans votre code HTML, repérez l'élément de champ de saisie (p. ex.
<input>,<select>,<textarea>).Dans l'élément, ajoutez un attribut
aria-labelouaria-labelledbypour inclure un nom accessible pour le champ de saisie.
Exemple
<!-- Incorrect --> <input type="text" name="email"> <!-- Correct --> <input type="text" name="email" aria-label="Email address">
Correction de l'utilisation d'attributs ARIA interdits
Certains attributs ARIA ne sont pas autorisés sur certains éléments, car ils peuvent dérouter les lecteurs d'écran ou créer des problèmes d'accessibilité.
Dans votre code HTML, repérez l'élément doté d'un attribut ARIA interdit (p. ex.
aria-pressedsur un élément non interactif).Supprimez l'attribut ARIA interdit de l'élément.
Exemple
<!-- Incorrect --> <div aria-pressed="true"> <span>Save changes</span> </div> <!-- Correct --> <div> <span>Save changes</span> </div>
Correction des attributs ARIA obligatoires manquants
Certains rôles ARIA ont besoin d'attributs précis pour communiquer leur objectif aux technologies d'assistance. Si ces attributs sont manquants, les utilisateurs de lecteurs d'écran risquent de ne pas comprendre le comportement de l'élément. En savoir plus sur les attributs ARIA requis pour chaque rôle.
Dans votre code HTML, repérez l'élément doté du rôle ARIA signalé (p. ex.
role="checkbox",role="slider",role="progressbar").Identifiez l'attribut ARIA requis manquant pour ce rôle (p. ex.
aria-checked,aria-valuenow,aria-valuemin).Ajoutez l'attribut ARIA manquant avec une valeur appropriée qui reflète l'état ou le comportement de l'élément.
Exemple
<!-- Incorrect --> <div role="slider" tabindex="0"></div> <!-- Correct --> <div role="slider" aria-valuemin="0" aria-valuemax="100" aria-valuenow="50" tabindex="0"></div>
Correction des éléments enfants ARIA obligatoires manquants
Certains rôles parents exigent des rôles enfants précis pour assurer une accessibilité adéquate. S'ils sont manquants, les lecteurs d'écran risquent de ne pas pouvoir interpréter correctement la structure. En savoir plus sur la liste des rôles ARIA.
Dans votre code HTML, repérez l'élément parent dont le rôle exige des éléments enfants précis (p. ex. un élément doté de
role="list"doit contenir des éléments enfants dotés derole="listitem").Ajoutez l'élément enfant requis avec les attributs
roleappropriés.
Exemple
<!-- Incorrect --> <div role="list"> <div>First Name</div> <div>Last Name</div> </div> <!-- Correct --> <div role="list"> <div role="listitem">First Name</div> <div role="listitem">Last Name</div> </div>
Correction du parent ARIA obligatoire manquant
Certains rôles ARIA doivent se trouver dans un rôle parent précis pour conserver leur sens sémantique. Sans le bon parent, les technologies d'assistance risquent de ne pas interpréter correctement l'élément. En savoir plus sur la liste des rôles ARIA.
Dans votre code HTML, repérez l'élément dont le rôle exige un parent précis (p. ex. un élément doté de
role="row"doit se trouver dans un élément doté derole="table"ou derole="rowgroup").Ajoutez l'élément parent requis avec les attributs
roleappropriés.
Exemple
<!-- Incorrect --> <div role="row"> <div role="cell">User Name</div> </div> <!-- Correct --> <div role="table"> <div role="row"> <div role="cell">User Name</div> </div> </div>
Correction de l'utilisation de rôles ARIA non valides
Les rôles ARIA non valides n'existent pas dans la spécification ARIA et sont ignorés par les technologies d'assistance, ce qui peut rendre votre contenu plus difficile à comprendre ou à parcourir. En savoir plus sur la liste des rôles ARIA.
Dans votre code HTML, repérez l'élément dont la valeur de rôle n'est pas valide (p. ex.
role="unsupportedrole",role="presentation").Remplacez l'attribut
rolepar un rôle valide en fonction de la fonction de l'élément.
Exemple
<!-- Incorrect --> <div role="structure"> Content about accessibility. </div> <!-- Correct --> <div role="region" aria-label="Accessibility Info"> Content about accessibility. </div>
Correction de l'utilisation de rôles ARIA abstraits
Les rôles ARIA abstraits ne sont pas destinés à être utilisés directement dans le code. Ils servent uniquement à définir les caractéristiques communes d'autres rôles, et leur utilisation n'a aucun effet sur les technologies d'assistance. En savoir plus sur la liste des rôles ARIA.
Dans votre code HTML, repérez l'élément qui utilise un rôle ARIA abstrait (p. ex.
role="input",role="command",role="widget").Remplacez l'attribut
rolepar un rôle concret qui reflète l'objectif réel de l'élément.
Exemple
<!-- Incorrect --> <div role="command">Run</div> <!-- Correct --> <div role="button">Run</div>
Correction de l'utilisation de rôles ARIA non pris en charge
La spécification ARIA ne reconnaît pas les rôles ARIA non pris en charge, qui peuvent ne pas fonctionner correctement dans tous les navigateurs ou lecteurs d'écran. Cela peut entraîner de la confusion ou un contenu ignoré. En savoir plus sur la liste des rôles ARIA.
Dans votre code HTML, repérez l'élément doté d'un rôle ARIA non pris en charge (p. ex.
role="footnote",role="banneritem",role="error").Remplacez l'attribut
rolepar un rôle ARIA pris en charge qui reflète l'objectif de l'élément.
Exemple
<!-- Incorrect -->
<span role="error">Invalid input</span>
<!-- Correct -->
<span role="alert">Invalid input</span>
Correction de l'utilisation d'une description de rôle ARIA non valide
Une description de rôle personnalisée incorrecte peut dérouter les technologies d'assistance et les utilisateurs. Elle ne devrait être utilisée que lorsque vous devez remplacer la description de rôle par défaut par quelque chose de plus significatif.
Dans votre code HTML, repérez l'élément doté d'un attribut
aria-roledescriptionnon valide.Supprimez l'attribut
aria-roledescriptionou remplacez-le par un attributaria-labelapproprié.
Exemple :
<!-- Incorrect -->
<div role="button" aria-roledescription="Clicky thing">Submit</div>
<!-- Correct -->
<div role="button" aria-label="Submit Form">Submit</div>
Correction du nom accessible manquant pour les éléments à bascule
Les éléments à bascule, comme les cases à cocher, les boutons radio et les interrupteurs, ont besoin de noms clairs afin que les lecteurs d'écran puissent décrire leur état et leur fonction.
Dans votre code HTML, repérez l'élément à bascule sans nom accessible (p. ex.
role="checkbox",role="radio",role="switch").Ajoutez un nom accessible à l'aide de l'attribut
aria-labelouaria-labelledby.
Exemple
<!-- Incorrect -->
<div role="switch"></div>
<!-- Correct -->
<div role="switch" aria-label="Dark mode toggle"></div>Correction des valeurs d'attribut ARIA non valides
Les attributs ARIA doivent utiliser des valeurs précises. L'utilisation d'une mauvaise valeur peut dérouter les technologies d'assistance et causer des problèmes d'accessibilité. En savoir plus sur les valeurs ARIA.
Dans votre code HTML, repérez l'élément dont la valeur ARIA n'est pas valide (p. ex.
aria-expanded="perhaps",aria-checked="maybe").Remplacez la valeur non valide par une valeur autorisée par la spécification ARIA.
Exemple
<!-- Incorrect -->
<input type="checkbox" aria-checked="sometimes">
<!-- Correct -->
<input type="checkbox" aria-checked="true">Correction des valeurs aria-level non valides
L'attribut aria-level doit être un entier positif à partir de 1. Il est utilisé sur les éléments dotés d'un rôle de titre pour indiquer leur niveau dans la structure du document.
Dans votre code HTML, repérez toute utilisation de l'attribut
aria-levelavec une valeur de 0, un nombre négatif ou un non-entier (p. ex.aria-level="zero",aria-level="0",aria-level="-1").Remplacez la valeur par un entier positif (1 ou plus).
Remarque : Vous ne devriez utiliser l'attribut aria-level que sur des éléments dotés de role="heading". Si l'élément n'a pas de rôle de titre, supprimez l'attribut.
Exemple
<!-- Incorrect -->
<div role="heading" aria-level="zero">Title</div>
<!-- Correct -->
<div role="heading" aria-level="1">Title</div>Correction des attributs ARIA non valides
Certains attributs ARIA peuvent être mal orthographiés ou utilisés au mauvais endroit. Ces attributs ne fonctionneront pas et peuvent induire en erreur les technologies d'assistance. En savoir plus sur les attributs ARIA.
Dans votre code HTML, repérez l'élément doté d'un attribut ARIA non valide ou mal orthographié (p. ex.
aria-unchecked,aria-visible,aria-foo).Supprimez l'attribut ARIA non valide ou remplacez-le par un attribut valide.
Exemple
<!-- Incorrect -->
<button aria-unchecked="true">Submit</button>
<!-- Correct -->
<button aria-pressed="false">Submit</button>
Correction des éléments focalisables utilisant le rôle de présentation
Les éléments dotés du rôle de présentation sont destinés à être ignorés par les lecteurs d'écran. Lorsque ces éléments sont focalisables, le rôle de présentation peut dérouter les lecteurs d'écran.
Dans votre code HTML, repérez tout élément focalisable doté de
role="presentation"ou derole="none"(p. ex. les éléments dotés detabindex="0"ou les éléments nativement focalisables comme<a>et<button>).Supprimez le rôle de présentation (
role="presentation"ourole="none") afin de préserver le sens interactif de l'élément.
Remarque : Si l'élément n'est pas destiné à être interactif, supprimez plutôt les éléments focalisables, par exemple en supprimant tabindex ou l'attribut href.
Exemple
<!-- Incorrect -->
<a href="#" role="presentation">Link</a>
<!-- Correct -->
<a href="#">Link</a>Correction des attributs ARIA globaux sur les éléments dotés du rôle de présentation
Les éléments dotés du rôle de présentation sont destinés à être ignorés par les technologies d'assistance. Lorsque ces éléments comportent à la fois des rôles de présentation et des attributs ARIA globaux, ils peuvent dérouter les lecteurs d'écran.
Dans votre code HTML, repérez un élément focalisable contenant
role="presentation"ourole="none"qui comporte aussi des attributs ARIA globaux, commearia-label,aria-describedbyouaria-hidden.Supprimez le rôle de présentation (
role="presentation"ourole="none") afin de préserver le sens interactif de l'élément.
Remarque : Si l'élément n'est pas destiné à être interactif, supprimez plutôt les attributs ARIA.
Exemple
<!-- Incorrect -->
<div role="presentation" aria-label="Decorative container"></div>
<!-- Correct -->
<div aria-label="Decorative container"></div>p>Correction des valeurs tabindex non valides
Utiliser tabindex avec une valeur de -1 ou 0 peut perturber à tort le déroulement de la navigation au clavier, ce qui complique la navigation des utilisateurs dans le contenu.
Dans votre code HTML, repérez l'élément dont la valeur
tabindexest inappropriée (p. ex.tabindex="-1",tabindex="0").Supprimez la valeur tabindex pour rétablir la navigation normale au clavier.
Exemple
<!-- Incorrect -->
<h2 tabindex="-1">Header</h2>
<!-- Correct -->
<h2>Header</h2>Correction des rôles ARIA redondants
Si un élément peut déjà transmettre son sens natif, l'ajout d'un rôle ARIA correspondant est inutile et peut dérouter les technologies d'assistance.
Dans votre code HTML, repérez l'élément doté d'un rôle redondant (p. ex.
<button role="button">,<a role="link">).Supprimez l'attribut
roleredondant.
Exemple
<!-- Incorrect --> <button role="button">Save</button> <!-- Correct --> <button>Save</button>
Bonnes pratiques
Pour obtenir une bonne accessibilité, il faut corriger les problèmes courants de code et de contenu afin d'améliorer la clarté, l'organisation et la convivialité pour tous les utilisateurs. L'application des bonnes pratiques aide à créer un contenu plus inclusif et plus convivial.
Correction de l'utilisation de balises visuelles sans signification sémantique
Utilisez des balises sémantiques comme <strong> et <em> plutôt que des balises uniquement visuelles comme <b> et <i> afin d'aider les technologies d'assistance à comprendre l'importance ou l'emphase du texte.
Dans le code HTML, repérez les balises
<b>et remplacez-les par<strong>si le texte est important.Dans le code HTML, repérez les balises
<i>et remplacez-les par<em>si le texte doit être mis en relief.
Exemple
<!-- Incorrect -->
<p><b>Important:</b> Save your changes.</p>
<p><i>Note:</i> Restart required.</p>
<!-- Correct -->
<p><strong>Important:</strong> Save your changes.</p>
<p><em>Note:</em> Restart required.</p> Correction des problèmes de texte alternatif non unique
Les images doivent avoir un texte alternatif (texte alt) qui décrit fidèlement leur contenu. Si deux images présentent un contenu différent mais partagent le même texte alt, les utilisateurs risquent d'être induits en erreur. De même, lorsque deux images utilisent la même source de fichier mais ont un texte alt différent, cela crée une incohérence.
Dans votre code HTML, repérez les éléments
<img>signalés pour un problème de texte alt non unique.-
Pour les images dont les sources (
src) sont différentes mais qui partagent le même texte alt, modifiez le texte alt afin que chaque description soit unique et corresponde au contenu de l'image.<img src="team-photo.jpg" alt="Team standing together outside office"> <img src="office.jpg" alt="Front view of office building"> -
Pour les images qui ont la même source (
src), assurez-vous que le texte alt est cohérent dans toutes les occurrences.<img src="logo.png" alt="Company logo"> <img src="logo.png" alt="Company logo"> Enregistrez vos modifications et rechargez la page.
Correction du texte alt répété sur les images
L'utilisation du même texte alt pour plusieurs images peut dérouter les utilisateurs de lecteurs d'écran. Chaque image devrait avoir un attribut alt unique qui décrit son contenu ou son objectif précis.
Dans votre code HTML, repérez l'élément
<img>dont l'attributaltcontient la même description alternative.Mettez à jour la description dans l'attribut
altde l'image pour décrire son contenu précis.
Remarque : Si l'image est purement décorative, utilisez plutôt un attributaltvide (alt="").
Exemple
<!-- Incorrect -->
<img src="math-icon.png" alt="Icon"> <img src="science-icon.png" alt="Icon">
<!-- Correct -->
<img src="math-icon.png" alt="Math icon showing a calculator"> <img src="history-icon.png" alt="History icon showing a scroll and feather pen">
Correction des rôles de repère sur les éléments imbriqués
Les rôles de repère servent à identifier les principales régions d'une page. Ils ne devraient être utilisés que sur des éléments de premier niveau afin de favoriser une navigation accessible.
Dans votre code HTML, repérez l'élément doté du rôle de repère (p. ex.
role="main",role="banner",role="navigation") qui se trouve à l'intérieur d'autres éléments de structure (p. ex.<div>,<section>ou<article>).Déplacez le rôle de repère à l'extérieur des éléments de structure et placez-le sous la balise
<body>, ou au niveau supérieur de la mise en page de votre code.
Exemple
<!-- Incorrect -->
<div class="article"> <section role="main">Content</section> </div>
<!-- Correct -->
<section role="main">Content</section>Correction des régions de repère en double
Les repères aident les utilisateurs à naviguer en définissant la structure de la page. Utiliser plusieurs fois le même rôle sans distinction claire peut dérouter les utilisateurs de technologies d'assistance.
Dans votre code HTML, repérez l'élément doté de rôles de repère répétés (p. ex.
role="navigation",role="main").Supprimez le repère en double qui ne remplit pas de fonction distincte, ou remplacez le rôle de repère par un rôle qui reflète mieux la fonction de la section.
Remarque : Si plusieurs repères ayant le même rôle sont nécessaires, ajoutez une étiquette unique à l'aide dearia-labelouaria-labelledbypour aider à les différencier.
Exemple
<!-- Incorrect -->
<nav role="navigation">Main links</nav> <nav role="navigation">Sidebar links</nav>
<!-- Correct -->
<nav role="navigation" aria-label="Main">Main links</nav> <nav role="navigation" aria-label="Sidebar">Sidebar links</nav>
Correction des attributs scope non valides sur les en-têtes de tableau
L'attribut scope associe les en-têtes de tableau aux cellules de données. L'utilisation de valeurs incorrectes ou leur omission peut rendre les tableaux plus difficiles à interpréter pour les utilisateurs de lecteurs d'écran.
Dans votre code HTML, repérez l'élément
<th>dont la valeur d'attributscopeest non valide ou manquante.-
Remplacez ou ajoutez la valeur
scopeselon le type d'en-tête :Utilisez
scope="col"pour les en-têtes de colonne.Utilisez
scope="row"pour les en-têtes de ligne.
Remarque : Pour les en-têtes à plusieurs niveaux, utilisez
rowgroupoucolgroupsi un regroupement s'applique.
Exemple
<!-- Incorrect -->
<th scope="column">Course</th>
<!-- Correct -->
<th scope="col">Course</th>
Correction des légendes en double sur les tableaux
Les tableaux ont besoin de descriptions uniques pour aider les utilisateurs à comprendre ce qu'ils contiennent. Réutiliser la même légende pour plusieurs tableaux réduit la clarté lorsqu'on utilise une technologie d'assistance.
Dans votre code HTML, repérez l'élément
<caption>dans l'élément<table>.Dans l'élément
<caption>, remplacez la légende en double par une légende précise qui décrit le tableau.
Exemple
<!-- Incorrect --> <table> <caption>Data table</caption> ... </table> <!-- Correct --> <table> <caption>Student Enrollment by Department – Fall 2025</caption> ... </table>
Correction des problèmes de texte alternatif non unique
Les images doivent avoir un texte alternatif (texte alt) qui décrit fidèlement leur contenu. Si deux images présentent un contenu différent mais partagent le même texte alt, les utilisateurs risquent d'être induits en erreur. De même, lorsque deux images utilisent la même source de fichier mais ont un texte alt différent, cela crée une incohérence.
Dans votre code HTML, repérez les éléments
<img>signalés pour un problème de texte alt non unique.Pour les images dont les sources (
src) sont différentes mais qui partagent le même texte alt, modifiez le texte alt afin que chaque description soit unique et corresponde au contenu de l'image.
<img src="team-photo.jpg" alt="Team standing together outside office"> <img src="office.jpg" alt="Front view of office building">
Pour les images qui ont la même source (src), assurez-vous que le texte alt est cohérent dans toutes les occurrences.
<img src="logo.png" alt="Company logo"> <img src="logo.png" alt="Company logo">
Enregistrez vos modifications et rechargez la page.
Correction des éléments <noscript> incorrects
L'élément <noscript> fournit un contenu de rechange aux utilisateurs dont JavaScript est désactivé. Assurez-vous qu'il contient un contenu significatif et accessible et qu'il ne duplique ni ne masque d'information essentielle. Vous ne devriez pas vous fier au contenu de l'élément <noscript> pour une fonctionnalité importante, à moins qu'une solution de rechange accessible ne soit fournie.
- Dans votre code HTML, repérez les éléments
<noscript>signalés. - Dans vos éléments
<noscript>, assurez-vous qu'ils contiennent un contenu de rechange utile qui informe les utilisateurs des fonctionnalités indisponibles sans JavaScript.
Remarque : Supprimez les éléments <noscript> qui sont vides, en double ou purement décoratifs.
Exemple
<!-- Incorrect -->
<noscript></noscript>
<!-- Correct -->
<noscript>
<p>This site requires JavaScript to function properly. Please enable JavaScript in your browser.</p>
</noscript>
Correction de l'utilisation de balises visuelles sans signification sémantique
Utilisez des balises sémantiques comme <strong> et <em> plutôt que des balises uniquement visuelles comme <b> et <i> afin d'aider les technologies d'assistance à comprendre l'importance ou l'emphase du texte.
Dans le code HTML, repérez les balises
<b>et remplacez-les par<strong>si le texte est important.Dans le code HTML, repérez les balises
<i>et remplacez-les par<em>si le texte doit être mis en relief.
Exemple
<!-- Incorrect --> <p><b>Important:</b> Save your changes.</p> <p><i>Note:</i> Restart required.</p> <!-- Correct --> <p><strong>Important:</strong> Save your changes.</p> <p><em>Note:</em> Restart required.</p>
Correction du titre de niveau un (H1) manquant
Chaque page doit comporter un seul titre de niveau un, clair (<h1>) afin d'aider les utilisateurs, notamment ceux qui utilisent une technologie d'assistance, à comprendre l'objectif ou le sujet principal de la page. Une structure de titres manquante ou incorrecte peut rendre la navigation déroutante.
- Dans votre code HTML, repérez la zone de contenu principal de la page (p. ex. dans l'élément
<body>). -
Ajoutez un élément
<h1>qui décrit clairement le sujet ou l'objectif principal de la page.
Remarque : Assurez-vous qu'il n'y a qu'un seul<h1>par page et qu'il est ajouté avant les titres de niveau inférieur (p. ex.<h2>,<h3>,<h4>).
Exemple
<!-- Incorrect --> <body> <h2>Course Overview</h2> <p>This page describes available courses.</p> </body> <!-- Correct --> <body> <h1>Available Courses</h1> <h2>Course Overview</h2> <p>This page describes available courses.</p> </body>
Correction des niveaux de titre ignorés
Les titres doivent suivre un ordre logique pour aider les utilisateurs à comprendre la structure de la page. Sauter des niveaux de titre peut dérouter les utilisateurs de lecteurs d'écran et rendre le contenu plus difficile à parcourir.
- Dans votre code HTML, vérifiez la structure des titres (p. ex. de
<h1>à<h6>) sur l'ensemble de la page. - Modifiez vos niveaux de titre pour qu'ils respectent une hiérarchie appropriée et qu'aucun niveau ne soit ignoré (p. ex.
<h2>devrait se trouver sous<h1>,<h3>devrait se trouver sous<h2>).
Exemple
<!-- Incorrect --> <h1>Academic Programs</h1> <h3>Undergraduate Programs</h3> <p>Details about undergraduate offerings.</p> <!-- Correct --> <h1>Academic Programs</h1> <h2>Undergraduate Programs</h2> <p>Details about undergraduate offerings.</p>
Correction des titres vides
Les titres doivent contenir un texte significatif afin que les utilisateurs puissent comprendre la structure et le contenu d'une page. Les titres vides, par exemple ceux qui n'ont aucun texte ou uniquement des éléments décoratifs, ne fournissent aucune information aux utilisateurs de lecteurs d'écran et peuvent prêter à confusion lors de la navigation.
- Dans votre code HTML, repérez les éléments de titre signalés qui ne contiennent pas de texte visible et descriptif.
- Mettez à jour chaque titre vide en ajoutant une description claire du contenu de la section.
Remarque : Si le titre n'est pas nécessaire, supprimez le niveau de titre.
Exemple
<!-- Incorrect --> <h2></h2> <p>Information about campus housing.</p> <!-- Correct --> <h2>Campus Housing</h2> <p>Information about campus housing.</p>
Correction des régions englobantes manquantes ou mal définies
Utiliser des éléments de région comme <header>, <nav>, <main>, <aside> et <footer> aide à décrire la structure de votre page. Ces éléments indiquent aux lecteurs d'écran où commencent et où se terminent les parties clés de la page.
- Dans votre code HTML, repérez les principales zones de votre page (p. ex. la bannière du haut, le menu de navigation, le contenu principal, la barre latérale ou le pied de page).
- Si votre page utilise des conteneurs génériques comme
<div>, mettez-les à jour pour utiliser l'élément de région approprié (p. ex. remplacez<div id="main">par<main>.) - Assurez-vous d'avoir ajouté l'élément de région approprié autour de chaque zone :
-
<header>pour la section du haut ou le titre du site. -
<nav>pour les liens de navigation. -
<main>pour le contenu central de la page. -
<aside>pour les informations supplémentaires ou connexes. -
<footer>pour la section du bas ou le contenu de clôture.
-
- Si vous utilisez des rôles ARIA (p. ex.
role="main"ourole="navigation"), placez-les dans l'élément de région approprié.
Remarque : N'utilisez des rôles ARIA que si vous ne pouvez pas utiliser les éléments de région HTML natifs.
Exemple
<!-- Incorrect -->
<div id="header">
<h1>Welcome to Our Site</h1>
</div>
<div id="menu">
<ul><li><a href="#">Home</a></li></ul>
</div>
<div id="content">
<p>Main content goes here.</p>
</div>
<!-- Correct -->
<header>
<h1>Welcome to Our Site</h1>
</header>
<nav>
<ul><li><a href="#">Home</a></li></ul>
</nav>
<main>
<p>Main content goes here.</p>
</main>