Chaque page web a-t-elle un titre de page ?
Ouvrez dix onglets dans votre navigateur : comment retrouvez-vous celui qui vous intéresse ? Grâce au titre affiché dans l’onglet. Un utilisateur de lecteur d’écran entend ce titre dès l’ouverture de la page : c’est la première information que la technologie d’assistance annonce, avant même le premier titre <h1>.
Le critère 8.5 est minimaliste : il vérifie uniquement qu’un élément <title> est présent dans le <head> du document. Pas que son contenu soit descriptif, pas qu’il soit unique entre les pages. Juste qu’il existe. Le critère 8.6 prend le relais pour juger la pertinence du contenu.
Pas de <title>, pas de page identifiable. C’est le test le plus rapide du thème 8.
Un test pour vérifier que la page possède un titre
Présence de l'élément <title> dans le <head>
- Ouvrez le code source de la page (Ctrl+U) ou inspectez le
<head>via les outils de développement. - Cherchez un élément
<title>dans la section<head>du document. - Si l’élément
<title>est présent (même vide), le test est validé. - Si aucun élément
<title>n’existe dans le<head>, le test échoue.
Exemples
❌ Non conforme : Page sans élément <title>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="description" content="Bienvenue sur notre site">
</head>
<body>
<h1>Accueil</h1>
</body>
</html>Aucun élément <title> dans le <head>. Le lecteur d’écran n’a rien à annoncer à l’ouverture de la page. Dans le navigateur, l’onglet affiche l’URL brute ou reste vide. L’utilisateur ne sait pas où il se trouve avant même d’avoir commencé à lire le contenu.
✅ Conforme : Page avec un élément <title> présent
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<title>Accueil - Mon site</title>
</head>
<body>
<h1>Accueil</h1>
</body>
</html>L’élément <title> est présent dans le <head>. Le lecteur d’écran l’annonce dès le chargement. L’onglet du navigateur affiche « Accueil - Mon site », ce qui permet à l’utilisateur d’identifier la page dans sa liste d’onglets ou son historique de navigation.
Astuces et pièges
⚠️ <title> vide : 8.5 passe, 8.6 échoue
Un <title></title> vide satisfait techniquement le critère 8.5 (l’élément existe dans le DOM), mais fait échouer le critère 8.6 qui exige un contenu pertinent. En audit, un <title> vide trahit souvent un template mal configuré ou un CMS dont les champs de métadonnées n’ont jamais été renseignés.
⚠️ Applications monopage (SPA) : le titre doit changer à chaque navigation
Dans une SPA Vue, React ou Angular, la balise <title> du document HTML initial ne se met pas à jour automatiquement lors de la navigation côté client. Si l’utilisateur passe de la page d’accueil à la page Contact sans rechargement complet, le titre doit être mis à jour via JavaScript (document.title = 'Contact - Mon site') ou via les mécanismes fournis par le routeur. Sans cela, le lecteur d’écran annonce toujours le titre de la première page chargée.
💡 Vérification en deux secondes avec la console
Dans l’onglet « Console » des DevTools, tapez document.title. Si la réponse est une chaîne vide, la page passe 8.5 mais échoue probablement 8.6. Si la propriété n’est pas définie, c’est que l’élément <title> est absent. Plus rapide que de parcourir le code source à la main.
⚠️ Les documents chargés dans une <iframe> sont concernés
Chaque document HTML chargé dans une <iframe> est une page web à part entière au sens du RGAA. Si le document cible possède son propre <html> et son propre <head>, il doit lui aussi comporter un <title>. C’est souvent oublié sur les pages de formulaires embarqués ou les visionneuses de documents.
⚠️ Deux balises <title> dans le même <head>
Certains outils de templating ou moteurs de rendu côté serveur empilent parfois deux balises <title> dans le <head>. Les navigateurs retiennent généralement la première, mais ce comportement n’est pas garanti et le balisage est invalide. Un seul <title> par document.
Questions fréquentes
Quelle est la différence entre le critère 8.5 et le critère 8.6 RGAA ?
Le critère 8.5 vérifie uniquement que l’élément <title> existe dans le <head>. Le critère 8.6 vérifie que son contenu est pertinent, c’est-à-dire qu’il permet à l’utilisateur d’identifier la page dans son historique ou sa liste d’onglets. Une page peut passer 8.5 et échouer 8.6 si le titre est présent mais vide ou générique (« Untitled », « Page »).
Comment tester le critère 8.5 lors d'un audit d'accessibilité RGAA ?
Trois méthodes rapides : (1) regarder le titre affiché dans l’onglet du navigateur — s’il y en a un, l’élément existe ; (2) ouvrir le code source (Ctrl+U) et chercher <title> ; (3) taper document.title dans la console des DevTools. Une chaîne vide en retour signifie que l’élément existe mais que son contenu est vide : 8.5 passe, 8.6 échoue.
Pourquoi une balise <title> vide ne satisfait-elle pas le critère 8.5 RGAA ?
Oui. Le test 8.5.1 demande seulement de retrouver l’élément <title> dans le document. Sa présence suffit à valider le test, qu’il contienne du texte ou non. C’est le critère 8.6 qui juge la pertinence du contenu.
Comment le critère 8.5 s'applique-t-il aux pages générées dynamiquement par JavaScript ?
Oui. Ce qui compte, c’est l’état du DOM au moment où l’utilisateur interagit avec la page, pas le HTML source initial. Un framework qui injecte un <title> après le chargement satisfait le critère. En revanche, si la navigation entre vues d’une SPA ne met pas à jour document.title, chaque nouvelle vue échoue au critère.