Accès rapide : Contenu | Menu | Recherche | Outils

Accueil > Blog > Webmastering > WordPress et le RGAA

WordPress et le RGAA

Ayant eu à réaliser une mise en conformité RGAA avec WordPress pour un site communal, j’ai pu identifier les principales problématiques rencontrées. Le principe de base est d’utiliser massivement les filtres afin de ne pas modifier le core du CMS en créant un plugin et en modifiant le fichier functions.php du thème.

La longue description des images

L’attribut longdesc, n’est pas nativement géré par Worpdress, on va donc utiliser un subterfuge. Tout d’abord, il faut créer une catégorie destinée à recevoir le contenu de ces longues descriptions. Puis élaborer un modèle pour cette catégorie d’articles, dépouillé de toute fioriture (la balise title et le contenu brute sans feuille de style – référence : Règle 1.1 : Les équivalents textuels).

Lors de l’insertion d’image, il va falloir ajouter un champ au formulaire via le filtre attachment_fields_to_edit :

function image_attachment_fields_longdesc($form_fields, $post) {
  if (substr($post->post_mime_type, 0, 5) == 'image') {
  $form_fields['longdesc'] = array(
			'label' => 'Longue description',
			'input' => 'html',
			'html'  => '<input type="text" class="urlfield" name="attachments[$post->ID][longdesc]" id="longdesc" value="" />',
		);
   }
return $form_fields;

}
add_filter('attachment_fields_to_edit', 'image_attachment_fields_longdesc', 10, 2);

Vous devriez obtenir ceci :
Champ longues descriptions
Il ne reste plus qu’à modifier le code envoyé dans le textarea, pour cela il faut en passer par trois filtres successifs : get_image_tag, image_send_to_editor et media_send_to_editor.

A noter que vous pouvez également utiliser, dans certains cas, la légende ou une ancre dans la page.

Insertion d’image dans le textarea

Outre le fait que vous voulez peut-être utiliser une ModalBox pour vos images, WordPress insère souvent des informations en double, voir en triple via les attributs alt, title et la légende, ce qui provoque une surabondance d’information.
Les trois filtres à modifier sont les mêmes que précédemment.

TinyMCE

Sans doute, le plus gros morceau ! Vous avez deux possibilités : soit utiliser un plugin tel que TinyMCE Advanced, soit passer par les filtres : mce_buttons, mce_buttons_2 et mce_external_plugins. Une fois les fonctions barrer, alignement du texte, souligner, couleur de texte et indenter expurgées de l’éditeur visuel, il faut rajouter les fonctions indice et exposant, le plugin xhtmlxtras et ses fonctions de citation, d’abréviation et d’acronyme.

Pour les changements de langues, deux possibilités nous sont offertes : créer un plugin pour TinyMCE de toute pièce ou utiliser les shortcodes, comme ceci par exemple : [langue lg="en"]Sample[/langue].

Au finale, vous devriez avoir un éditeur visuel qui ressemble à ceci :
TinyMCE modifié pour l'accessibilité

Les fonctions du thème

Outre le fait que votre thème doit respecter certaines règles (cela ne change pas, quelques soit le CMS que vous allez utiliser), les fonctions natives dans les thèmes de WordPress nécessitent quelques aménagements :

Dans ces trois derniers cas, l’utilisation des fonctions get plutôt que wp_list permet d’ôter les attributs title, d’insérer la balise <strong></strong> et une classe pour signaler la page courante, mais aussi de faire à peu près tout ce que voulez, puisque le résultat des requêtes vous est fourni sous forme de tableaux.

Pour terminer, lorsque vous voulez utiliser un filtre, il vous suffit de trouver dans le core de WordPress la fonction en question puis de la retravailler à votre sauce.

Fabrice le 15 février 2010 dans Webmastering | Rétrolien - Flux des commentaires

Laisser un commentaire