5568 sujets

Sémantique web et HTML

Bonjour à tous !

J'ai utilisé le service de validation.. J'ai 19 erreurs et 1 Warning... rien que cela !

Le résultat met en exergue le fait qu'il n'y ait aucun DOCTYPE. Voici la déclaration initiale :
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
.

Quant aux 19 erreurs :

<script language="javascript"[#red]>[/#]AC_FL_RunContent = 0;</script>

The attribute given above is required for an element that you've used, but you have omitted it.

<script src="js/AC_RunActiveContent.js" language="javascript"></script>

</style> (end tag for element "style" which is not open...)
<embed src="preview.swf" quality="high" bgcolor="#000000" width="100%" height… (there is no attribue "src" ) Embed est banni du W3C ?

Puis, there is no attribute "bgcolor", width, height, quality, name, align, allowScriptAccess, alloFullScreen, pluginspage

…x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
(element "embed" undefined)

</style> (Opening and ending tag mismatch)
</head> (Idem)
<body> (Extra content at teh end of the document)

J'avais remplacé cette déclaration par :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
. La seule déclaration acceptée par Firefox. Les autres affichant une partie de mon site.

J'avais bien plus d'erreurs. Soulignant, entre autres : <... />

Qu'en pensez-vous ? Merci.
Je crois que tu confonds plusieurs chose, voici un document html type :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
</body>
</html>


La première ligne est le DOCTYPE (DTD) qui sert à informer le navigateur de la version de (x)html utilisée. Dans ce cas-ci xhtml 1.0 transitionnal.

En html 5 c'est :

<!DOCTYPE html>

La seconde est l'ouverture de la balise <html> là ou commence vraiment le contenu de la page.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

La syntaxe de ton DOCTYPE est fausse car tronquée et donc non valide.
Modifié par Patidou (14 Jun 2010 - 13:28)
Il me semble qu'il y a deux problèmes de fond:

1. Méconnaissance des Doctypes et versions de HTML. Voir le lien donné par Patidou pour commencer à y remédier.

2. Le site a été développé avec des pages sans Doctype. Du coup, les navigateurs pensent avoir affaire à une page crée en 1999 (car plus personne ne fait des pages sans Doctype, n'est-ce pas...), et essaye d'adapter son rendu pour être compatible avec les très vieux sites développés à l'époque où le support de CSS était très faible et les mises en page faites exclusivement en tableaux. On appelle ça le «mode Quirks» (ou mode de rendu de compatibilité). Si tu rajoutes un Doctype en bonne et due forme à ta page pour valider le code HTML, les navigateurs vont changer de mode de rendu et ça risque de «casser» l'affichage de la page. S'il s'agit d'un ancien site, les solutions consistent à ne pas y toucher du tout ou à l'inverse à refaire toute l'intégration au propre (structure HTML et code CSS).
Merci à tous les deux.

Pour être honnête, le code actuel a été en partie réécrit par une tierce personne. Mon document, au départ, commençait par :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">


Lorsque j'ai modifié la pseudo déclaration !! (<html xmln="http://www.w3.org...) pour me mettre aux "normes", mon site s'est parfaitement affiché dans Safari. En revanche, Firefox a cassé l'affichage de ma page. Donc, je vais quand même conserver ceci :

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


je suis en train de faire une version HTML "propre"...

Je vais lire attentivement l'article sur les Doctypes mis en lien par Patidou...

Bonne soirée.