5372 sujets

Sémantique web et HTML

Pages :
Salut à tous,
je suis un nouveau sur le forum, mais je visite fréquemment le site. Je voulais savoir si il y avait un moyen pour faire un sorte de target="blank", mais que la page web demeure xHTML STRICT valide?

Merci en avance.
Modifié par Vlad (27 Mar 2005 - 22:34)
Peut être avec une grosse couche de javascript... Mais c'est vachement limite comme méthode.

Pourquoi ne pas utiliser du transitionnel si tu as besoin de target="_blank". Rien n'oblige à utiliser du Strict. Le plus important est d'utiliser le Doctype qui correspond à tes besoins.
Modifié par Bebop (06 Mar 2005 - 23:32)
Bonjour,

La "grosse couche" de JavaScript est proposée dans cet article d'Eric Daspet :
Liens et nouvelle fenêtre Smiley cligne

Mais je rejoins l'avis de Bebop : le bon doctype est celui qui correspond à tes besoins.
Modifié par Monique (06 Mar 2005 - 23:53)
Rien ne m'oblige à utiliser du xHTML STRICT, mais j'aime mieux ça car je sais que mon codage est meilleur. C'est juste que j'aimerais savoir si c'est possible de mettre des sortes de target="_blank" et que le code demeure xHTML STRICT valide. Par contre, si le code est 3 pages de long, je vais laisser faire.
Bonjour Vlad et bienvenue à toi,

J'en remet une couche moi aussi. Smiley cligne
Il n'y a rien de mal à utiliser un xhtml 1 transitional et même html 4.01 si tu as un usage justifié d'un target="_blank", c'est même ce que je te conseille, l'important n'est pas d'être "strict" à tout prix mais de coder conforme à la dtd que l'on choisi selon ses besoins.
On (re)lira avec profit à ce sujet: Ne validez pas en aveugle : lisez la doc !
Merci pour la bienvenue Igor, mais je voudrais te dire que je voulais à tout prix rendre mon site xHTML STRICT valide. C'est juste je voulais savoir s'il y avait une solution à ça, sans que ça soit trop complexe. Cependant, merci pour l'article.

@+
Vlad a écrit :
(...)je voudrais te dire que je voulais à tout prix rendre mon site xHTML STRICT valide(...)

Y a t-il une raison particulière à cela hormis la beauté du geste qui je te l'accorde fait bien plaisir aux concepteurs web Smiley biggrin , moi le premier. Si tes besoins pour un site font que tu doives utiliser tel ou tel technique non valide en "strict" le mieux est de passer en "transitional" et de demeurer valide plutôt que de n'être pas valide et pas strict Smiley lol . Cela n'aurait pas de sens de par exemple utiliser du javascript pour l'ouverture de nouvelles fenêtre tout en tentant par ce biais de rester valide avec un doctype pas adapté à ses besoins.
La validité formelle est une aide à la conception de bonnes pages, pas l'unique, mais un pas important vers une démarche de qualité. Smiley cligne Autant ne pas la détournée.
Salut encore une fois.
Bon, je n'ai pas besoin du target="_blank", c'est juste que j'voulais savoir s'il y avait une autre solution, c'est tout. Smiley cligne

@+
Igor a écrit :

Y a t-il une raison particulière à cela hormis la beauté du geste qui je te l'accorde fait bien plaisir aux concepteurs web Smiley biggrin , moi le premier. Si tes besoins pour un site font que tu doives utiliser tel ou tel technique non valide en "strict" le mieux est de passer en "transitional" et de demeurer valide plutôt que de n'être pas valide et pas strict Smiley lol . Cela n'aurait pas de sens de par exemple utiliser du javascript pour l'ouverture de nouvelles fenêtre tout en tentant par ce biais de rester valide avec un doctype pas adapté à ses besoins.
La validité formelle est une aide à la conception de bonnes pages, pas l'unique, mais un pas important vers une démarche de qualité. Smiley cligne Autant ne pas la détournée.

Voilà Smiley smile Si l'XHTML impose qu'on ne puisse ouvrir de nouvelle fenêtre, alors il faut le respecter à tous points, et ne pas utiliser de JavaScript ou autre technologie.
De plus, c'est plutôt logique cette histoire de nouvelle fenêtre. L'XHTML étant censé "tourner" sur n'importe quel type de périphérique, le concept de nouvelle fenêtre est inexistant sur certains types de média.
Administrateur
Vlad a écrit :
Salut encore une fois.
Bon, je n'ai pas besoin du target="_blank", c'est juste que j'voulais savoir s'il y avait une autre solution, c'est tout. Smiley cligne

@+

Comme tu dois t'en douter, la question a déjà été souvent posée.

