5372 sujets

Sémantique web et HTML

Pages :
salut
en etudiant un source j'ai remarqué que les balises <p></p> étaient bizarement ecrites ex:

<p /><img src="images/print1.jpg" alt="Maryland Habitat business cards design" /> 
<p /><span class="date">June 23</span>Business cards and letterhead design


surpris Smiley eek Smiley eek je me demande si j'ai pas loupé quelque chose!! ou une info !! Smiley biggol Smiley biggol Smiley confus quelqu'un a un info ? Merci

site visité ( http://www.abovecreative.com/ ) son source est valid
<p /> est censé être un raccourci pour <p></p>, comme <br /> est un raccourci pour <br></br>.

Mais tandis que le deuxième est une abréviation obligatoire étant donné que la balise fermante br n'existe pas, le premier est fortement déconseillé. Certains navigateurs peuvent ne pas l'interpréter correctement.
QuentinC a écrit :
Mais tandis que le deuxième est une abréviation obligatoire étant donné que la balise fermante br n'existe pas, le premier est fortement déconseillé. Certains navigateurs peuvent ne pas l'interpréter correctement.


Il me semble avoir lu dans les specs que les éléments qui ne sont pas par naturellement vides ne doivent pas être écrits sous forme contractée. Donc on n'écrit pas <p /> pour un paragraphe vide, mais <p></p> (même si faire un paragraphe vide n'a pas une grande utilité…).
papillon41 a écrit :
Bonjour dentnoir,
"This page is not Valid XHTML 1.0 Strict!"
C'est la réponse du validateur du W3C !


oui bien sur mais pas pour la raison que j'evoque!!!
bonjour,

J'ai un doute ! j'ai lu : " les retours à la ligne <br /> et les images <img /> : ces balises doivent obligatoirement se trouver entre deux balises <p></p> !N'oubliez pas que les images aussi doivent se trouver dans un paragraphe.</p> "

cette affirmation est-elle toujours valable en xhtml ?

amicalement Smiley decu
gauzhelm a écrit :
[... ] les images <img /> : [... ] N'oubliez pas que les images aussi doivent se trouver dans un paragraphe.</p> "

cette affirmation est-elle toujours valable en xhtml ?

amicalement Smiley decu


Euh ... il ne me semble pas que les images doivent être dans un paragraphe ...
gauzhelm a écrit :
J'ai un doute ! j'ai lu : " les retours à la ligne <br /> et les images <img /> : ces balises doivent obligatoirement se trouver entre deux balises <p></p> !N'oubliez pas que les images aussi doivent se trouver dans un paragraphe.</p> "

cette affirmation est-elle toujours valable en xhtml ?


Cette affirmation n'est valable ni en HTML 4.01, ni en XHTML 1.0. C'est une bêtise et honte sur celui ou celle qui l'a proférée. Smiley lol
Hello,
Florent V. a écrit :
Il me semble avoir lu dans les specs que les éléments qui ne sont pas par naturellement vides ne doivent pas être écrits sous forme contractée. Donc on n'écrit pas <p /> pour un paragraphe vide, mais <p></p> (même si faire un paragraphe vide n'a pas une grande utilité…).
C'est vrai en HTML (forcément d'ailleurs, puisque les balises auto-fermantes n'existent pas en SGML). En XML (et donc XHTML), il s'agit d'une consigne d'interopérabilité. L'appendice C de XHTML 1.0 (règles de compatibilité HTML) le préconise aussi (mais il s'agit d'un appendice informatif).
Florent V. a écrit :
Cette affirmation n'est valable ni en HTML 4.01, ni en XHTML 1.0. C'est une bêtise et honte sur celui ou celle qui l'a proférée. Smiley lol
+1

Une fois encore, rien de mieux qu'un coup d'oeil aux DTDs ou un test avec le validateur pour démonter ce genre d'idées farfelues.

<edit>En ce qui concerne les problèmes de compatibilité de XHTML servi en tant que text/html, le W3C propose un outil intéressant, Unicorn, qui permet entre autres de tester le respect d'un document de l'appendice C de XHTML 1.0.
Modifié par Julien Royer (18 Apr 2007 - 09:24)
gauzhelm a écrit :

J'ai un doute ! j'ai lu : " les retours à la ligne <br /> et les images <img /> : ces balises doivent obligatoirement se trouver entre deux balises <p></p> !N'oubliez pas que les images aussi doivent se trouver dans un paragraphe.</p> "

