Aaron Gustafson hat mit seinem Artikel "Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8" auf A List Apart eine mögliche Lösung für ein großes Problem der Browserhersteller vorgestellt: Um zu verhindern, dass neue Browser die Rendering-Fehler alter Versionen übernehmen müssen, um weiterhin für bestehende Websites abwärtskompatibel zu sein, schlägt er Version-Targeting in Form eines einfachen Meta-Tags vor.Bis jetzt sahen sich gerade die Entwickler des Microsoft Internet-Explorer in der Bringschuld, den endlich regelmäßiger erscheinenden Versionupgrades des Standardbrowsers für Windows Abwärtskompabilität zu gewährleisten.
Laut ihren Untersuchungen benutzten zu Zeiten der Entwicklung des oft verdammten Internet Explorers 6.0 nur eine insignifikante Anzahl Website-Betreiber gültige Webstandards, so dass der Fokus der Entwickler darauf gerichtet war, einen möglichst toleranten Browser zu schaffen, der die vielen defektiven Websites im Netz darstellen konnte. Webstandards-Einhaltung hatte keinerlei Priorität.
Web-Developer begannen jedoch bald, Webstandards zu schätzen und mussten feststellen, dass der IE6 valide Websites nicht korrekt darstellte. Daher entwickelte sich eine ganze blühende Landschaft von User-Agent Prüfern auf Basis von PHP, ASP, Javascript u.a. Scriptsprachen. Diese untersuchen ankommende Anfragen und versuchen an Hand seiner Kennung festzustellen, um welchen Browser es sich handelt um diesem den entsprechend modifizierten Content auszuliefern.
Dieser Ansatz birgt mehrere Probleme: Die Informationen, die in den Felder für User-Agent übertragen werden, können beliebig manipuliert oder beschnitten sein. Manche Router entfernen automatisch solche Informationen aus zu versendenden Paketen, um die Benutzer zu schützen. Andere modifizieren absichtlich diese übermittelten Informationen, um ihre Privatsphäre zu schützen oder um Websites zu einem bestimmten Verhalten zu 'überreden'. Dabei hilft für Firefox z.B. der User-Agent Switcher.
Besonders ärgerlich ist allerdings die Tatsache, dass neue Browserversionen in diesen Überprüfungen keine echte Berücksichtigung finden können. Wenn das Script IE6 erwartet und ein neuer IE7 daher kommt, ist Ärger vorprogrammiert. Ein hässlicher Workaround für viele war es, z.B. einfach allen Internet-Explorern egal welcher Version die gleiche modifizierte Seite auszuliefern.
Damit war der Zweck des User-Agent Prüfers gestorben. Da außerdem noch viele Website-Betreiber ihre Website nur auf den aktuellen Browsern ans Laufen bringen wollten anstatt Webstandards umzusetzen, war es den Browser-Entwicklern unmöglich, viele Bugs aus ihren Rendering-Engines zu entfernen, da dies eine defektive Darstellung bis dato funktionierender Websites zur Folge gehabt hätte.
Gustafsons Ansatz dreht das Paradigma, dass Website-Betreiber eine unvorhersehbare Browserzukunft vorausahnen müssen, herum: Anstatt alten Browsern alten Content ausliefern zu müssen und für die Zukunft nicht gewappnet zu sein, sollen sich nun neue Browser auf alte Darstellungsmodi schalten lassen.
Dazu soll einfach ein zusätzliches Meta-Tag in Websites integriert werden. Dies könnte z.B. wie folgt aussehen:
<meta http-equiv="X-UA-Compatible" content="IE=8" />
Hiermit würde der kommende Internet-Explorer 8, der diese Funktionalität bereits unterstützen soll, dazu angewiesen, seine neue, ACID2-geprüfte Rendering-Engine zu verwenden. Mit "IE=6" könnte man ihn vermutlich anweisen, die alte Engine von Internet Explorer 6 zu verwenden.Mit dieser Syntax können alte Websites problemlos weiter korrekt dargestellt werden, ohne dass die Browser-Entwickler auf echten Fortschritt verzichten müssen. Selbst Gurus wie Eric Meyer halten die von Gustafson vorgeschlagene Methode (mit Einschränkungen) für sinnvoll - Auch wenn es noch eine Menge Feinheiten zu klären gibt.
Geschrieben am 22.01.2008




Ich war einer der Gäste auf der besagten Hochzeit und ich kann bestätigen, daß die Feier mit ihrer ganz speziellen Art für mich...
- Martin