Dans ce cas, le mieux est de vérifier tout d'abord si elle ne figure pas déjà dans FAQ (comme par hasard, elle s'y trouve Smiley smile )

Sinon, la Recherche t'aurait certainement proposé de nombreuses pistes.
Au hasard :
- http://forum.alsacreations.com/topic.php?fid=2&tid=363
- http://forum.alsacreations.com/topic.php?fid=2&tid=1873
- http://forum.alsacreations.com/topic.php?fid=2&tid=241
- ...
Comme en témoigne le post de Raphaël, le sujet target="_blank" revient très souvent à la une de nombreux sites, et notamment sur le forum Alsacreations.
Je constate à chaque fois que le sujet amène une avalanche de réponses parfaitement normalisées et normatives. J'ai toujours l'impression que l'utilisateur de target="_blank" devient le bouc émissaire permettant aux esprits bien-pensants, mais en manque d'esprit critique, de se tenir bien au chaud.

A l'évidence, je ne vais pas me faire que des copains aujourd'hui mais je prends le contre-pied.
Le discours normatif est en substance à peu près celui-ci :
1/ utilisateur de target="_blank" remets toi en au modèle TRANSITIONNAL et ne monte pas sur les plates-bandes du STRICT.
2/ target="_blank" pose de nombreux problèmes et n'est pas dans l'esprit des standards du W3C

Pour aborder honêtement le point 2/ il est temps de distinguer 2 choses : l'attribut target d'une part, la fonctionnalité d'ouverture d'un contenu dans une nouvelle fenêtre d'autre part. La fonctionnalité "ouverture d'un contenu dans une nouvelle fenêtre" semble admise par le W3C et promise au rang de standard dans le futur puisqu'elle fait partie à aujourd'hui du draft CSS3. L'attribut target de son coté ne fait que proposer une implémentation douteuse de la fonctionnalité. Le problème auquel on est confronté est que l'attribut target constitue l'unique implémentation simple et universelle de la fonctionnalité. Qui plus est cette implémentation a été introduite par le W3C lui même. Le webmaster est donc simplement face à une carence des standards.
En résumé : la fonctionnalité est bien dans l'esprit des standards, son implémentation actuelle ne l'est plus mais elle est l'unique à aujourd'hui.

Le point 1/ confine au ridicule. Le modèle TRANSITIONNAL comprend un grand nombre d'éléments et d'attributs obsolètes. Il paraît donc légitime pour qui s'intéresse au standards de préférer le modèle STRICT. Il me semble que l'utilisateur d'un modèle STRICT avec target est infiniment plus proche du strict modèle STRICT que du modèle TRANSITIONNAL. Je ne vois donc aucune raison d'encourager un webmaster à utiliser le modèle TRANSITIONNAL simplement parce qu'il a besoin d'une fonctionnalité faisant l'objet d'une implémentation déficiente dans les standards.
Pour une meilleure conformité à l'esprit des standards, j'encouragerais donc à l'utilisation du modèle STRICT, même pour ceux qui doivent utiliser target= "_blank". D'ailleurs pour être totalement valide et répondre finalement à la question de Vlad par autre chose « qu'une grosse couche de javascript », il est possible d'utiliser une DTD qui reprends la DTD XHTML STRICT et l'augmente du module Target du W3C.
Administrateur
Xavier a écrit :

1/ utilisateur de target="_blank" remets toi en au modèle TRANSITIONNAL et ne monte pas sur les plates-bandes du STRICT.
2/ target="_blank" pose de nombreux problèmes et n'est pas dans l'esprit des standards du W3C

Pour répondre rapidement à la fois au 1 et au 2, je dirais simplement qu'il s'agit de l'application stricte des préceptes du W3C, qui lui-même invite à utiliser le mode transitionnel dans ce cas précis :
http://www.w3.org/MarkUp/2004/xhtml-faq#target

W3C a écrit :
If you want to use the target attribute, use XHTML 1.0 transitional.


PS : Le Transitionnel est aussi valide que les autres. Rien n'empêche d'être très strict dans le code et ne s'autoriser qu'un seul écart, celui du target.
Au fait, la validation est bien moins importante que la qualité du code produit et la prise en compte des utilisateurs.
Modifié par Raphael (07 Mar 2005 - 13:16)
Bon... aller... je suis modo, mais je vais venir foutre ma zone Smiley lol

Comme je ne vois pas en quoi utiliser du JavaScript c'est mal, voici un moyen d'utiliser celui-ci pour émuler target en respectant les navigateurs et les plate-forme :

<a href="index.htm" onclick="this.target='_blank'">Accueil</a>


