FREN

Garoo


6 jan. 2004

Au fait, j’avais complètement oublié. En réponse à mon article de retour sur les standards, TotalementCrétin (oui, c’est lui qui a choisi son nom) écrit :

dommage que il n’ait lu que ce qui l’interessait de stopdesign, qui se plaignait surtout de IE… et oui, c’est pas la faute du w3c si microsoft a pas jugé bon d’implementer min/max-width…

Sur le moment, j’ai eu la flemme de répondre que ce n’était pas cette partie qui m’intéressait dans ce que je citais, et que j’aurais probablement dû supprimer le paragraphe concerné pour être plus clair.

Mais je viens de me souvenir de pourquoi il a tort : non, c’est bien la faute du W3C. (Eh oui, encore.) A un moment, ils ont décidé de créer les propriétés min-width et max-width (et leurs équivalents avec height). Ca paraît une très bonne idée, particulièrement pour fixer la taille d’un bloc de texte. Mais c’est dans l’implémentation que ça devient n’importe quoi.

Je vous explique mon raisonnement, en tant que webdesigner, quand je découvre l’existence de ces nouvelles propriétés : comment faire pour que ça marche aussi bien dans les anciens browsers que dans les nouveaux ? Je vais mettre un min-width pour que mon bloc de texte ne soit pas réduit à dix pixels dans une petite fenêtre, et un max-width pour que les lignes ne fassent pas trois kilomètres sur grand écran. Cool, mes textes sont mis en forme parfaitement quelle que soit la taille de la fenêtre. Maintenant, pour IE, je fais comment ? Logiquement, si je rajoute une propriété width, Mozilla devrait l’ignorer, puisqu’il a déjà un min et un max ? Il devrait se douter que, si je fixe la largeur en dur, ce n’est pas pour lui ?

Ben non. Parce que, sur ce coup-là (et pas que sur ce coup-là), le W3C, il s’en foutait, de la compatibilité ascendante. Ceux qui veulent utiliser min et max, ils devront inciter leurs visiteurs à changer de browser. Est-ce que ça peut être utile, de spécifier à la fois min-width, max-width et width ? Pratiquement pas (ça ne pourrait l’être que si l’une des valeurs est fixée en em et que l’autre veut limiter les dimensions du bloc indépendamment de la taille du texte — mais en pratique, je ne suis même pas sûr que le browser prendrait en compte ce cas de figure). Est-ce que ça pourrait être utile, d’ignorer width quand on sait gérer min-width ou max-width ? Oui, ça serait très utile, pour assurer la lisibilité des pages sur les anciens browsers. Et ça coûterait quoi ? Rien.

Mais non, ça ne marche pas, parce que les préoccupations des responsables du W3C sont à mille lieues de celles des développeurs.

Maintenant, revenons à mon argument sur les tables : si elles ne sont pas utilisables pour un contenu variable, ce n’est pas parce qu’IE ne gère pas max-width. C’est parce que, si je mets mon layout dans un div avec une largeur, disons, de 30em (trente fois la largeur de la lettre m dans la police du texte), et que je mets, dans un post ou dans le photolog, une image plus large (ce qui est impossible à déterminer a priori, puisque la limite dépend de la taille du texte chez le lecteur), mon layout est tout cassé : l’image déborde ou est coupée.

Avec une table, non.

Voilà pourquoi je continuerai toujours à utiliser les tables dans tous les cas où la largeur de mon contenu n’est pas fixée dans le marbre.

Quant à la validation… le jour où on pourra valider un blog sans avoir à passer les URL qu’on cite dans une moulinette pour convertir les & en &, on en reparlera. Je ne sais pas qui est responsable de la bêtise d’utiliser le caractère & à la fois comme séparateur de variables et comme indicateur d’un caractère spécial, mais je leur laisse le soin de trouver une solution plus viable. Ou pas — ça ne me gêne pas, de ne pas être valide.

Vous voulez savoir quand je poste du contenu sur mon blog ? Il suffit de vous inscrire gratuitement à un agrégateur RSS (Feedly, NewsBlur, Inoreader, …) et d'ajouter www.garoo.net à vos flux (ou www.garoo.net pour vous abonner à tous les sujets). On n'a pas besoin de newsletters, pas besoin de Twitter, le RSS existe toujours.

Mentions légales : ce blog est hébergé par OVH, 2 rue Kellermann, 59100 Roubaix, France, www.ovhcloud.com.

Les données des visiteurs de ce blog ne sont pas utilisées ni transmises à des tiers. Les posteurs de commentaires peuvent demander leur suppression par e-mail.

Tous contenus © de l'auteur ou couverts par le droit de citation.