LaurentDenis
vendredi 11 juin 2004 à 03:05
Ah... Me voilà encore à jouer les rabat-joie :
Très joli, le passage au XHTML1.1. :up:
Mais maintenant, il n'y a plus qu'à...
remettre ça avec le bon vieux DocType XHTML1.0
(Autrement dit, juste changer le doctype en gardant l'excellent code de Denis)
En effet, à la différence du XHTML1.0, le XHTML1.1:
- ne doit pas être servi comme étant du HTML (avec le type Mime
text/html)
- doit être servi comme étant du XML ( avec le type mime
application/xml + xhtml). Voir
http://www.w3.org/TR/xhtml-media-types/ (attention à la différence entre "may" et "should" qui ont chacun
un sens bien précis dans les spécifications du W3C)
Pour ceux qui se posent la question, disons que le type mime est une information envoyée par le serveur qui indique au navigateur ce qu'il va recevoir :
- du HTML,
- du XML,
- une image GIF, PNG...
- de la soupe,
- des brocolis
- ou une claque.
Actuellement, la page est servie incorrectement en text/html, autrement dit, c'est de la soupe. Coup de bol, les navigateurs s'en accommodent et font comme si c'était du HTML.
Passer en
application/xml + xhtml ne serait pas une bonne solution, car :
- ce type mime n'est pas supporté (entre autres) par Internet Explorer (Win et Mac). Le document se transforme alors en brocolis à télécharger.
- le document étant interprété par les navigateurs Gecko et par Opera comme étant du xml, il ne doit comporter aucune erreur de syntaxe sinon... c'est la claque ! Le moteur de rendu du navigateur s'arrête sur l'erreur, affiche un message d'alerte et la suite du code XHTML. On peut être un peu masochiste et apprécier ce mode de validation radical (c'est mon cas et celui de Denis aussi, il me semble), mais il faut être sûr de bien maîtriser sa syntaxe ! ce serait encore jouable ici, mais ce serait très dangereux par exemple dans un weblog où les commentaires et trackbacks risquent d'amener du code invalide : Denis témoignera (avec accablement) que j'ai souvent (et involontairement) dézingué son CyberCodeur juste avec la petite esperluette du Blog & Blues de ma signature dans un trackback...
Déclarer correctement du XHTML1.1 est donc plutôt contraignant:
- Il faut faire de la négociation de contenu au niveau serveur pour n'envoyer du XHTML1.1 en application/xml+xhtml qu'aux navigateurs qui déclarent le supporter, et du XHTML1.0 en text/html aux autres.
- pas de droit à l'erreur
Et ces contraintes n'apportent... aucun avantage concret ici. En effet, XHTML1.1 sert principalement à intégrer un élément supplémentaire (le module ruby) qui n'est pas utilisé dans cette page (où il ne servirait à rien d'ailleurs).
voilà, voilà... Bon, j'avoue : on l'a tous fait, de s'offrir brièvement le frisson d'une page en XHTML1.1
Sinon, pour l'accessibilité : il y a deux liens adjacents dans la page à cause des stikers de validation qui ne sont séparés par aucun caractère affichable.
[edit]: du danger des forums pour les blogueurs : on finit par faire des posts en guise de message au lieu de bloguer ça chez soi