Bidouiller des accesskey avec SPIP

3 mars 2010,
par Romy Têtue

Mots-clefs associés à cet article :

Je ne discuterais pas ici du bien-fondé des accesskey [*], ce dispositif d’accessibilité qui permet à l’internaute d’activer un lien ou un formulaire via une combinaison de touches similaire aux raccourcis clavier logiciels… avec lesquels il peut rentrer en conflit.

Il se trouve qu’il m’est arrivé d’en faire usage, non sans agrément, si bien que je les mets en œuvre de façon systématique sur les sites SPIP qui me sont confiés, ce qui est l’occasion d’un petit bricolage rigolo, que voici.

Il n’existe pas de convention dans l’attribution des accesskey, qui reste arbitraire, variable d’un site à l’autre et donc critiquable [*]. J’ai donc retenu ce qui semble faire consensus. Puis j’ai choisi de faire correspondre à chacun un article SPIP, parmi les 10 premiers, qui sont alors réservés à cet usage.

Correspondances des accesskey et numéros d’articles SPIP
accesskey Page pointée article
0 Liste des raccourcis clavier utilisés. Cette liste peut se trouver en tête de la politique d’accessibilité du site, ou dans un document spécifique. Je prévois alors une page complète exposant les aides à la navigation, dont les accesskey font partie, éventuellement complétée de la politique d’accessibilité du site. 10
1  Retour en page d’accueil 1
2 Quoi de neuf ? Page d’actualités du site. 2
3 Plan de site 3
4 Champ de saisie du formulaire de recherche interne ou page où se trouve ce formulaire. 4
5 FAQ, glossaire, index thématique (tagcloud ?)… 5
6 Page d’aide à la navigation dans le site 6
7 Contact par e-mail, du webmestre ou responsable du site 7
8 Conditions d’utilisation, conditions de reproduction, crédits et autres mentions légales… 8
9 Livre d’or, feedback… 9

Il sera alors très simple de les lister, en écrivant :

<B_accesskey>
<ul class="accesskey">
        <BOUCLE_accesskey(ARTICLES) {id_article<11} {par num id_article}>
        <li><kbd>&#91;[(#ID_ARTICLE|substr{-1})]&#93;</kbd> = #TITRE</li>
        </BOUCLE_accesskey>
</ul>
</B_accesskey>

où le numéro de l’accesskey est fabriqué de façon automatique à partir du numéro de l’article, grâce au filtre |substr{-1}, une fonction PHP qui nous permet ici de ne prélever que le dernier caractère. Un modèle qui permet de lister les accesskey dans un article est disponible dans ma trousse à têtue, prêt à l’emploi : <accesskey|>.

De même pour proposer les liens correspondants, qui doivent être présents dans chaque page du site (mais pas plus d’une fois chacun) :

<BOUCLE_accesskey(ARTICLES) {id_article<11} {par num id_article}{" | "}><a href="#URL_ARTICLE" accesskey="[(#ID_ARTICLE|substr{-1})]">#TITRE</a></BOUCLE_accesskey>

Ce qu’il est surtout intéressant de retenir ici, indépendamment des accesskeys qui servent de prétexte, c’est la façon de réserver les premiers articles d’un site SPIP pour fabriquer des pages basiques, celles que l’on s’attend à trouver dans chaque site web.

{#TITRE,#URL_ARTICLE,#INTRODUCTION}

Vos commentaires

  • Le 3 mai 2010 à 22:57, par ARTIE En réponse à : Bidouiller des accesskey avec SPIP

    Bonjour,
    Au cas où :
    J’ai pu simplifier la question avec Champs Extra 2 j’ai crée un champs ACCESSKEY dans la fiche article, et je n’ai donc plus qu’à appelé accesskey="#ACCESSKEY" dans mon squelette

  • Le 4 mai 2010 à 13:41, par Romy Têtue En réponse à : Bidouiller des accesskey avec SPIP

    C’est dommage développer quelque chose — des champs spéciaux dépendant de plus d’un plugin tiers — pour un truc critiqué [*] ! Dans cet article, les accesskeys servent surtout de prétexte à poser une convention de nommage pour créer les pages annexes d’un site, à partir d’articles SPIP, sans module additionnel, justement.

  • Le 20 février 2011 à 21:52, par Philippe En réponse à : Bidouiller des accesskey avec SPIP

    Bonsoir, et merci pour cet excellent blog.

    Ce commentaire un peu hors sujet a pour seul objet de proposer une bidouille de plus pour gérer les pages basiques évoquer ci-dessus. J’ai fait le test uniquement en local, mais c’est assez simple à mettre en place.

    Il s’agit de créer une rubrique dénommée accueil et d’y placer toutes les pages basiques. Ensuite, il faut créer le squelette correspondant à là-dite rubrique (dans mon cas rubrique=87.html) en n’y incluant que le code ci-dessous :

    <?php   
      header('Location: /racinedemonsite/');   
    ?>

    De la sorte, accueil apparaît dans le menu général de navigation au côté de toutes les autres rubriques et renvoie effectivement vers l’accueil du site (ce qui peut être sympa). Et on peut si nécessaire appeler ailleurs (pied de page, barre latérale) toutes les pages basiques qu’on ne présente généralement pas dans une page rubrique.

    Même dans le plan général du site ce ne sera pas gênant si on présente les rubriques par titre ou par numéro/titre : sous la dénomination accueil apparaîtront les pages basiques du site.

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici
  • Raccourcis : {{gras}} {italique} -liste [bla->url] <q> <quote> <code>.

Suivre les commentaires : RSS 2.0 | Atom