Cette affirmation vient peut-être du fait que le body ne peut directement contenir que des élémenst de type block et donc l'image doit être imbriquée...

Merci pour le lien sur Unicom Eldebaran mais on dirait que ce mini validateur
est un peu trop permissif (tout est valide) ou alors ya un truc que j'ai pas compris Smiley cligne
Hermann a écrit :
Merci pour le lien sur Unicom Eldebaran mais on dirait que ce mini validateur
est un peu trop permissif (tout est valide) ou alors ya un truc que j'ai pas compris Smiley cligne
Ce n'est pas un mini validateur, c'est plutôt une aggrégation de plusieurs validateurs du W3C : (X)HTML, CSS et compatibilité HTML pour le XHTML.

Pour ma part, il me signale bien les erreurs. Par exemple, pour le document suivant servi en tant que "text/html" :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"><head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<title></title>
</head><body/></html>
Il me signale :
a écrit :
1. Error Line 6 Column 13 : <example/> shall be written as <example />

See HTML Compatibility Guideline 2: Empty Elements
2. Error Line 6 Column 13 : For non-empty elements, you shall use <example></example>

See HTML Compatibility Guideline 3: Element Minimization and Empty Element Content
Julien Royer a écrit :
Ce n'est pas un mini validateur, c'est plutôt une aggrégation de plusieurs validateurs du W3C : (X)HTML, CSS et compatibilité HTML pour le XHTML.

Pour ma part, il me signale bien les erreurs. Par exemple, pour le document suivant servi en tant que "text/html" :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"><head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<title></title>
</head><body/></html>
Il me signale : 1. Error Line 6 Column 13 : <example/> shall be written as <example />

See HTML Compatibility Guideline 2: Empty Elements
2. Error Line 6 Column 13 : For non-empty elements, you shall use <example></example>

See HTML Compatibility Guideline 3: Element Minimization and Empty Element Content


C'est normal, tu ferme le body, sans l'ouvrir Smiley biggol
Super_baloo8 a écrit :
C'est normal, tu ferme le body, sans l'ouvrir Smiley biggol
Le but était justement d'obtenir des erreurs... Et je ne ferme pas le body sans l'ouvrir, j'utilise une balise auto-fermante, qui est valide en XHTML mais fortement déconseillée pour un élément non EMPTY. Smiley cligne
Modifié par Julien Royer (20 Apr 2007 - 07:38)
Julien Royer a écrit :
Le but était justement d'obtenir des erreurs... Et je ne ferme pas le body sans l'ouvrir, j'utilise une balise auto-fermante, qui est valide en XHTML mais fortement déconseillée pour un élément non EMPTY. Smiley cligne


J'y vois plus clair maintenant Smiley lol

Par contre, la balise auto fermante <body> s'écrit comme ceci <body/ > ou comme cela <body /> ?
Super_baloo8 a écrit :
Par contre, la balise auto fermante <body> s'écrit comme ceci <body/ > ou comme cela <body /> ?

Avec une espace avant le slash, pas après.
(Edit : dans la mesure où il y aurait le moindre sens à l'écrire, bien sûr.)
Modifié par Florent V. (20 Apr 2007 - 09:48)
J'ai quelques question sur cet article, est-ce que cette syntaxe est correcte ?

<div id="bandeau">
	
		<h1 /><?php echo $play[0]; ?>
		
		<p /><?php echo $play[1]; ?>
	
	</div>


(Au validateur pas de problèmes, par contre à l'affichage, le <p /> s'affiche comme le <h1 />)

Je viens de comprendre tout seul, en clair il ferme tout juste avant une div, du coup mon paragraphe est pris dedans. Dans ce cas là il vaut mieux ne pas utiliser de balise autofermante non ?
Ben, comme l'explique Laurent, il ne faut pas utiliser les balises auto-fermantes pour les éléments p et h1 qui ne sont pas EMPTY.

Ce que tu as écrit est équivalent en XHTML à
<div id="bandeau">
	<h1></h1><?php echo $play[0]; ?>
	<p></p><?php echo $play[1]; ?>
</div>
Par ailleurs, tu peux utiliser l'outil Unicorn dont j'ai donné l'adresse plus haut pour tester la compatibilité HTML.
Pages :