5568 sujets

Sémantique web et HTML

Bonjour!

Suite a un commentaire sec et dure d'un des alsacreationniens me reprochant de "mal codé", j'ai décider de me faire tamponner xhtml valid. J'ai bouffer pas mal de livre et de référence sur internet. Ma page est completement valide sauf ceci:

a écrit :


Error 1. Line 8 column 0: unclosed start-tag requires SHORTTAG YES.

<link rel="stylesheet" type="text/css" href="style.css"/>

Error 2 Line 8 column 0: end tag for "meta" omitted, but OMITTAG NO was specified.

<link rel="stylesheet" type="text/css" href="style.css"/>

You may have neglected to close an element, or perhaps you meant to "self-close" an element, that is, ending it with "/>" instead of ">".



Je séche... y'a t-il un ordre pour déclarer les meta etc?
Modifié par Samuel (13 Jan 2007 - 09:03)
Administrateur
Hello,

Ce sujet ne constitue ni une ressource ni un lien sur les standard, je le déplace donc dans le bon salon : "HTML, XHTML, sémantique web,
Les langages hypertexte, l'utilisation des balises, la structure des sites internet et leur validation W3C"
Administrateur
Samuel a écrit :
Je séche... y'a t-il un ordre pour déclarer les meta etc?

Non.
Comme le dit le validateur, tu dois fermer les éléments auto-fermants avec une espace puis un slash et non simplement un slash :

- <link rel="stylesheet" type="text/css" href="style.css"/> = pas bien
- <link rel="stylesheet" type="text/css" href="style.css" /> = bien

Si tu as des soucis avec les explications en anglais, il vaut mieux utiliser le validateur en français, Validome, que nous présentons dans un sujet en post-it de ce salon Smiley cligne
Modifié par Raphael (13 Jan 2007 - 10:28)
J'en mets par habitude, mais les espaces pour fermer les balises simples sont-ils vraiment obligatoires, sachant que XHTML hérite de la syntaxe XML ?

