Les règles de compatibilité des documents avec les agents utilisateurs actuels peuvent être facilement mises en oeuvre par les développeurs.
- Une instruction de traitement doit être incluse dans le document.
<?xml version="1.0" encoding="ISO-8859-1"?>
- L'encodage du document doit être indiqué par la déclaration XML.
<?xml version="1.0" encoding="UTF-16"?>
- La forme minimisée d'une balise non-vide est à prohibée.
<p></p>
<!-- ne peut devenir -->
<p/>
- L'utilisation de l'élément isindex doit être abandonné.
- L'utilisation simultanée des attributs lang et de xml:lang est conseillée lors d'une spécification d'une langue pour un élément.
<html lang="fr" xml:lang="fr">...</html>
- L'utilisation des deux attributs identificateurs id et name avec une valeur identique est conseillé afin d'identifier un élément.
<p id="para1" name="para1">...</p>
- La valeur des attributs name et id doit être composé d'un seul mot en excluant tout caractères espaces blancs (espace, saut de ligne, tabulation, etc.).
<div id="menu_gauche" name="menu_gauche">...</div>
- L'utilisation des attributs booléens dans leur version non-minimisée est parfois souhaitable.
- checked de l'élément input.
- compact des éléments dir, dl, menu, ol, ul.
- declare de l'élément object.
- defer de l'élément script.
- disabled des éléments button, input, optgroup, option, select, textarea.
- ismap des éléments img et input.
- multiple de l'élément select.
- noresize de l'élément frame.
- noshade de l'élément hr
- nowrap des éléments td et th.
- readonly des éléments input et textarea.
- selected de l'élément option.
- L'utilisation de l'esperluette dans une valeur d'attribut doit se faire par l'intermédiaire de sa référence d'entité caractère, &.
<a href="http://www.site.com/script.html?d=1&v=val">
Lien correct
</a>
<a href="http://www.site.com/script.html?d=1&v=val">
Lien incorrect
</a>
- Les retours à la ligne dans les valeurs d'attributs sont à proscrire.
alt="Une image de mon album"
<!-- construction correcte -->
alt="Une image
de mon album"
<!-- construction incorrecte -->
- L'utilisation des feuilles de style imbriquées est soumise à différente règles.
- Les documents CSS pour le XHTML doivent utiliser des noms d'éléments et d'attributs en casse minuscule.
#element {...} <!-- déclaration CSS correcte -->
<!-- se référant à -->
<div id="element">...</div>
#ELEMENT {...} <!-- déclaration incorrecte -->
<!-- se référant à -->
<div id="element">...</div>
- Le sélecteur CSS "#" est toujours utilisable avec l'attribut id.
#element {...} <!-- déclaration CSS -->
<!-- se référant à -->
<p id="element">...</p>
- Le sélecteur "." est toujours utilisable avec l'attribut class.
.element {...} <!-- déclaration CSS -->
<!-- se référant à -->
<div class="element">...</div>
- Il faut toujours ajouter un explicitement un élément tbody si celui-ci se réfère à un sélecteur CSS.
- Il est nécessaire de bien faire la distinction entre une feuille de style pour un document XHTML distribué en HTML et un autre distribué en XML étant donné que les règles de conformité divergent.
- Le fait de camoufler un script ou une déclaration de style au sein de commentaires est à éviter.
<script...>
<!--
contenu du script...
-->
</script>
- Si la feuille de style ou le script utilise les caractères réservés du XML, <, &, ]]> ou --, alors il est préférable d'utiliser ces documents en externes.
<script src="script.js"
language="javascript" type="text/javascript">
</script>