5568 sujets

Sémantique web et HTML

Bonjour,

J'ai un problème de validation (HTML5) pour une balise <area>.

Dans la même page, ce code est validé :

a écrit :

<map name = "MapOnglets">
<area shape="poly" coords="55,54,128,54,50,187,-2,154" href="Index.html" alt="Accueil"/>
<area shape="poly" coords="131,54,204,54,127,187,72,154" href="CV.html" alt="Curriculum"/>
<area shape="poly" coords="207,54,280,54,203,187,150,154" href="Realisations.html" alt="Réalisations"/>
</map>


Et celui ci non :

a écrit :

<map name = "MapOngletsReas">
<area shape="poly" coords="0,31,80,71,61,111,0,80" alt="Web" onclick="javascript:ChangeContenuReas('Web')" style="cursor:pointer;"/>
<area shape="poly" coords="0,0,46,0,189,70,170,111,0,28" style="cursor:pointer;" onclick="javascript:ChangeContenuReas('Graphisme');AffGraph(TraitementXML)" alt="Graphisme"/>
<area shape="poly" coords="52,0,154,0,298,70,280,111" style="cursor:pointer;" onclick="javascript:ChangeContenuReas('Programmation')" alt="Programmation"/>
</map>


Le validateur me retourne l'erreur suivante pour chaque balise area :

a écrit :
Required attributes missing on element area.


Le problème est résolu lorsque j'ajoute l'attribut "href".
Oui mais voila, j'ai pas envie d'avoir un lien moi, je veux déclencher une fonction javascript.

Il existe l'attribut "nohref".

Testons dans le validateur :

a écrit :
The nohref attribute on the area element is obsolete. Omitting the href attribute is sufficient.


Je ne suis pas une brute en anglais, mais il me semble que cela signifie que je peux tout simplement omettre l'attribut herf non?
Dans ce cas, pourquoi le validateur me dit il qu'il me manque des attributs?

Merci d'avance pour vos réponses Smiley smile
Modifié par The_Moye (21 Oct 2010 - 02:10)
Mets un attribut href avec la valeur # et ça devrait passer.
Et n'oublis pas de renvoyer false à la fin de la fonction javascript que tu appelles. Smiley cligne
Bonjour moust, merci pour ta réponse Smiley smile

Effectivement, c'est la solution que j'ai adopté, mais n'est ce pas étrange que le validateur m'indique que je peux m'en passer, et une fois cela fait qu'il ne me valide pas ma page? :o

a écrit :
Et n'oublis pas de renvoyer false à la fin de la fonction javascript que tu appelles. cligne

Pourquoi dois je retourner false? Smiley murf
A ma connaissance le validateur HTML5 est encore en beta. C'est peut-être un bug.

Retourner false à la fin de la fonction javascript appelé permet d'éviter de suivre le lien (/# en l'occurrence).