"target=_blank" n'est pas valide en doctype strict. Que faire ?

Astuce par Raphael (Eleveur de kiwiz, Strasbourg)
Mis à jour le 23 Janvier 2009 à 20h07. 5431 lectures.
Tags : xhtml, target, blank

La propriété "Target" est une façon d'imposer une navigation aux visiteurs. Elle n'est plus acceptée par le W3C dans les versions strictes de HTML et XHTML.

Plusieurs solutions :

1- 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;" 

2- 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

3- laisser libre le visiteur et ne pas imposer de nouvelle fenêtre. C'est sans aucun doute le meilleur choix à faire.

4- indiquer clairement au visiteur que le lien va s'ouvrir dans une nouvelle fenêtre (image, indication, infobulle, etc.)

ALLER PLUS LOIN :

"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)

A lire :

Ressources