5568 sujets

Sémantique web et HTML

Bonjour,

J'ai un problème de validation w3c uniquement avec validome (avec le validateur du w3c l'erreur ne sort pas) :

si j'écris <a href="#" onclick="javascript ......

validome refuse en disant que l'ancre n'existe pas.

Que faut-il écrire ?

a href="" ?

Ou faut-il formuler autrement le lien javascript ?

Merci de me conseiller.
Bonsoir,

1. Changer de validateur. Validome est supposé valider le code (X)HTML, pas l'accessibilité. Cette syntaxe n'a rien d'invalide.

2. Suivre tout de même le conseil en fonction de la nature précise du script, de la page, etc : ce lien sera problématique pour tous les utilisateurs sans javascript. Lire par exemple N'utilisez jamais <a href="#" onclick="window.open(...);

<edit>Ne surtout pas mettre a href=""</>
Modifié par Laurent Denis (07 Jan 2006 - 19:53)
Fais ton possible pour mettre une vraie URL dans le href.
Mais si tu ne peux pas, tu es obligé de faire href="#" ou href="javascript:...". Mais dans ce cas, préviens que si javascript est désactivé, les liens ne fonctionneront pas.
Merci de vos réponses.

==> Laurent Denis : je n'utilise jamais <a href="#" onclick="window.open(...);
Je mets <a href="pgm.php" onclick="window.open(this.href); return(false);">
Est-ce correct ?

==> QuentinC : est-ce mieux (si on est obligé) de faire
href="#" onclick="javascript:...."
ou bien directement href="javascript:...". ?
buzzcocks a écrit :
==> Laurent Denis : je n'utilise jamais <a href="#" onclick="window.open(...);
Je mets <a href="pgm.php" onclick="window.open(this.href); return(false);">
Est-ce correct ?


Oui.
buzzcocks a écrit :

==> QuentinC : est-ce mieux (si on est obligé) de faire
href="#" onclick="javascript:...."
ou bien directement href="javascript:...". ?


Les deux se valent : aucune n'est meilleure que l'autre. Juste une remarque, dans onclick, on ne précise pas "javascript:" car on a forcément affaire à du javascript.
Et si le validateur t'embêtes met <a href="#here" onclick="...> où here est une ancre qui n'existe pas...

ça ne changera rien (ni en bien, ni en mal si un javascript obstructif suit) mais le validateur sera content.

<edit>
De toute façon dans la mise en oeuvre de ce genre de chose, en plus de ne pas être obstructif il est bien d'être discret. Donc un lien qui n'existe que pour permettre un évènement javascript devrait lui être généré par javascript et non se trouver en dur dans le document.
</edit>
Modifié par clb56 (10 Jan 2006 - 19:53)