(Les recherches que j'ai faites sont trop vagues)
Modifié par Diti (13 Jan 2007 - 16:15)
Diti a écrit :
J'en mets par habitude, mais les espaces pour fermer les balises simples sont-ils vraiment obligatoires, sachant que XHTML hérite de la syntaxe XML ?

(Les recherches que j'ai faites sont trop vagues)
Salut!

Tu parles des balises auto-fermantes ? Si oui, les espaces sont indispensables, oui.

Sinon, de quoi est-ce que tu parles ? Smiley cligne
Diti a écrit :
J'en mets par habitude, mais les espaces pour fermer les balises simples sont-ils vraiment obligatoires, sachant que XHTML hérite de la syntaxe XML ?
En fait, XHTML est du XML. Néanmoins, il faut aussi faire en sorte qu'il soit compatible avec HTML, c'est pourquoi on écrit <br /> et non pas <br></br> pour une balise auto-fermante, on met un espace avant la fermeture de la balise, ...

Laurent Denis a écrit un article à ce propos, dont je te conseille la lecture.
Thomas D. a écrit :
Tu parles des balises auto-fermantes ? Si oui, les espaces sont indispensables, oui.
Pourtant, <hr/> et <br/> sont des syntaxes tout à fait correctes...
Benjamin D.C. a écrit :
Pourtant, <hr/> et <br/> sont des syntaxes tout à fait correctes...

Comme les autres intervenants l'ont bien dit, c'est valide en XML (donc en XHTML).

Maintenant l'XHTML n'est pas réellement supporté. Typiquement, lorsqu'on envoit une page web au client, on l'envoi avec le type mime text/html... alors que ça devrait être application/xhtml+xml. Sauf que ce dernier n'est pas gérer par IE. Donc on fait croire que c'est de l'HTML normal.

A priori pas d'énormes problèmes, sauf le coup des balises auto-fermantes. L'html normal accepte une syntaxe spéciale. Au lieu de :
<p></p>

On peut écrire :
<p/

Smiley eek Résultat, un navigateur qui respecterait bien la norme HTML, lorsqu'on lui donne :
<br/>

Il va croire que c'est un br suivit du caractère >.... Il va donc afficher ce dernier. Maintenant, si on met un espace entre le br et le /, il va croire à une faute de frappe, et donc faire comme si on avait spécifié <br> normalement.

Conclusion, si on peut utiliser l'XHMTL, c'est parce que les navigateurs sont gentils... Mais ça n'aurait peut-être pas été le cas
Bonjour,
Je ne suis pas familier de ce forum, aussi vous me pardonnerez mon intervention inopinée. J'ai été mené sur ce thread par un lien posté sur le forum du Site du Zéro par Diti (http://www.siteduzero.com/forum-83-104312-960572.html#r960572), en guise d'argument.

Mis à part cela : Samuel, pourrait-on obtenir le reste de ton code ? As-tu montré ici la totalité du résultat que retournait le validateur ?
J'ai bien du mal en effet à concevoir (cf. mon post sur le SdZ) une erreur pareille qui ait pu t'échapper. Car non, je ne suis pas d'accord avec la provenance de cette erreur qui serait soi-disant originaire de l'espace avant la fermeture, espace a priori recommandé à titre indicatif pour des raisons de compatibilité HTML - dont la vérification n'est pas la tâche du validateur.

Le résultat renvoyé par le validateur devrait selon toute vraisemblance et à ma connaissance résulter d'une mauvaise fermeture d'un élément antérieurement placé (sans lequel je ne saurais expliquer l'erreur de start-tag ni la mention du meta) ; c'est-à-dire quelque chose de ce type :
<meta content=""
<link rel="stylesheet" type="text/css" href="style.css"/>

Sauf que cette erreur, étant donné que tu dis "sécher", n'est pas ce qu'il y a de plus discret.
As-tu essayé de cocher l'option Show source du validateur, afin de vérifier si ce que le validateur a traité correspond bien à ce que tu attendais ? Peut-être la transformation est-elle dûe au serveur, bien qu'une telle transformation semble peu crédible.

Cordialement,
atly.
Modifié par atly (14 Jan 2007 - 13:24)
Bonjour,

Tu as raison, le problème du validateur ne peut pas venir de cet espace "manquant", puisque ce n'est pas son rôle de vérifier la compatibilité avec le HTML.

Ce problème aurait plutôt été signalé par l'"appc-checker" qui est inclus dans l'outil Unicorn.
Eh bien l'erreur venait bel est bien de l'espace lorsque je fermais mes balises.

<link rel="stylesheet" type="text/css" href="style.css" />


Voici le bon code. remarquer l'espace a avant le slash /

Y'a t - il un ordre specifique d'appartition des balises meta...ou bien on peut y aller dans l'ordre qu'on veut? Quelques propositions des acharnés de la sémantique serait les bienvenues...
Modifié par Samuel (15 Jan 2007 - 03:01)
Samuel a écrit :
Eh bien l'erreur venait bel est bien de l'espace lorsque je fermais mes balises.
Peux-tu s'il te plaît nous montrer la page qui générait l'erreur ? Quel validateur utilises-tu ?

Pour les meta, l'ordre n'a a priori aucune importance (sauf peut-être pour des raisons obscures de référencement).
Samuel a écrit :
Eh bien l'erreur venait bel est bien de l'espace lorsque je fermais mes balises.

<link rel="stylesheet" type="text/css" href="style.css" />


Voici le bon code. remarquer l'espace a avant le slash /

Voilà un problème intéressant. Je suis d'accord avec Julien : j'aimerais lire ton code - comme je te l'ai déjà proposé dans mon dernier post par ailleurs - et connaître plus d'informations.

Cet espace n'est a priori pas nécessaire à titre normatif, et la compatibilité HTML n'est pas du ressort du validateur du w3c. Et je comprends mal également comment - même le cas échéant - une balise link mal fermée pourrait provoquer une erreur de start-tag, et une autre qui ne fait mention que de l'élément meta.