Nous avons vu précédemment pourquoi il est nécessaire de rendre son site accessible, voyons donc maintenant comment le faire.
Pour cela, je vous propose de vous poser quelques questions (certaines questions proviennent de
pompage.net (fr).)
Le langage est-il facile à comprendre ?
Rendre son site accessible, c'est commencer par le normer pour qu'il puisse être interprété de manière similaire par tous les logiciels qui exécuteront vos pages (comme par exemple les nouveaux appareils connectés au web qui ne sont pas des PC). En effet, si vos scripts ne respectent pas ces normes, les navigateurs auront du mal à réorganiser votre site de la même façon que vous pensiez l'avoir fait. Au mieux, cela change l'affichage de votre page mais au pire, cela peut omettre certaines informations du site.
Pour cela, outre la nécessité de respecter la normalisation du langage utilisé, il est recommandé par le W3C de séparer la structure de la présentation (le HTML4 et (X)HTML strictes du CSS). Cette séparation a beaucoup d'avantages pour le développeur (clarté du code, modifications plus faciles du design, proposer plusieurs design pour un même site, etc.) et permet donc aux logiciels en question de distinguer les deux. De plus, le CSS a de nombreux avantages comme le support des écrans des navigateurs, celui de l'impression ou encore le support des écrans de télévisions (cf. la
liste complète des propriétés CSS (en)).
Votre site est valide ? Vérifiez le grâce au
validateur du W3C (en). Vérifiez aussi si votre feuille de style est valide :
valider sa feuille de style (fr).
La page a-t-elle un sens sans la feuille de style ?
En séparant la structure de la présentation, on permet donc aux navigateurs de traiter indépendamment l'un de l'autre. Un bon test pour savoir si la structure de votre site est bien réalisée est de désactiver le CSS.
En procédant ainsi, vous devriez voir votre site hiérarchisé, cohérent et lisible.
Hiérarchisé, ça veut dire que les éléments les plus importants apparaissent en premier (lien vers le menu, lien vers le contenu, titre), puis les éléments secondaires (menu) suivi du contenu (articles, news, etc.) et pour finir, le pied de page (copyright, lien vers le haut de la page, etc.).
Cohérent, ça signifie que plus on va vers le bas de la page, plus la hiérarchie diminue ; donc, il serait par exemple incohérent de trouver un titre
<h1> en fin de page.
Lisible enfin, ça se traduit par le positionnement du texte avec une absence totale de présentation (pas de tableau pour positionner le menu et le contenu, pas d'alignement à droite ou à gauche, etc.).
Les liens de la page sont-ils logiques ?
Dans une page web, les liens abondent. Vous êtes-vous seulement posé la question suivante : qu'est-ce qu'un lien ?
Un lien, comme son nom l'indique, c'est ce qui lie deux pages entre elles. Quand on clique dessus, c'est pour se rendre sur la page vers laquelle il pointe.
Concrètement, ça veut dire qu'il est inutile de faire un lien qui pointe vers la page actuelle (un exemple courant, c'est un lien qui envoie à la page d'accueil sur la page d'accueil !), à l'exception des ancres qui permettent quant à elles d'accéder directement à une partie de la page (menu, contenu, etc.).
Il faut aussi penser à montrer au visiteur où il est et où il a été. Un bon exemple : les liens de Google qui deviennent violets quand vous avez déjà visité le site. C'est pratique, non ? Alors pourquoi vous n'aidez pas vos visiteurs à naviguer plus efficacement sur votre site ?
Ce sont des conseils simples mais très utiles pour améliorer la navigation sur un site. N'avez-vous jamais été perdus sur un site abondant de liens menant tous à des endroits différents, finalement liés entre eux, et impossibles à retrouver lors de votre seconde visite ? Alors ne faites pas la même chose chez vous.
Utilisez-vous le texte alternatif ?
Longtemps je me suis demandé à quoi servait le texte alternatif. Peut-être vous aussi. En fait, son utilité est très importante pour les navigateurs, les robots des moteurs de recherche et les visiteurs. Autant dire que ça devrait être obligatoire de mettre un texte alternatif pour chaque image de votre site !
Ce texte est une alternative à l'image. Il est utile lorsque l'image ne s'affiche pas bien entendu, mais aussi quand le navigateur (ou le visiteur) désactive volontairement les images (connexion lente, logiciel de revue d'écran, robots...).
Donc à partir de maintenant, toute image doit avoir un attribut
alt.
Pour savoir comment bien utiliser le texte alternatif, je vous propose la traduction d'un article de
WebAIM (en) sur pompage.net :
Bien utiliser le texte alternatif (fr).
Nota Bene : le texte alternatif ne s'applique pas qu'aux images. En fait, il doit être présent sur tous les supports différents du texte (images, scripts, sons, vidéos).
Persiste-t-il des tableaux ?
Il faut bien comprendre qu'initialement, les tableaux ont été conçus pour présenter des données tabulaires.
Est-ce que, lorsque vous écrivez des messages ou des tutos sur le Site du Zéro, vous utilisez les tableaux pour positionner votre texte ? Ça vous paraît peut-être absurde, mais c'est ce que certains font pour leur site web !
J'avoue d'ailleurs l'avoir déjà fait.
Bref, maintenant c'est terminé et cela pour plusieurs raisons.
- Les tableaux ralentissent le chargement de la page, et utilisent donc plus la bande passante (qui est payante, soit dit en passant
)
- Les tableaux ne sont pas pratiques pour gérer un design, comparé à ce qui est proposé par le CSS : c'est normal car ils ne sont pas faits pour ça : pourquoi faut-il utiliser des attributs comme colspan ou border="0" ? C'est dénaturer un tableau, alors autant prendre les bons outils !
- Ne plus utiliser les tableaux, c'est aussi garder une cohérence entre les différentes pages du site puisqu'elles seront gérées par une même feuille de style, au lieu de copier-coller des attributs de tableaux...
- Avez-vous déjà essayé d'imprimer une page web réalisée à coups de tableaux ? Eh bien pour éviter les dégâts, utilisez un langage qui supporte l'impression... le CSS, bien sûr !
- Pour finir, les tableaux ne sont pas considérés de la même façon par un moteur de recherche qui pense qu'il s'agit de tableaux de données tabulaires (grille des horaires des trains par exemple, ou prix d'un fromage dans différents supermarchés), et il a tout à fait raison ! Autrement dit, si le titre principal de votre site se trouve dans une cellule d'un tableau, les robots ne le considéreront pas comme un titre principal puisqu'il n'est pas à sa place. Sa place serait entre les balises <h1> et </h1>.
Alors qu'attendez-vous ? Le CSS vous tend les bras. Voici des
tutos pour faire une mise en page sans tableaux (fr), pour vous aider à démarrer !
Reste-t-il des cadres (frames) ?
Les frames, ce n'est pas terrible. Pas terrible car même s'ils permettent au navigateur de ne pas avoir à recharger une partie de la page à chaque fois que le visiteur clique sur un lien interne, ils provoquent un mauvais accès à la page.
En effet, les frames ont pour conséquence que chaque page du site est représentée par une seule et même URL. C'est peut-être beau mais ce n'est pas accessible du tout.
De plus, les moteurs de recherche supportent mal les frames : ils ne peuvent donc pas référencer tout le site, et donc cela a plusieurs conséquences : une description du site non complète, non mise à jour et un mauvais lien vers le site puisque le moteur de recherche pointera vers une partie seulement de votre site (généralement la page d'accueil, celle par défaut) et non pas directement vers la recherche demandée par le visiteur.
Plus d'infos sur les frames (en).
Proposez-vous une navigation au clavier efficace ?
Proposer une navigation au clavier, c'est important pour ceux qui n'ont pas de souris, mais encore faut-il bien le faire.
Les deux moyens principaux sont l'
accesskey (touches de raccourcis pour atteindre un lien sur votre site) ou le
tabindex (ordonner les liens à sélectionner lorsqu'un visiteur se déplace avec la touche
tab du clavier).
Le problème de
tabindex c'est que même si ça parait accessible, ça ne l'est pas dans le sens où vous devriez concevoir ce problème sans avoir recours à cette astuce. Et voici un petit
tuto sur l'histoire de tabindex (fr), pour expliquer tout ça !
Concernant l'
accesskey, il s'agit tout simplement d'un échec car les combinaisons de raccourcis les plus simples sont déjà utilisées par le système d'exploitation. Voici un autre
tuto expliquant l'échec de l'accesskey (fr).
La sémantique
Être plus accessible, c'est donc être plus compréhensible. La sémantique est là pour ça : donner au contenu de votre site un sens.
L'exemple-type, c'est lorsque vous mettez en gras un mot ou une phrase : c'est pour dire que ce que vous avez mis en gras est plus important que le reste. Vous utilisez pour cela la balise HTML
<b> et <
/b>. Pourquoi ne pas tout simplement utiliser une balise qui dit : "ce qui est contenu entre ces deux balises est important" ? Utilisez donc la balise HTML
<strong> et
</strong> qui a beaucoup plus de sens que
<b> et
</b> puisqu'elle signifie : "ceci est important" et non pas : "ceci est gras". Important implique gras, mais gras n'implique pas forcement important !
En procédant ainsi, vous donnez un sens à ce qui est entre les deux balises et vous faites ainsi une distinction encore plus forte entre le contenu et sa forme.
Voici un
article sur la sémantique (fr) de Openweb qui convaincra les plus réticents d'entre vous.
Pour plus d'info, vous pouvez aussi consulter le
tuto abordant aussi la sémantique de
neoxx78.
Transformer son site inaccessible en un site accessible !
C'est un travail qui peut demander beaucoup de temps si l'on s'y prend mal. Avant de modifier quoi que ce soit de son site, il faut avoir bien compris ce qu'est l'accessibilité : ainsi, les modifications seront efficaces et ça vous évitera de recommencer à chaque fois. Posez-vous bien les quelques questions abordées ci-dessus et voyez comment résoudre chacune d'entre elles.
Vos modifications seront efficaces à long terme, par exemple si les technologies des navigateurs ont changé ou s'il existe une législation qui le demande.
De toute façon, rien ne sera inutile puisque le web va de plus en plus dans ce sens ; alors autant prendre de l'avance et montrer l'exemple.
Conclusion
Rendre son site accessible n'est pas compliqué lorsque vous avez réellement compris la logique et les enjeux de l'accessibilité des sites. Un avantage non négligeable c'est qu'en respectant toutes ces règles, les moteurs de recherche arriveront à
lire le contenu de votre site (textes, images, liens) beaucoup plus facilement !
Et si un robot peut lire aussi aisément un site en comprenant tout son sens, tous vos visiteurs devraient y arriver également !