Baseline
J’aimerais bien aimer Baseline, mais je n’y arrive pas.
Baseline, c’est un système de classification de fonctionnalités web selon leur support initié par Google en 2023. (Le projet est désormais maintenu par le WebDX Community Group en théorie, mais reste très largement poussé par Google dans la pratique.) L’idée est de pouvoir dire en un clin d’oeil si on peut raisonnablement utiliser une fonctionnalité (comme un élément HTML, une propriété CSS ou une fonctionnalité JavaScript). Le projet est largement répandu sur les blogs de Google, mais a fait aussi son chemin sur Can I use et MDN.


En théorie, c’est une chouette initiative. Mais dans la pratique, ça pue le Google à plein nez et je n’aime pas du tout ça.
Pour arriver à simplifier l’information, Baseline ne prend en compte que 4 navigateurs : Chrome (sur Android et sur ordinateurs de bureau), Edge (sur ordinateurs de bureau), Safari (sur iOS et macOS) et Firefox (sur Android et sur ordinateurs de bureau). Bon, déjà, là, premier problème : qu’est-ce que Edge fait dans cette liste ? Sachant que Edge tourne sur Chromium (le même moteur que Chrome), à de très rares exceptions près, chaque fonctionnalité supportée dans Chrome est aussi supportée dans Edge. De mon point de vue, c’est une manière bien basse de faire valoir Chrome au détriment de Firefox et Safari. « Regardez, ça marche dans Chrome et Edge ! C’est déjà la moitié des navigateurs (pris en compte par Baseline). Ça veut forcément dire que Firefox et Safari sont à la traîne ! »
Ensuite, il y a les statuts. Officiellement, Baseline comporte deux statuts :
- Newly available (Nouveauté), représenté en bleu : « cette fonctionnalité est compatible avec tous les principaux navigateurs et est donc interopérable ».
- Widely available (Disponible), représenté en vert : « 30 mois se sont écoulés depuis la date de la nouvelle interopérabilité. La plupart des sites peuvent utiliser cette fonctionnalité sans se soucier de la compatibilité. »
Et là, deuxième problème : ils sortent d’où ces trente mois ? Pourquoi seulement trente mois ? Trente mois, c’est deux ans et demi. Cela signifie qu’en vous fiant à Baseline, vous acceptez que votre site ne fonctionne pas correctement sur un navigateur de plus de trente mois. Au 30 septembre 2025, trente mois en arrière nous amènent à mars 2023, à Safari 16.4, à Firefox 111et à Chrome 111. Alors, oui, avec des navigateurs qui se mettent à jour tout seul tous les mois, la très grande majorité des gens sont une version récente. Mais quid des autres ? Dans le contexte écologique actuel, ça me paraît totalement délirant de dire que c’est ok de faire une croix sur tout navigateur de plus de trente mois.
Enfin, contrairement à ce que dit la documentation officielle, Baseline comporte en réalité deux autres statuts :
- Limited Availability (Disponibilité limitée), représenté en orange : « Avant d’être disponible, une fonctionnalité est à disponibilité limitée lorsqu’elle n’est pas encore compatible avec tous les navigateurs. »
- Discouraged (Découragé), représenté en pointillés gris : s’applique à des fonctionnalités dépréciées (par exemple la propriété CSS
clip
). Je n’ai retrouvé ce statut explicitement écrit que sur Web Platform Status.

Soit. Mais j’ai là un troisième problème avec ce statut de « Disponibilité limitée ». Par exemple, accent-color
est en « Disponibilité limitée ». La propriété est pourtant implémentée depuis 2021 dans Chrome et Firefox, et 2022 dans Safari. Can I use rapporte un problème d’implémentation pour Safari et Firefox sur le contraste généré pour certaines couleurs. Est-ce que cela justifie le statut Baseline de « Disponibilité limitée » ? J’ai l’impression que le statut de « Disponibilité limitée » pour cause de bug dans l’implémentation se fait toujours au détriment de Firefox et Safari. Par exemple, l’implémentation de Chrome du pseudo-sélecteur ::first-letter
est clairement défaillante (cf cet exemple que j’avais posté en 2017, corrigé depuis sur Firefox, toujours pas sur Chrome). Mais la fonctionnalité bénéficie pourtant d’un statut Baseline « Disponible ».
Je suis convaincu qu’il y a des choses à faire pour documenter le Web pour les développeur·euses. Mais je suis aussi convaincu qu’il ne faut pas laisser Google s’en occuper.