Aller au contenu principal

dreamstime_1151080En matière d'accessibilité et de conformance aux standards du Web, il apparaît que l'usage de la norme xHTML strict nous prive d'un certain nombre de balises "classiques" de l'HTML 4 telles que le B (gras), le I (italique) ou encore le U (underline). S'il est facile de s'en passer en adoptant une classe du choix de style à utiliser (ex : une class "gras" dans un span puis span.gras définie dans une feuille CSS), il n'en va pas de même pour l'attribut TARGET permettant de piloter la cible d'ouverture d'un lien : dans la même fenêtre (target=_self), dans une nouvelle (target=_blank), dans une fenêtre parente (target=_parent), etc.

C'est donc avec beaucoup de ferveur que l'on a commencer à chercher des solutions alternatives à l'utilisation de la balise TARGET. Plusieurs options se sont présentées, et après en avoir testées plusieurs je me suis arrêtée sur la plus simple et la plus efficace : il s'agit d'intégrer au site un fichier javascript lisant une instruction déclenchée par un nom de classe appliquée à vos liens.

Dans son excellent article "Opening new windows with JavaScript", Roger Johansson nous livre une version de ce fichier javascript allant plus loin que la simple ouverture d'une nouvelle fenêtre.

Le résultat est clair et sans appel : tous les liens dotés de la classe "ouverture dans une nouvelle fenêtre" sont ouverts dans une nouvelle fenêtre, les autres dans la fenêtre en cours. Si vous ajoutez 2/3 lignes de mise en forme de ces liens, vous êtes capables de faire distinguer les liens externes et internes.

Les avantages de l'usage de javascript pour l'ouverture de nouvelles fenêtres

Et l'accessibilité me direz-vous ?

Pas de soucis de ce côté : les navigateurs non javascripts prennent le lien comme un lien "en dur", ce qui, d'un point de vue référencement- arrange bien les choses.

De plus, la version révisée par Roger Johansson n'ouvre pas le lien dans une nouvelle fenêtre lorsqu'une touche de modification est pressée. Cela signifie qu'en cliquant sur le lien et en pressant ctrl/shift/cmd, le lien est pris comme normal.

De plus, le script vérifie si la fenêtre a été correctement ouverte. En cas d'erreur, elle lance l'ouverture "normale" du lien dans la fenêtre initiale.

Pour garantir un niveau d'accessibilité et de respect de l'utilisateur optimal, un message automatique, configurable, est envoyé lors du survol du lien afin de prévenir le visiteur que ce lien sera ouvert dans une nouvelle fenêtre. Bref, un petit truc qui en vaut bien des gros !