Le W3C vient de mettre à jour le Working Draft de la spécification Cascading Style Sheets Level 2 Revision 1, plus connue sous le nom de CSS 2.1. En effet, il s'agit encore d'un document de travail, la norme de référence étant toujours CSS 2, publiée en 1998. Je profite donc de cette occasion pour effectuer un petit rappel sur les fondements de CSS 2.1.

CSS 2.1 constitue une mise à jour de CSS 2 au regard de l'implémentation des différents navigateurs. Les spécifications communément admises et mises en application dans la plupart des navigateurs y sont donc conservées. Outre l'apport de quelques corrections, l'objectif de CSS 2.1 est de mettre à l'écart les propriétés trop ambitieuses et qui ont subi un manque d'implémentation, ainsi que celles que la norme CSS 3 rendra obsolètes.

Les marqueurs de listes et la numérotation automatique des titres font partie des mécanismes ayant disparu en CSS 2.1. Laurent Denis avait commencé à exposer fin 2004 les différences majeures entre CSS 2 et CSS 2.1.

Le statut actuel de Working Draft de CSS 2.1 provient notamment des Features at risk, c'est-à-dire des mécanismes pour le moment en suspens. Ils devront être implémentés rapidement sous peine de devoir disparaître de la recommandation finale. Parmi ceux-ci figurent la propriété quotes, trois valeurs de la propriété list-style-type, ainsi que l'algorithme de mise en page automatique des tableaux.

Mis à part les points sus-cités, le présent document de travail CSS 2.1 est selon toute vraisemblance assez représentatif de ce que sera la recommandation finale, dans la mesure où il s'agit de la sixième révision.

Une feuille de style limitée aux mécanismes CSS 2.1 a plus de chances de trouver dès aujourd'hui un agent utilisateur compatible tout en préservant la compatibilité ascendante pour l'avenir.

Enfin, notons qu'il est tout à fait possible d'exploiter au mieux les implémentations de chaque navigateur, en utilisant notamment les extensions CSS propriétaires définies par CSS 2.1, qui sont préfixées par l'agent utilisateur.