Zum Hauptinhalt Zur Navigation

Internet Explorer 9: Microsoft kämpft mit Altlasten

Mit dem Internet Explorer 9 will Microsoft vieles anders und besser machen. Das gilt vor allem für die Unterstützung von Webstandards. Dafür nimmt Microsoft auch Inkompatibilitäten mit den Vorgängern des IE9 in Kauf.
/ Jens Ihlenfeld
97 Kommentare News folgen (öffnet im neuen Fenster)

Microsoft unterstreicht wieder einmal sein Bekenntnis zu Webstandards, wenn es um den Internet Explorer 9 geht. So wird der Browser unter anderem das CSS3-Color-Modul unterstützen, einschließlich der populären Eigenschaft "Opacity". Damit lässt sich die Deckkraft von Grafiken festlegen, was von anderen Browsern auf diese Art und Weise seit geraumer Zeit unterstützt wird.

Microsoft zeigt Internet Explorer 9 Platform Preview 4
Microsoft zeigt Internet Explorer 9 Platform Preview 4 (02:43)

Der Internet Explorer setzte bislang auf einen anderen Mechanismus: einen Alphafilter. Viele Webentwickler haben ihre Websites an diese Eigenheit des Internet Explorer angepasst, was beim Internet Explorer 9 zu einem Problem werden könnte.

Der IE9 rendert Webseiten, wenn diese es nicht explizit anders erzwingen, im Standardmodus, der den Alphafilter nicht unterstützen wird. Es gibt also keinen Weg, eine so an den Internet Explorer angepasste Website im Standardmodus des IE9 korrekt darzustellen. Das funktioniert nur, wenn der Browser in den Rendermodus Quirks 7 oder 8 gezwungen wird. In diesen Modi aber stehen viele der Neuerungen nicht zur Verfügung.

In einem Blogeintrag(öffnet im neuen Fenster) erläutert IE-Entwickler Ted Johnson, wie sich das Problem von vornherein umgehen lässt. Denn wer heute schon den richtigen Ansatz nutzt, wird langfristig weniger Probleme haben.

Der Schlüssel liegt darin, nicht den Browser zu erkennen, sondern dessen Fähigkeiten. Eine Webapplikation, die die Deckkraft direkt per Javascript ändert, sollte also prüfen, ob der verwendete Browser die Opacity-Angabe unterstützt, statt nur zu schauen, ob es sich um einen Internet Explorer handelt und dann davon auszugehen, dass dieser nur den Alphafilter, aber nicht die Opacity-Angabe auswerten kann.

In den CSS-Angaben sollte Opacity einfach vor dem Alphafilter definiert werden, dann wird die Seite sowohl im IE9 als auch älteren Versionen des Internet Explorer korrekt dargestellt, so Johnson.


Relevante Themen