L'attribut target
est une façon d'imposer une navigation aux visiteurs. Elle n'est pas acceptée par le W3C dans les versions strictes de HTML et XHTML. Elle fait par contre son retour dans HTML5 pour l'élément a car très utile en combinaison avec les <iframe>
et les applications web.
Plusieurs solutions
-
Utiliser un équivalent en JavaScript (mais l'esprit reste le même, cela force le comportement de l'utilisateur) :
onclick="window.open(this.href); return false;"
- Choisir, comme le recommande le W3C dans ce cas, un doctype transitionnel. Voici son avis sur la question : http://www.w3.org/MarkUp/2004/xhtml-faq#target
- Laisser libre le visiteur et ne pas imposer de nouvelle fenêtre. C'est sans aucun doute le meilleur choix à faire.
- Indiquer clairement au visiteur que le lien va s'ouvrir dans une nouvelle fenêtre (image, indication, infobulle, etc.)
Un peu de philosophie
target
va contre la philosophie de laisser le visiteur libre de sa navigation. Elle pose également de gros problèmes d'accessibilité, notamment aux utilisateurs non-voyants. Soit on adhère à cette philosophie, soit on n'y adhère pas. Toute la question est là... et les réponses en découlent très logiquement :
- Si on y adhère, on refuse d'employer target (ou toute autre bidouille javascript équivalente)
- Si on n'y adhère pas, le W3C a la réponse : "If you want to use the target attribute, use XHTML 1.0 transitional." (solution 2)
Ressources
-
Liens vers une nouvelle fenêtre :
http://www.cybercodeur.net/weblog/articles/art_20041030.php -
Tuto sur Alsacréations:
Ouvrir des liens externes dans une nouvelle fenêtre -
Une très bonne synthèse pratique :
http://www.ultra-fluide.com/ressources/xhtml/target.htm