marcelman Posté 23 Septembre 2006 Posté 23 Septembre 2006 (modifié) J'ai passé mon site au validateur et il me reste quelques erreurs que je n'arrive pas à corriger parce que je ne comprends pas bien leur nature. 1) J'ai pour un formulaire, le code de navigation suivant <input id=envoyer onClick=java script:concours(); type=button value=Valider name=envoyer> Le w3c m'indique que ma fonction onclick=java script:concours() n'est pas valide, mais je ne comprend pas pourquoi. J'ai essayé de mettre des "" dans la parenthèse comme suggéré par le validateur, mais l'erreur ressort... Que faire ? 2) J'ai sur cette page des fonctions fieldset qui visiblement ne sont pas conformes, et la présence de balises <p> dans les fieldset qui perturbent le validateur. Là encore, je ne trouve pas le pourquoi, ni le comment faire. 3) J'ai un lien sur une page qui est écrit comme suit http://www.egazetteduspectacle.com/multi.php?id_article=271&id_rub=38" qui m'a été transmis par le webmestre dudit site et dont le id_rub=38 est invalidé. Qué pasa ? Merci les fortiches de me donner un coup de main. Modifié 23 Septembre 2006 par marcelman
captain_torche Posté 23 Septembre 2006 Posté 23 Septembre 2006 Aucun des paramètres de ton champ n'est entre guillemets, ce qui doit poser pas mal de problèmes. D'ailleurs, il ne faut pas non plus écrire "java script:concours()", mais attacher java et script (quoique cette écriture me semble optionnelle, on peut se passer de la précision du langage). Ce qui donnerait donc (En HTML) : <input id="envoyer" onClick="concours();" type="button" value="Valider" name="envoyer"> Pour ce qui est de ton url, pour être valide, il faut que ton amperstand (&) soit remplacé par son équivalent HTML : & Ce qui donnerait : http://www.egazetteduspectacle.com/multi.php?id_article=271&id_rub=38
Dudu Posté 23 Septembre 2006 Posté 23 Septembre 2006 Salut Écris "onclick" sans aucune majuscule; si tu es en XHTML c'est un cas classique puisqu'aucune majuscule n'est tolérée dans les attributs. D'ailleurs, il ne faut pas non plus écrire "java script:concours()", mais attacher java et script C'est le forum Invision qui coupe le mot en deux Ça le fait uniquement si le mot javascript est précédé et/ou suivi d'un caractère (des guillemets, des deux-points, etc.)
marcelman Posté 23 Septembre 2006 Auteur Posté 23 Septembre 2006 Merci les gars, ça fonctionne. Il me reste maintenant le cas de la balise <fieldset> qui me met le bazar. Un endroit où je peux trouver quelque chose de clair sur son fonctionnement et pourquoi le validateur me dit que la balise <p> est incorrecte dans fieldset... ?
Vikchill Posté 24 Septembre 2006 Posté 24 Septembre 2006 Sauf erreur, la première chose que doit contenir un <fieldset> est un <legend>.
Zen_Spirit Posté 24 Septembre 2006 Posté 24 Septembre 2006 Salut tout lemonde ! Marcelman, je me permets d'emprunter ton post. je suis en train de construire mon site qui avance pas à pas en partie grâce à ce forum ! Juste deux ou trois petites questions : 1- A quoi sert réellement le fait passer son site au validateur ? 2- Quelles gêne éventuelles celà peut occasionner ? 3- Les erreurs que le validateur détectent pénalise en quoi ? 3- C'est dans quel but, en fait ? Bien que celà ne veuille pas dire non plus que mes pages sont bourrées d'erreur. Non, mais j'ai besoin d'information. Merci !
Sebastien Posté 24 Septembre 2006 Posté 24 Septembre 2006 En passant ton site au validateur tu es sûr d'utiliser la bonne syntaxe, et donc d'être bien compris de tous les agents qui peuvent accéder à tes pages : navigateurs, robots etc. Ceci dit une erreur peut être soit grave (pas d'ouverture de <body) , soit insignifiante (utiliser <br> au lieu de <br /> en XHTML).
marcelman Posté 24 Septembre 2006 Auteur Posté 24 Septembre 2006 En effet, la validation permet de vérifier que ton site est lisible par tous dans le codage choisi (html pour ce qui me concerne). Et puis, il parait que ça améliore du coup le référencement. Il me semble surtout, pour le débutant que je suis, que ça aide aussi à progresser en traquant les erreurs. A ce sujet, j'ai par exemple compris certaines des erreurs indiquées sur mes fieldset : 1/ J'avais défini sur la page un font qui englobait les fieldset, or on ne met pas de type block dans un type inline. 2/ J'avais des fieldset sans legend (en clair, pas de titre). J'ai donc pu résoudre des erreurs. J'en ai comprises certaines, et d'autres, que je n'ai pas comprises feront l'objet pour moi d'études ultérieures ou de questions. En fait, ça permet d'améliorer la sémantique de ton site, d'avancer un peu tout seul et de faire des pages qui ressemblent à quelque chose. Par exemple, pourquoi ne peut-on mettre de balise <p> dans une balise <fieldset> : un block dans un block, où est le problème ? J'ai encore un soucis sur certaines pages. En particulier un scroller qui me permet, soit de faire défiler un texte en haut ou bas de page, soit (comme sur ma page d'amorce) de mettre les bannières des partenaires du site sans faire de page "liens" (j'aime pas) et sans avoir une page polluée par des bannières dans tous les sens. C'est ultra pratique, mais non conforme. Voici le code <marquee class="scroller" bgcolor="#ccccff" height="50" scrollamount="3" scrolldelay="0" direction="up" onmouseover="this.stop()" onmouseout="this.start()"> Si vous avez une idée de pourquoi le validateur refuse la totalité de ce code, je suis preneur. PS : J'ai chopé ce code sur astwind. C'est peut-être une cochonnerie ou bien j'ai mal modifié le code...
captain_torche Posté 24 Septembre 2006 Posté 24 Septembre 2006 Tout simplement parce que l'élément "marquee" n'a jamais existé dans les spécifications W3C. C'est un code propriétaire Microsoft, que d'autres navigateurs utilisent pour des raisons de compatibilité, mais aucun validateur ne l'acceptera.
georges Posté 24 Septembre 2006 Posté 24 Septembre 2006 Et puis, il parait que ça améliore du coup le référencement. rien de plus faux (malheureusement)... des sites très mal codés, bourrés d'erreurs de syntaxe x(html) sont en très bonne position et des sites irréprochables sont à la traîne... disons simplement qu'un bon codage peut constituer un frein de moins au référencement mais il ne l'améliore en aucun cas...
marcelman Posté 25 Septembre 2006 Auteur Posté 25 Septembre 2006 Tout simplement parce que l'élément "marquee" n'a jamais existé dans les spécifications W3C. C'est un code propriétaire Microsoft, que d'autres navigateurs utilisent pour des raisons de compatibilité, mais aucun validateur ne l'acceptera. Existe-t-il un moyen validé d'obtenir le même résultat ?
captain_torche Posté 25 Septembre 2006 Posté 25 Septembre 2006 Je pense, en utilisant JavaScript. Mais ça sera beaucoup de travail pour pas grand chose, au final. Le mieux serait, à la rigueur, de faire un code PHP qui irait rechercher une bannière au hasard dans un répertoire, et qui la fera changer à chaque page.
marcelman Posté 26 Septembre 2006 Auteur Posté 26 Septembre 2006 En fait l'idée, c'est, soit de donner une actu sur le site en évitant les pop-up qui sont désagréables et souvent passent à l'as car les internautes utilisent les bloqueurs de pop-up, soit de faire défiler les bannières et liens de sites qui nous référencent ou avec lesquels on a des accords d'échange de lien. Le tout sans trop polluer le visiteur. A part ça, je suis content d'avoir un site entièrement validé (exception faite de la page avec le marquee). J'ai trouvé un site qui propose de la validation multi page, ce qui est très pratique pour un site de 150 pages... Pour info : http://www.validateur.ca/ . Il indexe les pages à partir de ton url et te donne toutes les erreurs page par page.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant