L’ingéniosité des hacks HTML
- La nécessité des hacks HTML : il arrive qu’il faille écrire du code peu élégant pour obtenir le résultat attendu en raison d’échecs du code HTML ou d’implémentations incomplètes des navigateurs. Ces hacks sont parfois créatifs et méritent d’être retenus.
- Le hack
@import de Netscape Navigator 4.0 : permettait de bloquer les styles CSS non pris en charge par Netscape. Netscape soutenait JSSS plutôt que CSS, mais lorsque le W3C a choisi CSS, l’implémentation CSS de Netscape 4 a été précipitée, ce qui l’a rendue moins performante que celle des navigateurs ultérieurs.
- L’utilisation des tableaux HTML pour la mise en page : a rendu possibles des mises en page plus expérimentales. Utiliser des tableaux HTML comme outil de layout correspond exactement à la définition d’un hack, et cela reste encore utilisé dans l’univers de l’e-mail.
- L’utilisation d’un soulignement avant les styles CSS : permettait d’appliquer certains styles uniquement à IE6. Cela exploitait les limites d’IE dans l’analyse des caractères spéciaux.
- L’utilisation de
AlphaImageLoader pour gérer la transparence PNG : permettait de rendre la transparence des fichiers PNG qu’IE6 ne prenait pas en charge. L’image était traitée via un filtre.
- Les commentaires conditionnels : permettaient d’utiliser certains tricks uniquement sur des versions précises d’IE. Ils détournaient la fonctionnalité de commentaire HTML pour permettre l’exécution de code.
- Scalable Inman Flash Replacement (sIFR) : permettait d’utiliser des polices non web-safe. Il utilisait un hack JavaScript remplaçant le texte par une intégration Flash.
- Le hack du texte de pré-en-tête : empêchait, dans les e-mails, du texte supplémentaire de déborder dans la ligne de description. Il utilisait des séquences non standard ou inhabituelles de caractères d’espacement.
- Google Chrome Frame : remplaçait IE6 par une fenêtre Chrome. Cela était mis en œuvre via un plugin de navigateur.
- Le hack des sélecteurs réservés à Webkit : appliquait du code CSS uniquement aux navigateurs Webkit. Il détectait si un navigateur prenait en charge un code CSS spécifique à ce navigateur.
- Le responsive design : permet de disposer efficacement l’information dans divers contextes, notamment sur tablette et mobile. Dans la plupart des cas, il utilise des media queries pour adapter l’agencement selon l’appareil.
L’avis de GN⁺
- Le plus important est l’effort des développeurs pour trouver des solutions créatives en dehors des standards HTML et CSS.
- Cet article est intéressant et captivant, car il montre comment les développeurs web ont utilisé des hacks créatifs pour surmonter les limites des navigateurs et améliorer l’expérience utilisateur.
- Ces hacks reflètent l’évolution des standards du web et les efforts constants des développeurs en faveur d’un meilleur web design.
1 commentaires
Avis Hacker News
On peut comprendre l’utilisation des tableaux pour la mise en page.
Aucun respect pour spacer.gif.
Mes techniques préférées :
HN utilise encore aujourd’hui l’une de ces techniques :
N’inclut pas la pratique consistant à placer les titres hors écran à la position -10000 pour l’accessibilité.
Aucune mention de l’installation de HTML5 shiv avant le CSS pour éliminer les particularités de tous les navigateurs.
Je me souviens de la belle époque où l’on contrôlait les cellules de tableau avec un gif transparent de 1×1 pixel.
Mention supplémentaire de
, l’entité d’espace insécable, très utilisée au début :J’ai parfois du mal à dire si les développeurs web modernes sont devenus trop gâtés grâce à CSS Grid et à la fin d’IE, ou si c’est nous qui l’étions à l’époque parce qu’on n’avait pas à gérer des frameworks modernes complexes et des processus de build.
Doute sur le fait que le responsive design soit vraiment un hack :