Corriger le niveau d’intertitre de SPIP

12 septembre 2010,
par Romy Têtue

Mots-clefs associés à cet article :

SPIP propose par défaut une hiérarchie des titres défectueuse, sautant du h1 au h3, sans niveau intermédiaire. Comment corriger ce défaut sémantique ?

La hiérarchie des titres d’une page doit être logique et continue. Elle doit commencer par un h1 et ne pas comporter de sauts de niveau : un h1 ne peut être directement suivi d’un h3 ; il doit y avoir au moins un h2 entre les deux.

Titre manquant…

Les squelettes par défaut de SPIP balisent correctement le titre principal de chaque page d’un h1 mais, dans le corps de texte, le seul niveau de titre disponible — nommé « intertitre » dans SPIP, et dont le raccourci de saisie est {{{intertitre}}} — est généré en h3. Cela cause donc, dans les articles et brèves, un saut brutal d’un h1 à un h3, sans h2 intermédiaire. Il y a une raison historique à cela, mais personne ne s’en souvient plus.

Un tel saut empêche certains internautes, notamment utilisateurices de lecteur d’écran, de percevoir les niveaux de titre inférieur. Ce problème d’utilisation relève d’un critère d’accessibilité de niveau A, c’est-à-dire bloquant. Concrètement, ces internautes ne peuvent accéder directement aux intertitres, au risque de passer à côté de tout ou partie du contenu. Quel dommage !

Bref, SPIP propose par défaut une hiérarchie des titres défectueuse pour les contenus, sautant directement du titre en h1 aux intertitres en h3, sans le niveau intermédiaire nécessaire pour structurer correctement, c’est-à-dire en HTML sémantique, valide, accessible, SEO, etc.

Comment corriger les intertitres de SPIP ?

1. Première solution, puisqu’il manque un niveau, ajoutons-le : dans le squelette article.html, ajoutez un titre intermédiaire de principe, par exemple <h2><:article:></h2>, juste avant la balise #TEXTE. Ça corrige le problème, mais c’est un peu artificiel… et sémantiquement un peu lourd et abscons.

2. Mieux, sachez qu’une variable de personnalisation permet de configurer le niveau d’intertitre de SPIP. Il suffit de déclarer ceci dans votre fichier mes_fonctions.php (s’il n’existe pas créez-le) :

$GLOBALS['debut_intertitre'] = "\n<h2 class=\"spip\">\n";
$GLOBALS['fin_intertitre'] = "</h2>\n";

C’est ce que font systématiquement les spipmestres averti·e·s, au démarrage d’un nouveau site SPIP.

3. Certains plugins corrigent automatiquement cela, dont La trousse à Têtue.

4. Le mieux serait que SPIP corrige nativement ce problème, comme demandé par ce ticket d’anomalie #2381.

{#TITRE,#URL_ARTICLE,#INTRODUCTION}

Vos commentaires

  • Le 25 janvier 2017 à 10:59, par MANU En réponse à : Corriger le niveau d’intertitre de SPIP

    Où je découvre que ce bug est signalé DEPUIS PLUS DE 5 ANS !! mais pourquoi les développeurs de SPIP se fichent autant de leurs utilisateurs ?!?

  • Le 25 avril 2017 à 15:07, par Suske En réponse à : Corriger le niveau d’intertitre de SPIP

    Ben oui mais non Manu : la plupart des squelettes et la dist tiennent compte de ce problème et le corrigent comme indiqué par Tetue.
    Du coup il y a toute une reprise de l’existant sans laquelle « on se moque » tout autant de l’utilisateur. A mon sens ce qui a surtout manqué c’est une doc expliquant le truc et qu’on choisisse le moment de basculer.

  • Le 27 avril 2017 à 08:44, par Romy Têtue En réponse à : Corriger le niveau d’intertitre de SPIP

    Euh non Suske, ça n’a jamais été corrigé, que je sache, preuve en est que ce défaut persiste dans le skel article.html de la dernière dist en date. Il revient donc toujours au webmestre d’avoir la présence d’esprit de rectifier. C’est pourquoi je recommande que SPIP soit corrigé de façon à proposer une dist par défaut exempte d’anomalie à ce sujet.

  • Le 7 février 2018 à 11:28, par Pierrot En réponse à : Corriger le niveau d’intertitre de SPIP

    Je découvre cet article par hasard ... je me demandais s’il y avait des utilisateurs qui utilisaient vraiment les squelettes de la dist ? (moi perso, jamais avec je pense plus de 100 sites spip au compteur). La dist pour moi c’est juste pour que quelque chose s’affiche quand on installe, ça s’arrête là, après je fais mes propres squelettes.

    Pour Manu : c’est de l’open-source, du vrai je veux dire, pas un CMS développé par une société côté en bourse ... il n’y a pas de gens spécifiquement responsables de ça, les gens développent sur leur propre temps, si tu veux que ça avance, fait le ... Pour ma part je préfère que les développeurs s’attaquent à un back-office vraiment responsive plutôt que de perdre du temps sur un front-office que je vois rarement en ligne.
    Mais c’est mon avis :-)
    Pierre.

  • Le 7 février 2018 à 11:43, par Romy Têtue En réponse à : Corriger le niveau d’intertitre de SPIP

    Si je comprends bien Pierrot, tu corriges ce problème dans chacun de tes squelettes ? De quelle façon : en ajoutant un h2 intermédiaire ou via variable de personnalisation ? Un exemple ?

  • Le 19 février 2021 à 16:14, par Romy Têtue En réponse à : Corriger le niveau d’intertitre de SPIP

    Alléluïa, c’est désormais corrigé (à partir de SPIP 3.3) !

  • Le 8 avril 2021 à 21:06, par Pierrot En réponse à : Corriger le niveau d’intertitre de SPIP

    Je reviens sur ce sujet, je ne me souvenais plus d’y avoir participé ... et en fait j’ai eu la même discussion il y a 2-3 jours ou j’ai défendu auprès d’un fan de WP le fait que justement les intertitres commençaient au h3 :-)

    En SEO il faut un h1 par page, un ou plusieurs h2, et ainsi de suite.

    L’un des gros avantages de démarrer au h3 est le suivant :

    • sur une page de type blog, h1 est un titre genre « actualités ». Ensuite le titre de chaque article de cette page est un h2, et là, je suis content que les intertitres saisies dans les zones de texte de chaque article soient des h3
    • sur une page pour un de ces articles, le h1 peut être le titre de l’article, un sous-titre peut devenir le h2 et encore une fois je trouve mieux que ce qui est accessible aux rédacteurs démarre aux h3, pas d’interférences avec la structure importante de la page.

    La discussion avec ce fan WP portait sur les éditeurs de WP et le fait qu’ils permettent tous les niveaux de titre sans, à mon avis, aucune considération pour une structure h1/h2 qui aurait été mise en place par les concepteurs du site. C’est ce que j’aime dans spip, moins de liberté peut-être (pour le rédacteur) mais un résultat beaucoup plus cohérent graphiquement et structurellement au finish ... la structure de base h1/h2 assure le minimum syndical SEO et ne risque pas d’être cassée par un rédacteur un peu trop inventif ou au gout douteux.

Répondre à cet article

forum message

Raccourcis : {{gras}} {italique} -liste [bla->url] <q> <quote> <code>.

Qui êtes-vous ? (optionnel)

Suivre les commentaires : RSS 2.0 | Atom