Heute habe ich bei A List Apart und Heise eine Nachricht gelesen, die mir persönlich überhaupt nicht zusagt – ja, die ich gar vehement ablehne, auch nachdem ich mir die positiven Stellungnahmen dazu zu Gemüte geführt habe.
Um was geht es? Um ein neues META-Tag im Kopfbereich eines Website-Quelltextes, das den Browser dazu bringen soll, die Webseite in einem bestimmten Browser und mit einer bestimmten Browser-Version in einer bestimmten Weise anzuzeigen.
Haben Sie zum Beispiel eine Website für ein Firmen-Intranet geschrieben und auf die Technik zu Zeiten von Internet Explorer 6 und Firefox 1 ausgelegt, können Sie mit <meta http-equiv="X-UA-Compatible" content="IE=6;FF=1" />
bestimmen, dass IE und Firefox nur jene Webstandards anwenden, die zu jener Zeit aktuell waren, und nicht zum Beispiel die fehlerbereinigten CSS-Befehle verwendet werden, die es seit IE 7 gibt, durch die die Website falsch dargestellt werden könnte. (Dieses Beispiel ist theoretischer Natur, da diese Funktion nicht rückwirkend für alte Browser-Versionen eingesetzt werden kann, die es vor der Implementation des Meta-Tags in den Browser gab.) Natürlich geht das nur, wenn die Browser das neue Meta-Tag unterstützen.
Die Frage ist erstmal, ob das noch jemand unterstützen wird außer Microsoft. Mozilla? Opera? Apple? Dann gäbe es neben CSS-Hacks und Conditional Comments für den Internet Explorer auch noch als dritte Eigen(un)art diese Meta-Browser-Weichen.
Und falls doch alle Browser-Hersteller mitziehen werden, sehe ich eine unwiederrufliche Zersplitterung des Webs, in dem man noch in 30 Jahren Webseiten finden wird, die auf den IE 8 optimiert worden sind. Welcher Browser wird in 30 Jahren noch die Rendering Engine des IE 8 implementieren, bloss um Rückwärtskompatibilität zu gewährleisten?
Eigentlich war es bisher immer so, dass sich HTML-Elemente und CSS-Eigenschaften erst allgemein durchgesetzt haben, als die große Mehrheit der Browserbenutzer Browser nutzte, die diese neuen Techniken beherrschten. Was zu wenig unterstützt wurde, wurde nicht angenommen. Das führte die letzten Jahre zwar zum Stillstand (aufgrund des IE 6), ändert sich aber nun mit dem IE 7 und irgendwann IE 8, bald Opera 9.5 und bald Firefox 3 und so weiter. Wen interessiert schon, dass der Netscape 1 noch keine Tabellen beherrschte? Heute nutzt sie jeder.
Was wird aus dem Vorsatz der Unveränderlichkeit der HTML-Elemente und CSS-Eigenschaften, wenn dieses Browser-Meta-Tag eingeführt wird? Können Elemente dann ihre Eigenschaft wechseln, wenn man eh entscheiden kann, ob <span>
heute ein Inline-Element ohne Formatierung ist und beim IE 10 und HTML 6 dann doch ein Inline-Element mit speziellen Eigenschaften wird? Die Aufhebung der Unveränderlichkeit (die in Grundzügen schon in HTML 5 geschieht) führt auf lange Sicht zu totalem Chaos (und wer kann schon sagen, was in 20 Jahren passieren wird).
Die dauernde, fortschreitende Weiterentwicklung des Webs und dessen Techniken, von der Aaron Gustafson bei A List Apart spricht, wird technisch gesehen zwar nicht aufgehalten, aber wenn die Webentwickler anfangen, dieses neue Meta-Tag einzusetzen und ab Veröffentlichung des IE 8 auch anzuwenden (und zwar mit dem Eintrag „IE=8“, da dann immer noch die Mehrheit der Webbenutzer den IE verwenden werden), werden alle diese Webseiten aufhören, ihren Betrachtern die neuesten Techniken zu bieten, die zur Verfügung stehen. Das ist dann Stillstand. Bis alle Funktionen von CSS 2.1 + Module von CSS 3 und HTML 5 in Browsern implementiert sind, werden alle Webentwickler auf HTML 4 und dem derzeitigen CSS 2.1-Stand optimieren und keiner wird sich weiterbilden wollen, „da HTML 4 mit ein bisschen CSS ja funktioniert“. So wird das noch lange Jahre weitergehen.
Gut. Vielleicht irre ich mich. Aber je mehr Möglichkeiten man Leuten bietet, desto mehr verkomplizieren sie die Angelegenheit.
Wieso soll das Web bis in alle Ewigkeit büßen für die Schwäche der alten (bisherigen) IE-Rendering Engine? Wer vor 3 Jahren auf Firefox 1 optimiert hat, bekommt auch mit Firefox 3 noch eine richtige Webseite vorgesetzt. Sagen wir den Webentwicklern doch einfach: „Hört auf auf den IE zu optimieren, baut Seiten mit Hilfe von Browsern, die am aktuellsten Webstandards-technischen Stand sind und korrigiert die IE-Fehler mit Conditional Comments.” Und auf unvermeidliche Darstellungsfehler durch den IE 8 muss man sich halt vorbereiten. Sagen Webstandards-Unterstützer nicht dauernd, Webseiten sind keine gedruckten Plakate, sondern dynamisch und nicht immer und überall gleich aussehend? Gilt das nun nicht mehr?
Weitere (meist) negative Meinungen:
- Ein neuer Meta-Tag für den IE8 (die Sicht eines Webentwicklers)
- <META HTTP-EQUIV=“X-BALL-CHAIN“> (die Sicht eines Browser-Programmierers)
- Broken (die Sicht eines Web Standards Project-Mitglieds)
- Niemand hat die Absicht eine Mauer zu bauen … (lange Liste zu themenbezogenen Seiten)
4 Kommentare
1. Bundesministerium für Arbeit und Wirtschaft AG schrieb am 24th Januar 2008 um 23:40 :
Es wäre nicht akzeptabel, mit diesen Meta-Tags eine neue Beliebigkeit in der Interpretation von W3C Standards einzuläuten. Aber man muss ja nicht immer das schlimmste annehmen. Alle Browserhersteller (sogar MS) nähern sich in den letzten Jahren von Version zu Version diesen Standards immer mehr an. Gehen wir davon aus, dass das so bleibt. Dann wird es dennoch eine Weile dauern, bis alle (insbes. MS) dort angekommen sind. Der IE7 war ein dringend notwendiger Fortschritt, der IE8 soll sogar ACID2 schaffen, aber da gibts dann sicher auch noch einiges zu tun.
Bis zur Ankunft der perfekten Welt wird man sich also noch mit Conditional Comments und Konsorten rumschlagen müssen. Dabei hat man aber das Problem, nicht wissen zu können, ob der Browser, für den man einen bestimmten CC einführt, einen bestimmten Bug in einer bestimmten zukünftigen Version gefixt haben wird. Wie soll man damit umgehen? Macht man den CC für alle zukünftigen Versionen, dann wird das Layout kaputt sobald der Bug gefixt ist. Schränkt man ihn auf max. die aktuelle ein, dann ist das Layout in der nächsten Version kaputt, falls er nicht gefixt wird. Dilemma.
Der Meta-Tag löst dieses Problem. MS wird den backwards-compatibility-Schrott noch eine Weile in ihrer Codebasis rumschleppen müssen, aber das ist deren Problem. Andere Hersteller können sich selbst entscheiden, ob sie das wollen.
Aber als Website-Produzent habe ich so die Sicherheit, nicht bei jeder neuen Browserversion wieder längst vergessenen Projekte ausgraben und anpassen zu müssen. Das wäre nämlich fatal.
2. ThomasS schrieb am 25th Januar 2008 um 09:15 :
Wenn der IE8 per Voreinstellung die IE7-Rendering Engine hernimmt, um Webseiten darzustellen, und die verbesserte IE8-Rendering Engine nur genommen wird, wenn man das explizit will als Webdesigner (mit Hilfe des neuen Meta-Tags), so finde ich das eine Augenauswischerei zu glauben, dass Microsoft nach einer gewissen Zeit die verbesserte Engine – sagen wir im IE10 – als Standardengine nimmt und nicht mehr die veraltete IE6/7-Engine.
Denn nach ein paar Jahren mit dem neuen Meta-Tag werden zwar die Webstandards-orientierten Webentwickler Seiten für den IE8, IE9 produzieren, die große Masse der Webseiten wird aber wie gehabt wie IE6/7 dargestellt. Aus welchem Grund sollte sich das Problem, das besteht mit dem Sprung von IE7 und IE8 und dem unvermeidlichen Problem, dass Webseiten dann anders dargestellt werden, dann beim IE9 anders darstellen als heute?
Mit dem IE9 wird Microsoft genauso behaupten, die meisten Webseiten würden „falsch“ aussehen mit dem IE9 und der vollständig Webstandards-unterstützenden Rendering Engine. Darum würde man weiterhin die des IE7 als Voreinstellung nutzen, und nur wer möchte, kann mit dem Meta-Tag die IE9-Engine benutzen.
Bis HTML5 verabschiedet und in mind. 2 Browsern + IE vollständig imlementiert ist und die Webdesigner auf der Welt HTML5 auch anwenden, wird noch eine laaange Zeit vergehen. Und bis dahin werden alle für den IE6/7 optimieren, nur die „dummen“ Standardistas werden das Meta-Tag benutzen müssen, damit sie das bekommen, was eigentlich normal sein sollte …
(Von Problemen der anderen Browser-Hersteller, die dann zugleich mit der IE9-Engine UND der IE7-Engine klarkommen müssen, gar nicht zu sprechen …)
3. Bundesministerium für Arbeit und Wirtschaft AG schrieb am 25th Januar 2008 um 14:26 :
Mit dem default-behavior bin ich auch unglücklich. Anzunehmen dass jeder ausführlich mit IE testet und dann die meta-header explizit setzt ist schon sehr arrogant.
Ich halte es mit ihm hier:
http://adactio.com/journal/1402/
Aber grundsätzlich halte ich es für eine gute Idee, dem Designer ein Mittel zu geben, zukünftige unvorhersehbare Layout-Probleme zu vermeiden. Opt-in wäre aber angesagt, ich hoffe das ändern sie noch.
4. Anonymous schrieb am 4th Februar 2008 um 19:01 :
Der Tag ist überflüssiger Nonsens. Wofür gibt es die DOCTYPE-Deklaration???
Hinterlasse einen Kommentar
Trackback URL | Kommentarfeed