- Introduite au début des années 2000 dans Internet Explorer, la propriété CSS
zooms’est diffusée sans standard, semant la confusion chez les développeurs Web zoométait une fonction simple d’agrandissement/réduction de la taille des éléments, mais elle a provoqué des incohérences entre navigateurs et des problèmes de compatibilité- Par la suite, CSS
transformest devenu l’alternative standard, mais des cas d’usage nécessitant le comportement dezoomqui affecte la mise en page ont continué d’exister - Dans l’analyse des données d’usage,
zoomaffichait en réalité des indicateurs de popularité artificiellement élevés à cause de l’utilisation dezoom:1pour contourner des bugs d’IE - Finalement, en 2023, le CSS Working Group a élaboré une nouvelle spécification, puis son inclusion dans le projet Interop 2025 lui a apporté une standardisation et un large support après 25 ans
L’apparition de la propriété zoom
- Intégré en 2000 à Internet Explorer 5.5,
zoom, fonctionnalité non standard, était une propriété permettant d’ajuster la taille d’un élément selon un facteurzoom:2agrandit par deux,zoom:0.1réduit à un dixième- Elle avait aussi la particularité de réorganiser la mise en page environnante en fonction du changement de taille de l’élément
- Mais faute de spécification officielle, l’implémentation variait selon les navigateurs, ce qui a créé de la confusion à la fois pour les développeurs Web et pour les utilisateurs
- Au départ, son rôle était surtout décoratif et son impact sur les fonctionnalités des sites restait limité
Tentatives de standardisation et réaction des navigateurs
- Mozilla a donné dès le départ la priorité au respect des standards, en ignorant
zoomet en ne l’intégrant pas à Firefox - À la place, la propriété CSS
transformest apparue pour standardiser une fonction similaire- Elle offrait un contrôle plus puissant et plus efficace
- En revanche, elle n’affecte pas la disposition des éléments voisins
- Apple a implémenté à la fois
transformetzoomdans Safari, ce qui a prolongé les différences entre navigateurs - Résultat,
zooms’est retrouvé dans une situation ambiguë, absent du standard mais toujours présent dans certains navigateurs
Indicateurs de popularité et malentendu
- Bocoup et Mozilla ont étudié l’usage des fonctionnalités des navigateurs en s’appuyant sur des enquêtes auprès des développeurs Web, les volumes de recherche sur MDN, les mentions sur Stack Overflow, la télémétrie de Chrome et les données de HTTP Archive
- Contre toute attente,
zoomarrivait en haut du classement, principalement à cause du schéma consistant à définirzoom:1pour contourner des bugs d’IE - En recalculant les chiffres sans les usages de
zoom:1, l’usage total chutait de 94 % - Mozilla a donc choisi de prioriser l’amélioration d’autres fonctionnalités plutôt que
zoom
Retour en grâce et standardisation
- Dans le bug tracker de Firefox, des développeurs ont continué à défendre la nécessité du comportement de
zoomqui affecte la mise en page - Des services majeurs comme Microsoft Excel Web ou la web app mobile de Gmail dépendaient également de cette fonctionnalité
- En 2023, le CSS Working Group a défini une nouvelle spécification de
zoompour réduire les problèmes de compatibilité et faire avancer sa standardisation - Adopté dans le projet Interop 2025,
zoombénéficie désormais d’un support complet dans les principaux navigateurs
Enseignements et conclusion
- Cela montre que le processus de consensus autour des standards du Web est lent, mais qu’il fournit des solutions inclusives pour les développeurs et les utilisateurs du monde entier
- Cela rappelle aussi qu’il est risqué à long terme de dépendre de technologies fermées et non standard
- Après 25 ans de rebondissements, la standardisation de CSS
zoomreste un exemple symbolique de l’importance du consensus et de l’évolution de la plateforme Web
2 commentaires
Ça me rappelle
*zoom: 1;, ça faisait longtempsLe web est vraiment lamentable. C’est presque étonnant que ça fonctionne encore, ne serait-ce qu’un peu.