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.
Kommentare (3)
mike ¶
14. Oktober 2007, 16:56 Uhr
Lustige Geschichte, problematisch ist aber dem Kunden beizubringen, wie er die Fehler korrigiert.
Peter ¶
14. Oktober 2007, 18:13 Uhr
Das ist wohl wahr. Ich werde jedenfalls am lebenden Objekt ausprobieren zu was das führt.
Peter ¶
23. Oktober 2007, 18:33 Uhr
Mit dem Fehler-Stylesheet geht es an anderer Stelle weiter.