Quirks-Modus des Internet Explorers

Für jede Webseite wichtig ist die "DocType Deklaration", die festlegt, nach welchen Regeln das jeweils vorliegende Dokument verstanden werden soll. 

Beim Internet Explorer 6 (abgekürzt: IE6) muss diese Deklaration sich in der ersten Zeile befinden. Ansonsten wird der IE6 in einem Modus geschickt, mit dem der IE6 die Webseite nach Art des IE5 interpretiert, also vor allem mit einem falschem Boxmodell.

Der Boxmodellfehler

Ausgehend vom Boxmodell-Fehler des Internet Explorer 5 und 5.5 wurde der IE 6 abwärtskompatibel gemacht. 

Der IE 6 wurde vom Microsoft so hergerichtet ("Quirks-Modus"), damit im Netz vorhandene, also alte Webseiten in ihrer Darstellung noch kompatibel mit dieser neuesten IE Version waren. Eines Browsers der ja nun unters browsende Volk gebracht wurde. Ein Trick wurde also eingeführt. Mit folgender Begründung:

Die Webdesigner hatten sich die langen Jahre während der Herrschaft des IE 5 auf das im IE 5 falsche Boxmodell eingestellt! Der Boxmodell-Fehler: padding und border wurden beim IE 5 dem Inhalt nicht hinzugerechnet sondern abgezogen, was nicht dem Standard entsprach - so setzte der Internet Explorer gewissermaßen einen eigenen Standard, der sich aber vor allem aus heutiger Sicht nicht durchsetzen konnte. 

Hätte sich das durchgesetzt, und jeder Browser hätte gleichermassen seinen eigenen Standard gesetzt, so wären die Probleme für den Webdesigner heute größer, weil jeder Browser dann seine Interpretationsweise von CSS hätte, und man sich an viel mehr Browser anpassen müsste.

Es macht aus gestalterischer Sicht schon Sinn, dass padding und border dem Inhalt abgezogen werden, da unter diesen Umständen die Box gleich groß bliebe. Aber es macht aus anderen Gesichtspunkten ebenso Sinn, dass der Inhaltsbereich bei padding und border und damit die Breite einer Box sich vergrössert, denn damit bleibt der wesentliche Textbereich unangetastet.

Die Darstellung eines so banalen Blockelementes wie es der <div>-Container darstellt, war mit dem IE5 und IE5.5 dann unter Umständen anders, als wie es eigentlich sein sollte, wenn das Design der Webseite Werte für padding (Innenabstand) und border (Rahmen) gebrauchte. 

Die meisten benutzen auch heute noch den Internet Explorer als Browser, viele noch den IE 6, allerdings sind die Nutzer des IE 5 oder IE 5.5 sehr selten geworden. Umso mehr das an sich gute Windows XP aus der Landschaft verschwindet, wird damit auch der darin standardmässige aber schlechte IE 6 aus dem Internet verschwinden. Die Tendenz vom IE 6 zu Firefox, Chrome, IE 7 oder IE 8 wird bis 2013bestimmt immer stärker werden.

Abwärtskompatibilität

Die Annahme von Microsoft war, dass Webdesigner sich auf den Internet Explorer mitsamt der fehlerhaften Interpretation des Boxmodells eingestellt hatten, weil er am meisten verwendet wurde und als Masstab galt.

Da es die Anfänge des Internets waren und sich die Wichtigkeit der Doctype Deklaration erst mit der Zeit einbürgerte, ging Microsoft davon aus, dass viele alten Web-Seiten noch eine falsche bzw. keine Doctype Angabe hatten. So konnte mit einem Trick der IE 6 also in den alten Modus des IE 5 und IE 5.5 geschickt werden, womit man viele Probleme erst mal gelöst haben wollte.

Es ist jedoch fraglich, wieviel Wahrheit in dieser Annahme von Microsoft steckt. 

Bis vor kurzem war es für manche modernen Webdesigner, vor allem aus dem englischsprachigen Raum - während der IE 6 noch zahlreich benutzt wurde - eine Art zusätzliche Option, den IE 6 bewusst in den "Quirks-Modus" zu schicken, aus welchen Gründen auch immer. Vielleicht weil anno 2003 auch der IE5 noch weit verbreitet war, und man alternative Browser wie den Firefox noch sehr wenig nutzte - auf diese Weise war es dann für den Webdesigner einfach, ein einheitliches Design anzustreben, wenn auch billig. 

