WCAG A Prestataire Facile

Votre site indique-t-il aux logiciels de lecture qu'il est rédigé en français ?

Critère officiel 8.3 — Dans chaque page web, la langue par défaut est-elle présente ?

Pourquoi c'est important

Les logiciels de lecture utilisent la langue déclarée pour choisir leur moteur vocal — prononciation, intonation, règles de lecture. Sans déclaration de langue française, un lecteur d'écran configuré en anglais lira du français avec une prononciation anglaise, rendant le texte incompréhensible.

Exemples concrets

Ce qui est conforme

Le site déclare correctement la langue française. Un logiciel de lecture lit le contenu avec la bonne prononciation. Un utilisateur malvoyant qui accède à la page « État civil » comprend immédiatement le contenu.

Ce qui pose problème

Le site a été installé avec un thème anglophone sans reconfiguration. Les logiciels de lecture lisent les pages avec un moteur vocal anglais : « mairie » devient « meri », « délibération » est lu à l'anglaise — incompréhensible pour une personne aveugle.

Comment agir

Demandez à votre prestataire de vérifier que la langue française est bien déclarée sur toutes les pages du site. Dans WordPress, cette configuration se fait dans les réglages du thème ou du plugin SEO. Question à poser : « Notre site déclare-t-il bien `lang="fr"` sur toutes nos pages ? »

Règles clés

  • Le code langue suit la norme BCP 47 : 'fr' pour le français, 'en' pour l'anglais, 'fr-BE' pour le français de Belgique.
  • Les codes de langue de base sont en minuscules (fr, en, de). Les sous-étiquettes de région sont en majuscules (fr-CH, fr-BE).
  • Sur WordPress : ne pas coder lang en dur — utiliser language_attributes() dans le template, qui gère le lang dynamiquement selon la configuration et les plugins multilingues.
  • lang sur <html> déclare la langue majoritaire. Les passages dans une autre langue doivent être signalés avec lang sur l'élément englobant (critère 8.7).

Erreurs fréquentes

  • Attribut lang absent sur <html>
  • lang="" (valeur vide)
  • lang avec un code invalide (lang="french" au lieu de lang="fr")
  • lang correct sur <html> mais non mis à jour sur les pages dans d'autres langues (site multilingue)

Exemples de code

lang absent

✗ Non conforme
<!DOCTYPE html>
<html>
  <head><title>Accueil</title></head>
  <body>...</body>
</html>

Sans attribut lang, le lecteur d'écran utilise la langue système — souvent l'anglais. Tout le contenu français sera mal prononcé.

lang invalide

✗ Non conforme
<html lang="french">

'french' n'est pas un code BCP 47 valide. Le lecteur d'écran peut ignorer l'attribut ou adopter un comportement imprévisible selon la technologie d'assistance.

lang valide

✓ Conforme
<html lang="fr">

Code BCP 47 valide pour le français standard. La synthèse vocale utilisera le moteur de prononciation français.

WordPress — génération dynamique

✓ Conforme
<?php
// Dans header.php du thème WordPress :
?>
<html <?php language_attributes(); ?>>

<!-- Résultat généré selon la configuration WP : -->
<!-- <html lang="fr-FR"> -->

language_attributes() génère lang et dir selon la configuration de WordPress et des plugins multilingues actifs. Toujours préférer cette fonction à un lang codé en dur dans le thème.

Référence WCAG : 3.1.1

La lettre de l'Atelier A11Y

Ressources pédagogiques, critères RGAA commentés et retours de terrain : une lettre mensuelle pour progresser sur l'accessibilité numérique, sans jargon.

  • Nouveaux articles et ressources pédagogiques
  • Critères RGAA décortiqués avec des exemples concrets
  • Bonnes pratiques et retours d'expérience terrain
S'abonner à la newsletter (s'ouvre dans un nouvel onglet)

Gratuit. Désabonnement possible à tout moment.