

XHTML, ou comment écrire proprement... [ Répondre ] Par : Damien Leprovost on 2006-04-12 17:25 | [forum:1604] |
Bon, on va partir du principe que vous savez tous écrire proprement en HTML4. Voici donc une petite liste des choses à faire pour écrire du zoli XHTML, telles que nous les décrivent le sacro-saint W3C : 1. Documents must be well-formed En clair, les balises doivent être proprement imbriqués, sans se chevaucher. Pas bien : <p>Ceci est un texte <i>d'exemple.</p></i> Bien : <p>Ceci est un texte <i>d'exemple.</i></p> 2. Element and attribute names must be in lower case En raison de la case sensitive d'XML, tous les caractères des balises ainsi que leurs attributs doivent être en minuscule. Pas bien : <P SPAN="a1">Ceci est un texte d'exemple.</P> Bien : <p span="a1">Ceci est un texte d'exemple.</p> 3. For non-empty elements, end tags are required C'est simple, fermez vos balises. Pas bien : <p>C'est premier paragraphe.<p>C'est un second paragraphe. Bien : <p>C'est premier paragraphe.</p><p>C'est un second paragraphe.</p> 4. Attribute values must always be quoted TOUTES les valeurs des attributs doivent être entre quotes ("), et ce même lorsqu'il s'agit de nombres. Pas bien : <td rowspan=3> Bien : <td rowspan="3"> 5. Attribute Minimization Tout attribut doit avoir une valeur. Si vous aviez l'habitude d'utiliser des attributs sans valeur, rajoutez le nom de l'attribut en valeur. Pas bien : <option value="2" selected>Numéro 2</option> Bien : <option value="2" selected="selected">Numéro 2</option> 6. Empty Elements Les balises n'attendant pas de fermeture doivent s'auto-fermer. Comme il suit : Pas bien : <br><hr> Bien : <br /><hr /> 7. White Space handling in attribute values Pas de séries d'espaces dans les valeurs d'attributs. Pas bien : <img alt="image de quelque chose" /> Bien : <img alt="image de quelque chose" /> 8. Script and Style elements Si des éléments de style ou de srcipt sont définis de façon interne, le contenudoit être protégé avec <![CDATA[ au début et ]]> à la fin. De plus, le type doit être explicitement défini, comme il suit : <script type="text/javascript"> <![CDATA[ ... du javascript ... ]]> </script> <style type="text/css"> <![CDATA[ ... du CSS ... ]]> </style> 9. SGML exclusions Il existe quelques exclusions de contenu, a savoir : - a : ne peut pas contenir d'autres a. - pre : ne peut pas contenir img, big, small, sub, sup. - button ne peut pas contenir input, select, textarea, label, button, form, fieldset, iframe, isindex. - label : ne peut pas contenir d'autres label. - form : ne peut pas contenir d'autres form. 10. The elements with 'id' and 'name' attributes Ne plus utiliser d'attribut name, lui préferer id. Enfin, la seule modification réelle du XHTML 1.1 sur le XHTML 1.0 Strict consiste en le remplacement de l'attribut 'lang' par l'attribut 'xml:lang'. (Et ca, franchement, on s'en fout :D) Voila, une fois ces quelques règles respectées, le gentil validateur ( http://validator.w3.org ) nous certifiera notre page valide XHTML 1.1 ! Ah oui, dernière chose : Comme depuis HTML 4.01 nous sommes tous consciencieux, nous pensons tous à faire figuer notre doctype, donc nos fichiers en XHTML 1.1 commenceront tous par : <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> En vous remerciant. |