 |
Encoder correctement le document comme détaillé dans le
document XHTML minimum. Et tout
spécialement le DTD Document Type Declaration,
indispensable au XHTML soit <!DOCTYPE html PUBLIC "-//W3C//DTD
XHTML 1.0 Transitional//FR" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
 |
N'oubliez pas qu'en XHTML, balises et attributs ne notent en
minuscules.
|
 |
Si vous spécifier un jeu de caractères [character set ] pour
le document, on recommande d'encoder l'attribut de spécification
du jeu de caractères à la fois dans la déclaration XML soit <?xml
version="1.0" encoding="xxxxx"?> et dans une balise meta dans le
head soit <meta http-equiv="Content-type" content='text/html;
charset="xxxxx">.
|
 |
Tout s'écrit en minuscules, balises comme attributs. A noter
que pour le contenu des attributs, repris entre les guillemets,
celui-ci peut comporter des majuscules. Ainsi, color="#FFCCFF"
est tout aussi valide que color="#ffccff".
|
 |
Toute balise ouverte doit obligatoirement être fermée. Donc à
une balise d'ouverture comme<p> doit correspondre une balise de
fermeture soit </p>. Et ceci pour toutes les balises.
|
 |
Les balises uniques, aussi appelées les balises vides,
doivent aussi être fermées. Ainsi <br> s'écrira <br />. On
veillera à ne pas omettre l'espace avant le / de fermeture car le
reconnaissance de la balise par les navigateurs ne supportant pas
le XHTML, risque d'être assez aléatoire. Dans le même ordre
d'idée, on recommande la notation sous la forme <br /> plutôt que
<br></br> qui si elle est correcte en XML risque de poser
problème dans de nombreux navigateurs.
|
 |
Si vous encodez des balises dont le contenu est vide par
exemple un paragraphe vide ou un titre vide, préférez la notation
<p></p> ou <title></title> à <p /> ou <title />.
|
 |
Les valeurs des attributs doivent toujours être mise entre
des guillemets. On évitera aussi les ruptures de lignes et les
espaces multiples dans les valeurs d'attributs.
|
 |
On devra éviter de noter certains attributs de façon compacte
selon le Html comme nowrap ou noshade mais les noter de façon
complète nowrap="nowrap" ou noshade="noshade". Voici
la liste des attributs concernés.
|
 |
On utilisera à la fois l'attribut lang et l'attribut xml:lang
lorsqu'on spécifie la langue d'un élément soit par exemple xml:lang="fr"
lang="fr". Le cas échéant, la valeur définie dans l'attribut xml:lang
prendra la priorité.
|
 |
Lorsqu'une valeur d'attribut contient un & [ampersand], il
est préférable de l'encoder comme un caractère spécial soit sous
la forme & classique.
|
 |
S'il faut obligatoirement identifier un élément par id="..."
en XHTML, il est recommandé pour assurer la compatibilité avec
les anciens navigateurs, d'identifier également l'élément avec
name="...". Soit par exemple : <a id="ancre" name="ancre">...</a>
|
 |
Evitez ou abandonnez les scripts ou styles implantés dans le
document. Utilisez les scripts ou styles externes, cela vous
évitera bien des ennuis. En effet, les éléments de scripts comme
<, &, ]], > ou -- risquent d'être interprétés comme du XHTML. En
outre la bonne vieille pratique de mettre les scripts ou les
styles entre des balises de commentaire pour en masquer le
contenu, risque de ne pas donner l'effet escompté sous des
navigateurs orienté XML..
|
 |
Il ne faut pas oublier l'attribut alt des balises <img>.
|
 |
Il est préférable d'ajouter l'attribut summary="texte" à la
balise de tableau soit par exemple : <table width="100%"
border="0" summary="Liste 1">.
|
 |
La balise a ne peut contenir d'autres éléments a.
|
 |
La balise pre ne peut pas contenir les éléments img. object.
big. small. sub ou sup.
|
 |
La balise button qui définit un bouton à cliquer, ne peut pas
contenir les éléments input, select, textarea, label, button,
form, fieldset. iframe ou isindex.
|
 |
La balise label qui définit une étiquette à une zone de
formulaire, ne peut contenir d'autres éléments label.
|
 |
La balise de formulaire form ne peut contenir d'autres
éléments form. |