Plugin MODx pour générer automatiquement les balises ABBR et autres pour chaque page
accessibility html integration web - 📁 portfolio
Il s'agit d'un plugin que j'ai fait, en PHP 4 il y a deux ans pour MODx 0.9.6.3, pour un site web et je pense qu'il vaut la peine que je partage le code avec la communauté.
Le plugin sert a entourer des mots définis dans un fichier CSV (séparé par des virgules) dans le contenu qui est retourné par le CMS.
LA SITUATION
Lorsque je travaillait sur ce site web, mon employeur et mon collègue nous étions donné comme objectif de paufiner l'Ergonomie et l'Accessibilité du contenu. Ce qui est dommage c'est qu'il n'a jamais été évalué par AccessibilitéWeb. J'ai pourtant reçu la formation pour évaluer les sites... mais je préfère, personnellement, programmer des applications.
LES CRITÈRES QUE CE PLUGIN REMPLIT
Lors de la réalisation du site je n'ai pas noté les points d'évaluation du WCAG 1.0 que cet utilitaire remplit, mais en gros, d'un point de vue utilisabilité :
- L'édimestre n'a pas a écrire à la main les balises ABBR, DFN, et ACRONYM, le plugin le fait tout seul;
- La liste est dans un fichier statique, ce qui rend facile, pour l'édimestre, d'ajouter de nouvelles définitions;
- Pouvoir automatiser le remplacement des abréviations dans des balises valides;
Cette liste ne parle pas des critères d'évaluations mais si vous voulez en savoir plus au sujet de l'Accessibilité; je vous recommande chaudement de visiter la «Base de conaissances» de la fondation AccessibilitéWeb.org qui a fait un IMMENSE EFFORT de vulgariation et de collaboration a l'élaboration du WCAG 2.0 et de sa version française.
EXEMPLE
Plutôt que d'écrire des paragraphes pour expliquer comment fonctionne le plugin, je vous propose de voir par un exemple
Le document CSV a plusieurs lignes similaires à...
fr;dfn;FAQ;Foire Aux Questions
Avec le contenu de la page il remplacera les occurences dans le document HTML généré (même après la cache):
(...) venez lire la FAQ (...)
En le transformant ainsi...
(...) venez lire la FAQ (...)
Le plugin est configuré pour faire cette transformation pour tout les mots définis dans le CSV au moment du rendu de la page chez le client (trigger MODx "OnWebPagePrerender") ce qui évite d'avoir des définitions empilés.
UTILISER LE PLUGIN
Avertissement!
Le plugin a été fait à l'époque de MODx 0.9.6.x (regardez tout au bas). Il risque de bien fonctionner dans cette version mais n'est pas assuré de fonctionner dans la version stable présente. Vous aurez été avertis!
Si vous voulez que j'en fasse une adaptation, laissez une note a ce billet!.
On ne peut s'attendre à simplement installer le plugin et que tout fonctionne. Voici les prérequis pour pouvoir utiliser le plugin
- Au niveau 0 (enfant de la racine dans MODx) il y ait un répertoire servant à spécifier la langue de ses enfants.
- ContentAbbrGenerator (le plugin en question)
Un plugin de base qui était fourni avec la version 0.9.6.x qui fournit le numéro ID de la page parent absolu - Il faut 2 Snippet de code (fonctions PHP spécifique a MODx) pour utiliser mon plugin
- Lang
Sert, justement a aller chercher le ID de la page ci-haut mentionnée. - UltimateParent
Un plugin de base qui était fourni avec la version 0.9.6.x qui fournit le numéro ID de la page parent absolu
- Lang
- abbreviations.txt
Le fichier CSV qui contient les valeurs pour le remplacement des balises. Le contenu de ce fichier peut être une page dans MODx (si mod_rewrite est activé) mais il doit être définitivement être disponible à l'adresse fournie dans le Snippet ContentAbbrGenerator définie par la variable de plugin "cagPluginAttrOverrideFileLoc"
TÉLÉCHARGER ET INSTALLER
Suivre les instructions dans chaque fichier de l'Archive
SOURCES ET CRÉDITS
J'ai pris soin dans le code de laisser les notes des auteurs qui m'ont inspiré avec les pages qui parlent de ce que j'ai utilisé pour produire le plugin. Je n'ai rien inventé en soi, j'ai simplement produit un plugin pour remplir le besoin que j'avait
NOTE
Vous avez le droit et la liberté d'utiliser le code que je rend disponible pour téléchargement car je n'ai pas mise sous licence. Considérez-le comme un don
A VOS COMMENTAIRES...
J'ai déjà considéré commencer a modifier ce plugin pour le rendre fonctionnel dans WordPress mais j'ai d'autres priorités. Alors, si vous avez un intérêt à ce que je produise un plugin pour WordPress ou MODx (pour la version courrante) laissez moi un commentaire!