Accessibilité et SEO : la même base
L’accessibilité numérique consiste à rendre un site utilisable par tous, y compris les personnes aveugles (lecteur d’écran), malvoyantes (zoom, contrastes), qui naviguent au clavier ou à la commande vocale, sourdes, ou ayant des troubles cognitifs. Le référencement naturel (SEO) consiste à rendre un site compréhensible et attractif pour les moteurs de recherche.
Point commun : un lecteur d’écran et le robot d’un moteur de recherche ne voient pas votre mise en page. Ils lisent le HTML. Une page bien structurée sert donc les deux.
Le cadre
- Les WCAG (Web Content Accessibility Guidelines, version 2.2) définissent des critères classés en niveaux A, AA et AAA. Le niveau AA est la cible habituelle.
- En France, le RGAA traduit ces critères en tests vérifiables. Il s’impose aux services publics et aux grandes entreprises.
- Depuis le 28 juin 2025, l’Acte européen sur l’accessibilité étend l’obligation à de nombreux produits et services, dont le commerce en ligne et les services bancaires (les micro-entreprises de services en sont exemptées).
Les quatre principes des WCAG : perceptible, utilisable, compréhensible, robuste.
Le squelette sémantique
<!doctype html>
<html lang="fr"> <!-- langue : prononciation correcte et signal SEO -->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Menuiserie Martin – Fabrication sur mesure à Nantes</title>
</head>
<body>
<header>
<a href="/">Menuiserie Martin</a>
<nav aria-label="Navigation principale">
<ul>
<li><a href="/realisations">Réalisations</a></li>
<li><a href="/contact" aria-current="page">Contact</a></li>
</ul>
</nav>
</header>
<main> <!-- contenu principal : un seul par page -->
<h1>Menuiserie sur mesure à Nantes</h1>
<section aria-labelledby="t-services">
<h2 id="t-services">Nos services</h2>
<h3>Cuisines</h3>
<h3>Escaliers</h3>
</section>
</main>
<footer>© 2026 Menuiserie Martin</footer>
</body>
</html>
Ces éléments sont des repères (landmarks) : un utilisateur de lecteur d’écran peut sauter directement à la navigation ou au contenu principal. aria-current="page" signale le lien de la page en cours.
La hiérarchie des titres
Les titres forment la table des matières de la page. Les utilisateurs de lecteurs d’écran naviguent souvent de titre en titre, et les moteurs s’en servent pour comprendre les sujets traités.
- Un seul
<h1>qui décrit le sujet de la page. - Puis
<h2>,<h3>… sans sauter de niveau (pas deh2suivi d’unh4). - Choisissez le niveau pour le sens, pas pour la taille : la taille se règle en CSS.
Bouton ou lien ?
<!-- Mauvais : ni focusable au clavier, ni annoncé comme bouton -->
<div class="btn" onclick="ouvrirMenu()">Menu</div>
<!-- Bon : action → bouton ; navigation → lien -->
<button type="button" onclick="ouvrirMenu()">Menu</button>
<a href="/tarifs">Voir les tarifs</a>
Les éléments natifs apportent gratuitement le focus clavier, l’activation par Entrée ou Espace et le bon rôle annoncé. Un lien <a href> est en plus suivi par les robots, ce qui compte pour le SEO.
À retenir
- Le HTML sémantique est la fondation commune de l’accessibilité et du SEO.
lang, repères, unmain, unh1, des titres sans saut de niveau.- Bouton pour agir, lien pour naviguer.
Exercices
Les solutions et les tests restent sur le serveur. Dans l'espace étudiant, ton code est exécuté et corrigé, et le tuteur donne des indices avant la solution.
Rendre une page sémantique
Réécrivez cette page faite de
divavec les bons éléments :htmlaveclang="fr",header,navétiquetéeNavigation principalecontenant une liste de liens, unmainunique, un seulh1, desh2pour les sections et unfooter.Tests : chaque test est une expression JavaScript exécutée dans la page, qui doit renvoyer
true.<html> <body> <div class="entete"> <div class="menu"><a href="/">Accueil</a> <a href="/contact">Contact</a></div> </div> <div class="contenu"> <div class="gros-titre">Boulangerie Durand</div> <div class="titre">Nos pains</div> <p>Pain au levain, baguette tradition…</p> <div class="titre">Horaires</div> <p>Du mardi au dimanche, 7 h – 19 h.</p> </div> <div class="pied">© 2026 Boulangerie Durand</div> </body> </html>Remplacer des éléments cliquables
Le menu utilise des
divet unspancliquables. Remplacez : le bouton d’ouverture du menu par un<button type="button">, les éléments de navigation par des liens<a href>, et corrigez les titres pour qu’il n’y ait aucun saut de niveau.Tests : chaque test est une expression JavaScript exécutée dans la page, qui doit renvoyer
true.<div class="burger" onclick="basculerMenu()">Menu</div> <div class="item" onclick="location.href='/tarifs'">Tarifs</div> <span class="item" onclick="location.href='/avis'">Avis</span> <h1>Coaching sportif</h1> <h3>Séances individuelles</h3> <h5>Tarifs</h5>Bouton ou lien ?
Sur une fiche produit, l’élément « Voir le guide des tailles » ouvre une autre page. Quel élément utiliser ?
- <button>
- <a href="/guide-des-tailles">
- <div onclick>
- <span role="button">
Quiz de fin de leçon
Quel niveau de conformité WCAG est la cible habituelle et légale ?
- A
- AA
- AAA
Combien d’éléments main une page doit-elle contenir ?
- Aucun
- Un seul (visible)
- Un par section
Pourquoi la structure des titres est-elle utile aux utilisateurs de lecteurs d’écran ?
- Elle change la voix de synthèse
- Elle leur permet de naviguer de titre en titre comme dans une table des matières
- Elle n'a aucun effet pour eux
La suite du cours
- Images, formulaires et contrastes18 min
- Clavier, focus et ARIA18 min
- SEO on-page : title, meta, URL et indexation18 min
- Données structurées avec JSON-LD16 min
- Performance, Core Web Vitals et audit Lighthouse20 min