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>