Aller au contenu

Problème validation W3 après ajout de javascript


fgaascht

Sujets conseillés

Après chaque modification sur ma page, je vais la faire vérifier sur le W3C Markup Validation Service.

Malheureusement après l'ajout du code de cette page je me retrouve avec une liste impressionnante de faute.

Est-ce possible de corriger ces erreurs et si oui, comment ?

La page du W3C Markup http://validator.w3.org/

Ma page à tester - corriger: http://users.skynet.be/bk377295/test.html

Merci d'avance.

Lien vers le commentaire
Partager sur d’autres sites

Oui, je remarque que les erreurs sont renseignées et une indication aide à les corriger.

Ce que je voulais savoir c'est que si je les corrige, est-ce que le code javascript fonctionnera toujours ?

Lien vers le commentaire
Partager sur d’autres sites

Bonjour

Disons pour faire court que ce script JS n'est pas un chef-d'oeuvre :ph34r:

Tu as peut-être la solution d'externaliser le script, mais là en fait tu 'trompes' le validateur en gardant un code incorrect.

Autre solution, corriger le script: il faudra pour cela lui ajouter des <!-- commentaires HTML --> de part et d'autre, remplacer le <script language="javascript"> par un <script type="text/javascript> bien plus correct, éviter les hspace vspace et compagnie qui sont dépréciés depuis pas mal de temps, essayer de trouver un moyen de 'dégrader' correctement pour les visiteurs qui n'auront pas activé le JS etc, enlever les lettres capitales, etc..

Enfin, 3e solution: changer de script..

À ce propos, les "document.write" ne passent pas en XHTML pur et dur. Là, tu envoies tout de même ton contenu en "text/html" donc çà passe quand même, mais le jour où ton contenu sera envoyé en "application/xhtml+xml" ce script ne fonctionnera plus.

(Hors-sujet: étudiant en biologie moléculaire ? Vaste domaine, bien du courage ! ;))

Lien vers le commentaire
Partager sur d’autres sites

Merci pour la réponse,

je vais donc essayer de trouver un nouveau script qui me permette de mettre une image en popup car je ne pense pas que je vais m'aventurer à le "corriger" vu que je ne connais absolument rien en javascript (mais plutôt en ADN et merci pour les encouragements car les examens approchent...).

Connaissez-vous un site bien où les codes javascript sont corrects ? Où est-ce facile d'élaborer un code, compatible avec ma page, qui assure cette fonction? Sinon je vais garder ce code là que j'utilise déja sur mon site actuel.

Merci pour tout.

Lien vers le commentaire
Partager sur d’autres sites

J'ai décidé de supprimer le code javascript de ma page le temps de trouver quelque chose de plus "correct".

Mais le validator W3 m'informe à présent que cette ligne:

<meta Http-Equiv="Content-Language" content="fr"/>

comporte une erreur.

Comment corriger cette erreur ? Et est ce que cette meta est toujours nécessaire (sachant que je désire faire mon site en multilingues mais en ayant que un domaine en .be)

En regardant sur le site j'ai vu que je pouvais la remplacer par:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">

Est-ce la bonne solution ?

Merci d'avance.

Lien vers le commentaire
Partager sur d’autres sites

Tout est indiqué dans le validateur :

How to fix: check the spelling and case of the element and attribute, (Remember XHTML is all lower-case)

Si tu n'es pas très à l'aise avec l'anglais, il te précise que le XHTML s'écrit en bas de casse (pas de majuscule aux attributs).

Il te suffit donc de modifier ton attribut Http-Equiv, en http-equiv, et tout ira bien.

Lien vers le commentaire
Partager sur d’autres sites

Je ne suis pas mauvais en anglais mais juste mauvais en informatique de ne pas savoir ce que veux dire "en bas de casse".

Merci pour ta réponse.

Lien vers le commentaire
Partager sur d’autres sites

"bas-de-casse" relève plus de la typographie/imprimerie que de l'informatique.

"lettre minuscule" est sa traduction en langage courant ;) (c'est un abus de langage d'ailleurs)

Aucune capitale (= majuscule) ne doit être mise dans le nom des balises ou de leurs attributs, en XHTML (à cause de l'héritage XML).

Uniquement comme valeur d'un attribut.

Donc <meta Http-Equiv="Content-Language" content="fr"/> est invalide alors que <meta http-equiv="CoNteNt-LAnGuaGe" content="Fr"/> est valide (mais risque de ne pas être reconnu par les navigateurs).

Effectivement tu as de toute façon plutôt intérêt à supprimer cette ligne inutile et à utiliser les attributs "lang" et xml:lang" dans la balise <html>.

La valeur sera alors le code-langue en 2 lettres (bas-de-casse elles aussi) selon la norme ISO 639

Sinon tu as aussi la possibilité d'indiquer le pays en plus de la langue: dans ce cas il faudra revenir à une balise meta. Plus d'infos sur l'excellent site d'Alexandre Alapetite, rubrique meta-informations en HTML

A+

Lien vers le commentaire
Partager sur d’autres sites

Posté (modifié)

Merci pour ces precisions.

J'ai donc rajouté la ligne:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr-BE">

sans le / (et non comme il l'est dit sur le site web que tu as cité précédement car ce n'est pas une meta tag)

ainsi que la ligne:

<meta name="language" content="fr-BE"/>

En tout cas pour l'instant je n'ai plus d'erreurs.

Modifié par fgaascht
Lien vers le commentaire
Partager sur d’autres sites

Ce n'est pas parce qu'il s'agit d'un meta-tag ou pas, que le slash de fermeture est spécifié.

C'est juste que la balise <html>, admet une balise fermante </html>, alors que la balise <meta> ne possède pas de balise fermante (d'où le slash de fermeture en fin de balise).

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...