Man kann Microsoft für verschiedene Mängel auch dankbar sein (und sich nicht in schlechte Laune bringen lassen), da es zumindest das Bewusstsein schärfte für die prinzipiell immer mögliche Unzulänglichkeit der Technik, die genau wie der Mensch nicht vollendet und perfekt sein kann, und da es zusätzliche Problemlösungen erfordert hat, die letztlich die kreative Auseinandersetzung und Durchdringung der Materie förderte.

DocType-Deklaration

Die Doctype Angabe ist wichtig, damit wirklich sicher gestellt werden kann, dass die im Skript verwendete Sprache auch vom Browser verstanden wird. Html ist eine Art Dialekt. 

Jeder Dialekt kann sich mit der Zeit ändern, welcher Dialekt ein Quellcode benutzt, wird mit dem DocType geklärt. Html 4.01 gilt etwa seit der Jahrhundertwende und eine Version 5 soll etwa 2010 erscheinen.

In xhtml gibt es zum Beispiel einige Befehle, die eine leicht andere Syntax als wie im herkömmlichen html aufweisen, und eine gewisse Konsequenz beinhalten.

Ein Browser muss wissen, dass das vorliegende Skript diese Sprache spricht, damit diese Befehle nicht als Fehler im Skript aufgefasst werden. Auch in zehn Jahren werden natürlich alte Dialekte vom Browser noch verstanden werden. Die müssen nur durch die Doctype Deklaration auf diesen Dialekt hingewiesen werden (man braucht seine Webseiten nicht auf html5 umzuschreiben, wenn html 5 in den nächsten Jahren veröffentlicht wird).

Man kann den IE 6 in den sogenannten Quirksmodus versetzen, wenn man in die erste Zeile des html-Dokuments zB einen Kommentar einfügt:

<!-- Kommentar -->

Und erst darunter kommt die DocType Angabe für alle anderen Browser.

Diese zweite Zeile kann aber der IE 6 nicht mehr zuordnen, während die anderen Browser sozusagen von der ersten Zeile an auf die Deklaration des DocType warten. Diese kann man für die anderen Browser in der zweiten oder dritten Zeile geben.

Der IE 6 schaut aber nur nach der ersten Zeile. Man nennt es Abwärtskompatibilität des IE 6 zum IE5, das heisst, der alte Standard (IE5) sollte auch noch mit dem IE 6 möglich sein. Allgemein sagt man auch Quirks-Modus.

Wenn ein Browser im richtigen Modus ist, so dass er html und CSS angemessen bzw. weitgehend ohne Einschränkungen versteht, nennt man das seinen standardkonformen Modus.

Fazit

Es ist heutzutage kein sinnvolles Unterfangen mehr, seine Webseiten an den Quirks-Modus anzupassen und einen potentiellen IE 6 in den Quirks-Modus zu schicken, wenn man in die erste Zeile einen Kommentar schreibt. Warum sollte man seine Webseiten "älter" machen?

Der IE 6 kann mit xhtml nicht umgehen. Viele schwören ja auf xhtml und propagandieren sogar die Ablösung von html durch xhtml. Ich glaube jedoch, dass man html schon als die Klassik bezeichnen kann, auf die man sich immer wieder beziehen wird. Möglicherweise wird sich xhtml einbürgern, aber ob xhtml das bekannte html verdrängen kann, halte ich für sehr fragwürdig. Man plant mittlerweile immerhin html 5, und das ist doch ein Zeichen, dass html nicht bedeutungslos werden wird.

Es wird jedenfalls noch einige Jahre dauern, bis die alten Browser Generationen "ausgestorben" sind (vor allem der IE 6; denn der IE6 versteht xhtml nicht, ist aber als Browser noch weit verbreitet), und so wird html immer nötig sein, weil der IE6 den xhtml-Dialekt nicht versteht.

Weiteres über den "Quirks-Modus", in englischer Sprache und inhaltlich für Fortgeschrittene: http://www.positioniseverything.net/explorer/guillotine.html

Beispiele über die genannten Probleme des IE findet man auch hier: http://barrierefrei.e-workers.de/workshops/ie-fun/index.html Allerdings gelten die Beispiele bei "ie-fun" nur für den
IE - 5.5, und den IE 6, wenn er sich im Quirks-Modus befindet. Bei diesen Beispielen wird der IE6 in den Quirksmodus geschickt, da die oben angegebene Webseite in die erste Zeile einen Kommentar geschrieben hat. Aber was dort berichtet wird, sind sozusagen die elementaren Nachrichten über den Internet Explorer 5 und 5.5 und das Boxmodell Problem.

Näheres zum Quirks-Modus falls dazu Bedarf ist:
http://www.google.de/search... (Suchbegriffe bei google wurden von mir bereits im Link eingefügt).

November 2007
Stefan Arens
NACH OBEN