Comme ça, tous le monde est contant : Si JavaScript est désactivé, le lien fonctionne toujours, si le navigateur ne supporte pas l'attribut target via Javascript, le lien fonctionne toujours... et finalement, avec JS plus compréhension de l'attribut target par le navigateur, le lien s'ouvre dans une nouvelle fenètre ! Smiley biggol
Administrateur
@Jep > mouais, utiliser JS simplement pour avoir un beau bouton "valid strict" : bof.
Mais bon, chacun son point de vue Smiley cligne
Tout a fait d'accord avec toi Raph (mais je suis d'humeur taquine en ce moment)... c'est d'ailleur pour ça que je ne code qu'en XHTML transitionnal Smiley cligne

Mais le truc, c'est que je ne supporte pas les réaction qui vise à diaboliser le JavaScript. De la même façon qu'on ne code pas de la même façon HTML et XHTML, JavaScript, ce n'est pas mal, ça peut même être très utiles, mais ça demande beaucoup de rigueur pour que ce soit correctement utilisé, correctement codé et que ça s'intègre de manière transparente à un site. Smiley smile
Xavier a écrit :

Le point 1/ confine au ridicule. Le modèle TRANSITIONNAL comprend un grand nombre d'éléments et d'attributs obsolètes. Il paraît donc légitime pour qui s'intéresse au standards de préférer le modèle STRICT.


Pourtant, on peut faire en transitional exactement la même chose que ce qu'on aurait fait en STRICT, et on peut en plus ajouter des target un peu partout sur nos liens. Hé, mais ça tombe bien, c'est exactement ce que veut l'auteur de ce topic!

a écrit :

D'ailleurs pour être totalement valide et répondre finalement à la question de Vlad par autre chose « qu'une grosse couche de javascript », il est possible d'utiliser une DTD qui reprends la DTD XHTML STRICT et l'augmente du module Target du W3C.


Je serais curieux de savoir comment tu vas faire comprendre à l'agent utilisateur que cet attribut que tu ajoutes ainsi signifie qu'il doit ouvrir le lien dans le cadre cible (ou nouvelle fenêtre si _blank).

Jep: Ta solution marchera probablement mais je ne vois pas l'avantage par rapport à window.open(). De plus, ça revient à ajouter un attribut non valide en regard du doctype du document. C'est très limite.
Bonjour,

Pour que les choses soient claires sur la manière dont les navigateurs (actuels ou futurs) devraient interpréter le code d'une page, je crois qu'il est important de bien choisir le doctype utilisé et de produire un code en adéquation avec ce doctype, sans utiliser de moyens détournés pour "tromper" le validateur.

Choisir le transitionnal uniquement pour le target="_blank" peut sembler excessif en donnant la "permission" d'utiliser des éléments obsolètes.
Comme l'a dit Raphael rien n'empêche de coder dans l'esprit du doctype strict, rien n'empêche non plus de forcer la validation en mode strict lors des vérifications en cours de travail... si la seule erreur signalée est le target="_blank" il ne reste plus beaucoup de soucis à se faire Smiley biggrin
N'oubliez pas que les DTD ne sont rien d'autre que des définitions de formats, normalisées par souci d'interopérabilité.

XHTML1.0 strict exclut l'attribut target. Ce format ne convient donc pas à un auteur ayant besoin de cet attribut. Réintroduire le comportement induit par cet attribut par la petite porte du javascript n'y change rien : le choix de ce format exclut de fait certaines choses. Faire du XHTML 1.0 strict invalide à cause d'un attribut target n'a aucune utilité.

XHTML1.0 transitional inclut cet attribut, et d'autres choses. En lui-même, il ne contient aucun présupposé sur la qualité de votre code. Autrement dit, il n'a rien de péjoratif. Utilisez-le quand il s'agit d'un élément ou d'un attribut dont vous avez besoin.

XHTML modulaire vous permet (vous permettra) de déterminer selon vos besoin votre propre DTD XHTML, avec ou sans target.

Dans tous les cas, il ne s'agit que de respecter un format, ce qui suppose une part d'obéissance bête à un arbitraire parfois bête. Détourner XHTML strict n'a à cet égard pas d'intérêt, puisque le format n'est pas respecté.
Modifié par Laurent Denis (07 Mar 2005 - 15:20)
Désolé Raphael pour ne pas avoir regardé ces posts que tu m'as donné Smiley confused . Ouais, même si je n'ai pas accès au target="_blank" sous xHTML STRICT, je crois que je vais quand même rester sous xHTML STRICT. À cause, je voulais, pour la première fois, essayer de faire un site qui sépare la mise en page et le contenu. Je suis encore en train de travailler sur celui-ci, mais comme ce n'est pas une nécéssité pour moi d'avoir accès target="_blank", je vais rester sous STRICT. Merci à tous pour votre aide! Smiley biggrin
Pages :