Sémantique et structure des pages
Les points suivants concernent la structure des pages html.
Pages web
- Chaque page web doit contenir une balise
<doctype>
valide située avant la balise <html>. - Chaque document html doit contenir un attribut
lang
(ici,lang="fr"
). - Chaque page web doit avoir une balise
<title>
.
Structure et sémantique
À l'exception des balises <div>
et <span>
, chaque balise doit avoir un sens sémantique ou fonctionnel.
- Les balises
<header>
,<main>
,<nav>
et<footer>
doivent être utilisées si les éléments sont présents - Chaque liste doit être structurée via des listes non ordonnées (
<ul>
et<li>
), ordonnées (<ol>
et<li>
), ou de définition (<dl>
et<dt>/<dd>
) - Chaque citation doit être indiquée par les balises
<q>
ou<blockquote>
- Chaque acronyme doit être contenu dans une balise
<abbr>
et développé dans l'attribut<title>
Balises de titre
Chaque page avec du contenu textuel doit posséder une et une seule balise <h1>
portant le titre de la page ou du contenu de la page.
Les balises de titre (<h1>
à <h6>
) doivent :
- être correctement hiérarchisées, c'est à dire, dans le bon ordre (
<h2>
sous<h1>
) et sans sauter de niveau (<h3>
ne peut pas suivre directement<h1>
) - être appliquées à chaque élément étant sémantiquement un titre
- avoir un contenu suffisamment informatif pour renseigner un utilisateur qui ne fait que parcourir les titres
DO
Utilisation correcte : 1 balise <h1>
et les autres niveaux hiérarchisés
<h1>Titre de la page</h1>
<h2>Partie A</h2>
<h3>Partie A.a</h3>
<h3>Partie A.b</h3>
<h2>Partie B</h2>
DON'T
Utilisation incorrecte des balises de titre :
- Plusieurs balises de niveau
<h1>
:<h1>Partie A</h1>
<h1>Partie B</h1> - Balise de niveau
<h1>
manquante :<h2>Partie A</h2>
<h2>Partie B</h2> - Niveaux inhomogènes :
<h1>Titre de la page</h1>
<h2>Partie A</h2>
<h3>Partie B</h3> - Niveaux manquants :
<h1>Titre de la page</h1>
<h3>Partie A</h3>
<h3>Partie B</h3> - Niveaux dans le désordre :
<h1>Titre de la page</h1>
<h4>Partie A</h4>
<h3>Partie A.a</h3>
<h4>Partie B</h4>