Wer kennt das Problem nicht? Man liefert eine einwandfreie Website aus und zwei Tage später ist alles voll von font-Elementen und Konstruktionen wie <table border="2" align="center">. Grausig.

Abhilfe schafft ein Fehler-Stylesheet, der Antiquitäten wie eben font als Fehler markiert. Diesen Stylesheet bindet man so ein, dass ihn nur der Kunde sieht und schon hat man ein Feature wie Rechtschreibprüfung in einem Textverarbeitungsprogramm in der Website. Das könnte z.B. so aussehen:

font, center, div[align], p[align], table[align]
{
  color:#CD0000;
  border:2px dashed #CD0000;
}

Das Problem

Diese Idee hat Marco Battilana ausgebrütet und Big Red Angry Text (BRAT) genannt. Es gibt nur ein Problem: ein gewisser Browser aus dem Hause Microsoft kann mit diesem Stylesheet nur wenig anfangen.

Der Internet Explorer 6 kennt CSS2-Selektoren wie table[align] nicht und muss mit proprietären Tricks auf den rechten Pfad gezwungen werden.

Die Lösung

Wirklich schwierig ist das nicht. Wir nehmen die altbekannten Conditional Comments und Dynamic Properties aus dem CSS-Werkzeugkasten und basteln uns eine Konstruktion wie diese hier:

<!--[if lt IE 7]>
<style type="text/css" media="screen">
  div, p, table
  {
    color: expression((this.align) ? '#CD0000' : '');
    border: expression((this.align) ? '2px dashed #CD0000' : '');
  }
</style>
<![endif]-->

Das lässt sich auf beliebig viele andere Elemente und Eigenschaften ausdehnen und funktoniert einwandfrei. Elemente wie font, center und so weiter können mit normalem CSS als Fehler markiert werden.

Das Fazit

Wenn es um die Frage geht, ob man seinen Usern oder Kunden irgend etwas beibringen oder anzuerziehen sollte, gehen die Meinungen auseinander. Nur wenn man sich dafür entscheidet, eine CSS-basierte Fehlerkontrolle für HTML im Stile von BRAT einzubauen, sollte man die konsequenterweise auch im alten Internet Explorer 6 zu funktionieren bringen, denn wie wir gesehen haben ist es nicht wirklich schwer.

Wie immer gibt es auch zu diesem Artikel eine Demoseite.