Elément de liste accessible

© Christian PAULUS. Document créé le 22 février 2011 , mis à jour le 22 février 2011.

Un idiot pauvre est un idiot, un idiot riche est un riche. Paul Laffitte

Accueil du site > Astuces > SPIP > Elément de liste accessible

Composition de texte / SPIP 1.9.2, SPIP 2

Pour construire une liste dans l’éditeur de texte SPIP, en espace privé, un simple tiret est parfois employé.

- Mon élément de liste

Le composeur SPIP transforme ce pseudo bbcode en code HTML lors de la construction de la page, de sa publication en espace public.

Malheureusement, le simple tiret ne construit pas un élément de liste, mais un élément affichant une petit puce en forme de triangle en début de ligne. En code HTML, ça donne :

<br /><img src="local/cache-vignettes/L8xH11/puce-b95cf.gif" width='8' height='11'  alt="-" style='height:11px;width:8px;' class='' />&nbsp;Mon élément de liste

au lieu de :

<ul>
<li>Mon élément de liste</li>
</ul>

Ce bout de code ne donne donc pas un élément de liste, dans le plus pur sens du terme, mais un bout de texte plus ou moins bien interprété par les lecteurs audio et autres navigateurs d’écran. Dans ce dernier cas, Jaws - par exemple - utilisé par nos amis non-voyants et parfois malvoyants, prononcera « image puce-b95cf mon élément de liste ». Ce qui ne simplifie pas la navigation.

Dans sa version 2, SPIP propose un bouton pour formater un élément de liste :

PNG

Vous avez même la possibilité de choisir entre une liste numérotée et énumérative.

Il est préférable d’utiliser ce petit bouton, ou de prendre l’habitude de préciser votre élément de liste par le tiret suivi de l’astérisque. Par exemple :

-* Mon élément de liste

Si vous voulez vraiment un petit triangle en début de ligne, votre code CSS sera plus approprié.

Corriger globalement les éléments de liste

Votre serveur SPIP compte les années, et les versions. Et vous n’avez pas le courage d’éditer un à un les articles pour remplacer le tiret malin par sa version corrigée ?

Ou simplement, les rédacteurs ne suivent pas cette directive. Le manque de temps est cruel !

Voici un petit filtre qui se charge de remplacer tous les simples tirets par sa version conforme à la norme :

/**
* Filtre
* Remplace le tiret simple en début de ligne
* par tiret astérisque
* Permet de formater correctement
* un élément de liste
* @see http://www.quesaco.org/Element-de-liste-accessible
*/
function f_nettoyer_listes($texte)
{
        $texte = preg_replace('@^- @m', '-* ', $texte);
        return $texte;
}

Collez ce bout de code dans votre fichier mes_fonctions.php de votre dossier de squelettes.

Le rôle de ce filtre est simplement de corriger le texte de l’article avant de le transmettre au composeur SPIP qui se charge de le traduire en code HTML.

Vous pouvez ensuite appliquer ce filtre à la balise TEXTE de vos squelettes. Par exemple, pour SPIP 1.9.2 :

[<div class="texte">(#TEXTE*|f_nettoyer_listes|propre)</div>]

Vous aurez ainsi un réel élément de liste, accessible.

A lire si besoin sur spip.net : #BALISE* et #BALISE**

Plussoyez !

Les forums sont fermés.