Zusammenfassung

  • CSS2 wurde im Mai 1998 W3C-Empfehlung. CSS2.1 wollte breit implementierte Teile behalten, Errata einarbeiten, Regeln bei überwiegender Praxisabweichung ändern und nicht implementierte Funktionen streichen.
  • Die Candidate Recommendation von 2007 verlangte zwei interoperable Implementierungen je Funktion. Der Bericht von 2011 zählte 9.418 Tests; 9.191 Tests für Pflichtverhalten bestanden in mindestens zwei Implementierungen.

Die Papierspezifikation wollte zu viel

CSS2 war ein Versprechen auf Papier. Die Empfehlung von 1998 beschrieb herunterladbare Schriften, @font-face, Schriftauswahl und ein großes Layoutmodell. Für Autoren war das attraktiv. Für Browser bedeutete jede Regel eine weitere Möglichkeit, anders zu rechnen.

Die überarbeitete CSS2-Seite von 2008 erklärte das Dokument schließlich für nicht mehr gepflegt und verwies auf CSS2.1. Die Revision rettete nicht jede Zeile; sie machte Implementierungserfahrung zum Filter.

Implementierung wurde zur Eintrittskarte

CSS2.1 beschreibt die Methode offen: akzeptierte Teile behalten, Errata einarbeiten, Text an überwiegende Implementierungspraxis anpassen und nicht implementierte oder für CSS3 vorgesehene Funktionen entfernen. 2007 wurde daraus ein Verfahren mit zwei interoperablen Implementierungen, öffentlichen Tests und sechs Monaten CR. Ohne Implementierung oder ausreichende Tests konnte eine Funktion fallen.

Die Änderungsliste zeigt den Preis: font-stretch, font-size-adjust, @font-face, Teile der Schriftzuordnung, text-shadow, marker-offset und mehrere Listenwerte verschwanden aus CSS2.1. Das waren keine verbotenen Ideen, aber kein belegter gemeinsamer Boden.

Der Bericht von 2011 prüfte 24 User Agents aus sieben Rendering-Implementierungen auf acht Betriebssystemen. Von 9.418 Tests bestanden 9.191 Pflichtverhalten in mindestens zwei Implementierungen. Der Standard wurde kleiner und brauchbarer.

W3C gewann eine stabile Grundlage, indem es einen Teil des CSS2-Katalogs aufgab. Die Geschichte lautet: Interoperabilität entsteht erst, wenn ein Standard kleiner sein darf als sein erster Entwurf.