Mes impressions sur le web, les standards et autres…


Mardi 25 novembre 2003

Mélanges des genres

Jusqu’à maintenant, on connaissait les documents HTML contenant pèle-mèle des styles CSS et parfois une pincée de langage de script client (généralement Javascript). Ces langages s’intègrent de deux façons dans le document :

  • À l’aide des éléments <style> et <script>, et en spécifiant comme il se doit le type MIME avec l’attribut type
  • Directement dans le balisage HTML avec l’attribut style et les attributs d’évènement onclick, onselect, etc… Auquel cas, il est nécessaire de préciser le type MIME au niveau global avec Content-Style-Type et Content-Script-Type à l’aide de l’élément meta et son attribut http-equiv

La nouvelle norme du W3C est le XHTML 1.0, laquelle, dans sa forme strict, impose une séparation claire entre le document et les styles et scripts utilisés, ceci pour améliorer la lisibilité, la maintenance et l’évolution du code source. Pour la présentation, c’est simple, il suffit d’utiliser les styles CSS et dans l’idéal de les placer dans une feuille de style externe. Il en va autrement pour le javascript…

Lorsque les concepteurs de pages XHTML intègrent du javascript à leurs pages, ils utilisent généralement les attributs d’évènements onclick, onselect, etc… Or, il est nécessaire dans ce cas de spécifier le type MIME du langage de script utilisé. Le problème est que l’élément meta utilisé avec l’attribut http-equiv n’est pas reconnu par les parseurs XML (Vous aurez donc compris que je parle d’un vrai document XHTML, servi en tant que tel), la note du W3C sur le XHTML et les types de media est claire sur ce sujet :

Note that a meta http-equiv statement will not be recognized by XML processors, and authors SHOULD NOT include such a statement in an XHTML document served as application/xml (and application/xhtml+xml as well for that matter).

Il reste donc deux solutions :

  • Envoyer les en-têtes Content-Script-Type et Content-Style-Type au niveau du protocole HTTP ou, si les pages sont générées à l’aide d’un script CGI, à l’aide du mécanisme de script idoine (la fonction header() en PHP). Cependant, je n’ai rien vu concernant ces deux en-têtes dans la RFC 2616 sur le protocole HTTP 1.1
  • Pour les évènementiels sur un document, s’interesser aux gestionnaires d’évènement présents dans le DOM niveau 2 (Voir à ce titre cette page de tests très interessantes). Tout comme pour l’attribut style, ça éviterait de semer des attributs d’évènements au sein du document alors qu’ils n’ont rien à y faire (à mon avis).

Enfin, notez que "l’inutilité" des meta avec un attribut http-equiv s’applique quelque soit l’en-tête, que ce soit Content-Type, Expires, etc… et aussi que tout logiquement, l’attribut http-equiv sera purement et simplement absent de XHTML 2.0.

PS : Tiens, ce billet m’a permis de constater que les attributs d’évènements dégagent aussi du XHTML 2.0. Mwaaahaaha… j’adore :-). Vive le W3C !

Publié à 15h34

Catégorie :

Vos réactions, opinions, insultes…

Rétroliens

Faire un rétrolien sur ce billet : [xxxxxxxx]

Commentaires

Pas de commentaire actuellement

Un ch’tit biscuit ?
  • Les champs email et site sont facultatifs
  • Les URLs commençant par [protocole]://[protocole] correspond à http, https, news, irc, ftp, … sont rendues activables automatiquement. Votre adresse email ainsi que d’éventuelles adresses email présentes dans le corps du commentaire sont également rendues activables et encodées pour tromper les aspirateurs d’adresse email.
  • Pour spécifier une URL locale au site, vous pouvez utiliser local comme protocole à mettre à la place de http et omettre le nom de domaine dans l’URL.
    Exemple : local://2005/08/22/Nom-de-billet/.
  • Usez et abusez de la possibilité de prévisualiser votre commentaire pour vérifier qu’il est correctement rédigé et contient le moins possible de fautes d’orthographe. Évitez en outre le style SMS, merci d’avance. Prévisualiser votre commentaire peut également vous permettre de voir si de nouveaux commentaires sont apparus entre temps.
  • Si vous spécifiez l’adresse de votre site dans le champs texte prévu à cet effet, le script se chargera automatiquement d’aller récupérer sur votre site la langue utilisée dans vos pages, soit via l’en-tête HTTP Content-Language, soit en récupérant le contenu de l’attribut xml:lang ou lang sur l’élément html. Vous n’avez indiqué d’aucune façon la langue utilisée dans vos pages ? Corrigez ça nom di diou !
  • Des options de mise en forme des commentaires feront peut-être un jour leur apparition.


Site créé et maintenu par Aurélien Maille aka Bobe. Toutes les heures sont au format CEST.
Revenir à l’accueil – Zone de développement – Informations et accessibilité – CC licensed CC Licensed