Skip to content

ie 10 versteht keine conditional comments mehr

ie 6 - ie 9 conditional commentsJa, ja. Standard und darum nimmt Microsoft dem ie 10 die conditional comments weg. Im Grunde ja richtig, aber bei meinem ersten Test klappte zunächst etwas eben im ie 10 nicht.

Also wie gewohnt, das Stylesheet angelegt, zu

  • ie.css
  • ie7.css
  • ie8.css
  • ie9.css
  • ie10.css ergänzt

"ie 10 versteht keine conditional comments mehr" vollständig lesen

Sorry, die Funktionen dieser Seite können mit Ihrem Browser nicht genutzt werden

Gestern habe ich mal erzählt, was ich glaube wer welches Vorwissen hat. Am Ende stellte ich die provokante Frage:

Sind all diese Menschen es nicht wert, dass sie eine lesbare Webseite bekommen?

Ich finde sie sind es wert.
  • Screenshot IE 6miradlo bloggt im IE6
"Sorry, die Funktionen dieser Seite können mit Ihrem Browser nicht genutzt werden" vollständig lesen

Entschuldigung Ihr Browser ist veraltet...

Ich kenne Kunden, Freunde, Bekannte und so,  für die ist:
  • dieses Google mit dem wählt man sich ins Internet ein
  • da kann man so eine Adresse von einer Homepage eingeben, dann kommt das
  • Webdesigner? Sind das die, die eine Homepage machen?
  • Informatik? Das hat mit Computern zu tun, gell?!
  • ein Blog? Hm, sollte wohl Block heißen, wusste ich doch, dass die in dem Internet auch noch Zettel und Stift brauchen
  • ein Browser? Ähm, ich glaube nicht, dass wir das haben, den Computer hat ein freundlicher junger Mann eingerichtet damals...
  • IE, Internet Explorer? Oh, ja Internet haben wir, das ist mit dem Google, damit wählt man sich da ein.

"Entschuldigung Ihr Browser ist veraltet..." vollständig lesen

Progressive Enhancement ::: CSS 3 einerseits jedoch IE 6 andererseits

Progressive Enhancement? im Deutschen könnte man stufenweise Verbesserung oder Erweiterung des Layouts dazu sagen. Hinter diesem Begriff verbirgt sich ein Konzept sich beim Design nicht mehr an den ältesten Browsern zu orientieren und nur zu nutzen, was auch diese umsetzen, sondern Stück für Stück auch kleine Extras für moderne Browser einzubauen. Einen guten Artikel mit Beispielen dazu gibts bei Dieter.

PNG-Transparenz und hover einsetzen

  • Firefox Standardansicht
  • winkt mittels hover im Firefox
  • IE 6 graue Kästen statt Transparenz
In den Sonnenseiten der Webkrauts berichtet Nicolai Schwarz über eine Spielerei bei Qwitter mit den CSS-Sprites. Wie in den Abbildungen des Firefox zu sehen ist, winkt das Männchen. Realisiert wird das schlicht mittels eines Hover-Effekts durch CSS-Sprites, wie es beispielsweise im Artikel von Stefan David beschrieben wird. Eine schöne und einfach ohne JavaScript umzusetzende Spielerei. Die Designer von Qwitter beschlossen, dass sie sich nicht die Mühe machen mit zusätzlichem Aufwand einen ähnlichen Effekt im IE6 zu erzielen. Wie auf dem Screenshot des IE 6 zu erkennen ist, haben die Bilder des Gesichts, des Arms und des Logos PNG-Transparenzanteile, die dieser nur als grauen Hintergrund darstellt. Der Hovereffekt klappt hier ebenfalls nicht, denn der IE 6 akzeptiert hover ausschließlich für Links. Klar, kann man darüber diskutieren, dass die Nutzer des IE 6 hier nicht dasselbe geliefert bekommen. Allerdings wäre es in diesem alten Browser (so grade eben aus diesem Jahrtausend) nur mit sehr viel mehr Aufwand und nicht ohne JavaScript lösbar. Für einen netten, aber inhaltlich nicht notwendigen Effekt ist solch ein Aufwand wohl kaum gerechtfertigt. Die meisten Webentwickler verwenden seit Jahren mehr Zeit für die Anpassungen an den IE 6, als für jeden anderen Browser. Fast alle anderen Browser orientieren sich an den Webstandards und benötigen nur selten einmal spezielle Anpassungen. Insbesondere der IE 6 ist jedoch deutlich aufwändiger von vielen Designideen zu überzeugen, siehe auch den Beitrag Webstandards oder Internet Explorer.

Webseiten für den IE 6

Manch eine Webseite für speziell für den IE 6 erstellt und funktioniert auf keinem anderen Browser richtig. Leider ist es je nach Webauftritt jedoch noch immer eine große Zahl an Besuchern, die den IE 6 nutzen.

Warum nutzen immernoch so viele den IE6?

Wie schon im Artikel über das Metatag für den IE 8 beschrieben, viele Entwickler schrieben ihre Webapplikationen lange Zeit ausschließlich für den Marktführer, also über einige Jahre speziell für den IE 6. Da dieser sicher kaum an Standards hält funktionieren viele Anwendungen ausschließlich mit dem IE 6 oder mit einem Nachfolger, der sich so verhält, als sei er ein IE 6. Applikationen sind teuer, daher benutzen noch viele Firmen den IE 6, um die darauf angepassten Programme nutzen zu können. Hinzu kommen all die Besucher, die eine ältere Windowsversion, wie Windows 2000 nutzen, denn für dieses Betriebssystem wurde leider keine Version, des deutlich standardkonformeren IE 7 angeboten.

Warum sollte man den IE 6 überhaupt noch berücksichtigen?

Klare Sache, wegen seines Marktanteils. Inzwischen ist er zwar weit davon entfernt noch Marktführer zu sein, wie das lange der Fall war. Einen großen Teil hat der IE 7 übernommen, jedoch auch seit Einführung des Firefox (Hinweis an die Jüngeren: ja, es gab eine Zeit mit Internet und ohne den Firefox;-) ) verlor der Internet Explorer deutlich an Bedeutung. Inzwischen werden viele Diskussionen geführt, was man tun könnte, um den IE 6 endlich loszuwerden. Manch einer hat die Nase voll und liefert zumindest bei eigenen Seiten für den IE 6 nur noch den reinen Text aus. Andere passen ihr Layout teilweise an und liefern an den IE 6 mit einem Hinweis auf den Firefox-Download aus. Für Kundenseiten bleibt den meisten bislang kaum etwas anderes übrig, als das jeweilige Layout weitgehend auch für den IE 6 anzupassen. Rund 20% Besucher, die nach wie vor den IE 6 nutzen, sind auf manchen Seiten keine Seltenheit.

Lösung durch Progressive Enhancement

Aus obigen Gründen, ist es meist nicht möglich völlig auf die Darstellung im IE 6 zu verzichten. Statt jedoch bei Layoutentwürfen nur darüber nachzudenken, wie etwas auch im IE 6 umgesetzt werden kann, bietet es sich an schrittweise vorzugehen. Schritt- oder stufenweise ist es wie im genannten Beispiel durchaus möglich bereits zusätzliche Verbesserungen und Erweiterungen einzuführen, ohne dass der IE 6 völlig vernachlässigt wird. In CSS 3 gibt es einige interessante Eigenschaften (runde Ecken usw.) und bezogen auf den IE 6 stehen auch in CSS 2 noch viele ungenutzte Möglichkeiten offen. Meines Erachtens ist das der optimale Weg, um einerseits zusätzliche, neue und interessante Varianten zu nutzen, jedoch andererseits nicht diejenigen Besucher zu ignorieren, die halt einen sehr alten Browser nutzen. Wer mehr darüber wissen will, sollte sich das Buch Transcending CSS anschauen, besser beschreibt es zur Zeit meines Erachtens niemand, wie man auf diesem Weg neue Ideen umsetzen kann.href="http://miradlo.net/bloggt/index.php?3206-s"">CSS 3 gibt es einige interessante Eigenschaften (runde Ecken usw.) und bezogen auf den IE 6 stehen auch in CSS 2 noch viele ungenutzte Möglichkeiten offen. Meines Erachtens ist das der optimale Weg, um einerseits zusätzliche, neue und interessante Varianten zu nutzen, jedoch andererseits nicht diejenigen Besucher zu ignorieren, die halt einen sehr alten Browser nutzen. Wer mehr darüber wissen will, sollte sich das Buch Transcending CSS anschauen, besser beschreibt es zur Zeit meines Erachtens niemand, wie man auf diesem Weg neue Ideen umsetzen kann.

Spezialfälle: akzeptabler Verzicht auf valides CSS ::: was sagt der Validator?

Normalerweise bin ich ja der Meinung, dass Webstandards eingehalten werden sollen. Damit verbunden sind normalerweise auch Seiten, deren CSS valide ist. Ab und zu eine Ausnahme, ist für mich in einigen Situationen akzeptabel. In meiner Session beim Blogcamp in Zürich kam von einigen der Hinweis, dass die Meldungen des Validators teils unverständlich seien. Deshalb werde ich versuchen, ab sofort diese Meldungen mit zu erklären, wenn ich grad dabei bin.

-moz-border-radius

Wenn es um besondere Eigenschaften geht, die gerade noch nicht dem aktuellen Standard entsprechen, z.B:

  • -moz-border-radius: 5px;

statt der in CSS 3 kommenden Eigenschaft

  • border-radius: 5px;

führt zwangsläufig dazu, dass der Validator meldet: Diese Eigenschaft existiert nicht.
In diesem Fall ist das jedoch kein Problem, denn interpretiert wird die Eigenschaft nur von Mozilla-Browsern, die sie verstehen, alle anderen ignorieren die Definition.

Zuweilen nutze ich solche Spielereien daher ganz gern. Allerdings kann das natürlich zu Problemen führen, wie z.B. bei mir letztens mit radius und Firefox 3. Inzwischen habe ich nochmal ein bisschen damit experimentiert.

Bei relativ langen Seiten scheint Firefox 3 grundsätzlich dann Schwierigkeiten mit dieser Definition zu haben, wenn sie sich im ghref="http://miradlo.net/bloggt/index.php?148-s"">radius und Firefox 3. Inzwischen habe ich nochmal ein bisschen damit experimentiert.

Bei relativ langen Seiten scheint Firefox 3 grundsätzlich dann Schwierigkeiten mit dieser Definition zu haben, wenn sie sich im gleichen div-Container befindet, wie eine größere Menge Text und ein Hintergrundbild. Nach wie vor konnte ich dieses Problem im Firefox 2 zumindest nicht in diesem Ausmaß feststellen, dort kann es mal etwas langsamer werden, aber kein Vergleich… Im Seamonkey gibt’s gar keine Probleme, da ruckelt und wackelt gar nichts.

Transparenzeffekte

Jegliche Transparenzen werden ebenfalls angemahnt, z.B:

  • -moz-opacity:0.75

Alle Eigenschaften, die mit sowas wie -moz oder -webkit (für Safari) beginnen, stammen aus CSS 3 und werden irgendwann kommen, zur Zeit ist jedoch noch CSS 2 oder CSS 2.1 aktuell. Ebenso wird natürlich die proprietäre Eigenschaft der Internet Explorer als Einlesefehler gewertet:

  • filter:alpha(opacity=75);

Hacks für den Internet Explorer

Weitere Hacks für den Internet Explorer, wie z.B. die Eigenschaften, die mittels expression eingebunden werden, versteht der Validator ebenfalls nicht:

  • height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + ‘px’);

Hier meldet der Validator:

  • Ungültige Nummer: height Lexical error at line 149, column 81. Encountered: “?” (63), after : “” ? document.body.scrollHeight : document.body.offsetHeight + ‘px’);
  • Ungültige Nummer: height Parse error - Unrecognized }

Die erste Meldung bezieht sich darauf, dass nach height ein Wert stehen sollte, z.B:

  • height:150px;

Die zweite Meldung ist ein typischer Folgefehler, da der Wert für die Eigenschaft fehlt, versteht der Validator nicht, warum jetzt bereits die Klammer für die Deklaration geschlossen wird.

Bei speziellen Definitionen für den IE, bevorzuge ich Extra-Stylesheets für den jeweiligen IE, die per Conditional Comment eingebunden werden. Damit liest nur der betroffene Browser diese Definitionen ein, alle anderen ignorieren den Kommentar.

Das Beispiel hier stammt aus dem CSS der thickbox, die z.B. vom WordPress-Plugin Ajax-Edit-Comments genutzt wird. Dort wird es nicht per CC eingebunden, was jedoch nicht so schlimm ist, da durch die Transparenzeigenschaften das CSS thickbox.css sowieso nicht valide ist.

Validatormeldungen verstehen

Was man sich beim Korrigieren von Fehlern immer angewöhnen sollte:

  • immer zuerst den obersten Fehler reparieren
  • zwischendurch erneut prüfen

Häufig verschwinden mehrere Fehler, sobald ein Fehler korrigiert ist. Den ersten Fehler zunächst korrigieren, ist sinnvoll, um nicht etwaige Folgefehler zu suchen, die vielleicht schon gar nicht mehr existieren.

Hm, zu verstehen, was welche Meldung bedeutet, ist wohl Übungssache. Für mich ist meist klar, was gerade nicht passt, Beispiele:

  • Diese Eigenschaft existiert nicht.
    • bedeutet genau das, so wie es im CSS steht, ist die Eigenschaft nicht zulässig, also z.B: -moz-border-radius
  • Einlese-Fehler opacity=75)
    • Der Validator hat etwas nicht verstanden, in diesem Fall die Eigenschaft filter:alpha( deshalb meldet er einen Einlesefehler, weil der Wert nicht interpretiert werden kann.
  • Ungültige Nummer: margin-top Lexical error at line 60, column 105 Encountered: “&” (38), after : “” & &document.documentElement.scrollTop | document.body.scrollTop) + ‘px’);
    • Lexical error bedeutet hier, dass ein Zeichen benutzt wurde, was da nicht hingehört, in diesem Fall ein “&”
  • Parse error - Unrecognized }
    • Der Validator kann die Klammer an dieser Stelle nicht korrekt analysieren, da sie hier nicht hingehört. Mögliche Fehlerquellen
      • vorher war eine Definition nicht ok
      • es fehlt ein Semikolon nach einer Definition
    • deshalb kommt die Klammer unerwartet.
  • Ungültige Nummer : display inline-block ist kein display-Wert : inline-block
    • Die Eigenschaft gibt es in der geprüften Version nicht, zur Zeit wird im Standardfall auf CSS 2 geprüft, die meisten Browser verstehen jedoch auch CSS 2.1. Dort existiert inline-block, deshalb kann man es zwar verwenden, muss jedoch auf CSS 2.1 prüfen, um ein korrektes Ergebnis zu bekommen.

Hintergrundbild wird im IE plötzlich nicht mehr angezeigt

Nö, manchmal glaube ich es einfach nicht. Ein funktionierendes Layout, alles war soweit ok. Ein paar Kleinigkeiten mussten noch geändert werden. Der ein oder andere Abstand im Stylesheet passte nicht mehr. Anschließend eher routinemäßig noch einmal testen, und: plötzlich fehlt in beiden IE ein Hintergrundbild. Meine ersten Vermutungen waren irgendwelche Positionierungen, da ließ sich nichts finden. Ein paar Standardtricks probiert, alles ohne Erfolg. Nun gut, also genauer schauen, Dateien vergleichen welche Änderungen es gab, die Einfluss auf diese Stelle haben könnten. Einiges probiert nichts half. Die Stelle mit dem Bild sah sowohl für mein Compare, als auch für mich identisch aus.

Fehlersuche im IE

background:url(/images/logos/bildle.gif)no-repeat;

background:url(/images/logos/bildle.gif)no-repeat;

Nach noch ein paar vergeblichen Versuchen, habe ich dann doch mal Google bemüht: " ie zeigt hintergrundbild nicht an". Ich hatte wenig Hoffnung auf ein sinnvolles Ergebnis, denn meist kommen in solchen Fällen Forenseiten mit Hinweis auf Anfängerfehler, wie falscher Pfad, falscher Bildname, Dateiname mit Leerzeichen usw. Zumindest an dem Tag bei mir war jedoch der erste Link, der mir schließlich zur Lösung verhalf. In dem Beitrag mit fast genau dem Titel wie meine Suchanfrage: "Internet Explorer zeigt Hintergrundbild nicht an", gabs den Hinweis: "so geht's nicht:

background:url(../img/footer-bg.png)center top no-repeat;

Lösung... (der IE) fehlenden Leerzeichen im Shorthand CSS nicht zurecht kam. So funktioniert es nämlich: background: url(../img/footer-bg.png) center top no-repeat; " Zuerst schaute ich genau nach dieser Stelle, sowas haben die IE ja auch manchmal. Nach kurzem Weitersuchen kehrte ich jedoch nochmal zurück. Glauben wollte ich nicht, dass es wirklich so ein Grund sein könnte. Doch am Ende war es genau das:

background:url(/images/logos/bildle.gif) no-repeat;

Eine andere Stelle, aber exakt das gleiche Problem, ein Leerzeichen zwischen der schließenden Klammer und dem "no-repeat" und schon zeigen IE 6 und IE 7 brav das Bild wieder an.

...wieder

Richtig mühsam an diesem Fehler ist, dass er nicht immer da ist, und dass er beide Versionen betrifft. IE 7 ist zwar auch nicht grad meine große Liebe, aber doch an einigen Stellen deutlich stabiler als der "Methusalem IE6". Bei Tieren rechnet man doch die Jahre in Menschenjahre um, ich denke IE 6 ist so betrachtet mindestens 210 Jahre alt. Leider kenne ich den Auslöser des Fehles nicht, denn ich weiß nicht welche zwischenzeitliche Änderung diesen Bug hervorgerufen hat. Nun gut, ich hoffe weiter sehr auf IE 8 und eine schnelle Verbreitung... ;-) Übrigens mehr zum IE 8 gibts auch in der Artikelserie zu diesem Thema.

Diskussionen zu Microsoft und dem IE8 : III.

Diese Serie startete mit I. den guten Nachrichten von Microsoft, dem folgte das II. der Webtrend: stahref="http://miradlo.net/bloggt/index.php?75-s"" title="Webdesign-Trend Webtrends 2008">Webtrend: standardkonformere Seiten, dieses ist das III. der letzte Teil der Serie über die Diskusssionen unter Webentwicklern und die Bedenken zur Standardkonformität des IE8. Ich finde es schade, dass es Diskussionen gibt, die sich an diejenigen richten, die an den Gesprächen mit Microsoft beteiligt waren. Jens Grochtdreis schreibt z.B. in Microsoft hört zu unter anderem:"Gustafson, Eric Meyer, Zeldman und die anderen sollten in sich gehen und fragen, ob sie noch wirklich unabhängig denkende Geister sind oder ob sie sich zu sehr haben vereinnahmen lassen." Klar gerade Jeffrey Zeldman hatte gesagt, dass auch die Lösung, in der der IE8 sich eher wie IE7 verhält, akzeptabel wäre. Auch ich hielt das für den falschen Ansatz und glücklicherweise hat sich Microsoft dagegen entschieden. Allerdings schrieb Zeldman auch folgendes in seinem Kommentar (eigene sinngemäße Übersetzung des englischen Kommentars): "Wenn genügend Webentwickler glauben, dass der Standard sein sollte 'aktuelle Version' statt 'IE7' - und falls sie schlüssig und sachlich argumentieren - dann könnte es sein, dass Chris Wilson und seine Kollegen ihnen zustimmen und den Standardwert so setzen, wie ihr es wollt und nicht wie zuerst vorgeschlagen. " Damit schrieb er meines Erachtens keineswegs, dass er die von Microsoft ursprünglich vorgeschlagene Lösung für optimal hielt. In demselben Artikel schrieb er später ergänzend in einem weiterem Kommentar (eigene sinngemäße Übersetzung der Frage und des Kommentars aus dem englischen Original): Brian Warshaw: "Wenn die Versionsangabe im Metatag bedeutet, dass ein heute erstelltes Design auch noch in zehn Jahren gut aussieht, ist das nicht diese eine Zeile Code wert? " Jeffrey Zeldman: "Ja, für mich ist es so, auch wenn es das glatte Gegenteil an Browserverhalten ist, für das ich seit 1998 kämpfe. Meine Motivation war niemals religiös sondern praktisch. Ich möchte, dass die Seiten, die ich entwerfe funktionieren. Wenn diese Lösung hilft dieses Ziel zu erreichen, dann ist sie eine gute Sache. " Noch deutlicher äußerte sich Eric Meyer in einem Kommentar zu dem Thema auf der Webseite von Jeremy Keith (eigene sinngemäße Übersetzung des englischen Kommentars): “Wie schon gesagt, ich hoffe sehr dass du mit deiner Meinung diese Diskussion gewinnst; denn mir geht es genauso, ich möchte dieses Vorgabeverhalten. Ich habe genau das vergeblich anzubringen versucht, nun hoffe ich, dass andere ebenso argumentieren und weiterhin versuchen Microsoft zu überzeugen. ” Insofern bin ich, anders als Jens Grochtdreis, nicht der Meinung, dass sich die beiden von Microsoft haben vereinnahmen lassen. Klar, gerade von diesen Gurus der Webstandards, erhofft sich mancher, dass sie immer bis zum letzten Moment kämpfen. Andererseits zeigt das jetzige Ergebnis, dass das nicht der einzige Weg ist. Ich hoffe, dass die Entscheidung fiel, weil sich viele andere Webentwickler dafür eingesetzt haben. Manche Unkenrufe vermuten allerdings, dass es rechtliche Gründe gegeben haben könnte, die Microsoft zu diesem Schritt bewogen haben.

...doch nicht standardkonformer IE8

Andere, die den IE8 in seiner ersten Beta-Version getestet haben, befürchten, dass es trotz bestandenem Acid2-Test wieder viele Fehler geben könnte, die schon IE7 hatte. IE8 soll im Herbst veröffentlicht werden, ich halte es für verfrüht bei jedem Fehler in der Beta I anzunehmen, dass dieser auch noch in der endgültigen Version vohref="http://miradlo.net/bloggt/index.php?60-s"" title="Glossar Acid2">Acid2-Test wieder viele Fehler geben könnte, die schon IE7 hatte. IE8 soll im Herbst veröffentlicht werden, ich halte es für verfrüht bei jedem Fehler in der Beta I anzunehmen, dass dieser auch noch in der endgültigen Version vorhanden sein wird. Insgesamt meine ich, es ist ein sehr gutes Zeichen für die Webstandards, wenn der Riese aus Redmond nicht nur einen Browser entwickelt, der den Acid2-Test besteht; sondern darüber hinaus zulässt, dass nun eher die Webentwickler, die für IE6 oder IE7 optimiert haben, gefragt sind und an ihren Seiten etwas ändern müssen, statt derjenigen, die standardkonform entwickeln. Das Webstandards Projekt schreibt dazu (eigene sinngemäße Übersetzung): Was bedeutet diese Entscheidung? Nun, einiges, z.B:
  1. Webautoren, die standardkonforme Seiten erstellen müssen keine Änderungen an ihrem Markup vornehmen, um ihre Webseiten vom IE8 in seinem neuesten bestmöglichen Modus darstellen zu lassen.
  2. Alle Webautoren, die nicht standardkonforme Seiten entwickeln, müssen entweder lernen das zu tun oder aber sie müssen ihrem Markup einen Hinweis hinzufügen, dass ihre Seiten entsprechend einer älteren Version des IE angezeigt werden sollen.
  3. Jeder, der JavaScript nutzt, um je nach Browser einen anderen Code auszugeben, muss das ändern, da viele Annahmen über die Rendering Engine des IE auf die Version des IE8 nicht mehr zutreffen.
Mir gefallen diese Konsequenzen, weil damit der Trend hin zu standardkonformeren Webseiten zwangsläufig verstärkt wird. Ein weiterer informativer Artikel zum Thema Microsoft und Webstandards wurde von Mathias Schäfer (molily) auf dem SELFHTML-Blog veröffentlicht. Zu den genutzten, nicht erklärten Begriffen siehe Glossar zu Web, Webdesign und Webapplikationen.href="http://miradlo.net/bloggt/index.php?60-s"" title="Glossar">Glossar zu Web, Webdesign und Webapplikationen.

Webdesign-Trends : Webtrend 2008 ::: standardkonformere Webseiten : II.

Ich hatte bereits im November 2007 die Hoffnung, jedoch noch sehr vage, dass der Webtrend 2008 stärker in Richtung Webstandards und barrierearme Webseiten geht. Diese Hoffnung hat sich nach den neuesten guten Nachrichten von Microsoft (das I. dieser Serie) verstärkt. Denn wenn der Riese aus Redmond mit seinem hohen Marktanteil sich stärker am Standard orientiert, so wird das auf Dauer auch auf die neu erstellten Webseiten auswirken.

Zugängliche Webseiten

Die Webseitenersteller, die bisher argumentierten, dass es sich nicht lohnt Webstandards zu berücksichtigen, weil der wichtigste Browser sie sowieso nicht nutzt, müssen neue Argumente finden. (Der wichtigste Browser ist für manche immer der aktuelle Internet Explorer). Ich war schon immer der Meinung, dass diese Standards sinnvoll sind, und ich meine auch, dass Webseiten möglichst allen Besuchern zugänglich sein sollten, nicht nur denen, die gerade Glück haben, weil sie den Browser mit höchstem Marktanteil nutzen. Ebensowenig wie nur denen, die grafische Browser mittels Maus nutzen, sondern genauso all denen, die mit Tastatur navigieren oder die Textbrowser verwenden. Weitere Informationen zu Zugänlichkeit, Barrierefreiheit usw. bietet einfach für alle.

Sterben Flash-Seiten aus?

Ist jetzt also alles gut und Flash-Seiten sind bald nur noch Geschichte? Nein, sicher nicht und das ist auch richtig so. Denn abgesehhref="http://miradlo.net/bloggt/index.php?60-s"" title="miradlo Glossar zugänglich, barrierearm">Zugänlichkeit, Barrierefreiheit usw. bietet einfach für alle.

Sterben Flash-Seiten aus?

Ist jetzt also alles gut und Flash-Seiten sind bald nur noch Geschichte? Nein, sicher nicht und das ist auch richtig so. Denn abgesehen von den vielen nur-Flash-Seiten gibt es gut gemachte Flash-Effekte, die eingesetzt werden können, beispielsweise für Animationen, die mit HTML und CSS nicht möglich wären. Wie bei so vielem, nicht Flash ist schlecht, schlecht ist nur, wie manche es einsetzen. Dasselbe gilt meines Erachtens ebenso für JavaScript, es gibt tolle Möglichkeiten den Komfort für Besucher zu erhöhen. Oft wird es jedoch falsch eingesetzt, an Stellen, an denen es nicht nötig ist, oder ohne zu berücksichtigen, dass nicht alle Besucher Java Script nutzen, bzw. nutzen können. Meines Erachtens muss eine Webseite zunächst einmal ohne JavaScript, Flash oder ähnliches funktionieren und bedienbar sein. Wenn das gegeben ist, dann können Effekte und zusätzliche, komfortablere Funktionen dazu kommen. Das III. dieser Serie handelt von den Diskussionen zu Microsoft und dem IE8 und den Bedenken, wie standardkonform IE8 wirklich sein wird. Zu den Begriffen siehe Glossar zu Web, Webdesign und Webapplikationen.href="http://miradlo.net/bloggt/index.php?60-s"" title="Glossar">Glossar zu Web, Webdesign und Webapplikationen.

IE8 und das Metatag für Internet Explorer ::: geniale Neuigkeiten von Microsoft : I.

Im Artikel Webdesign mit Webstandards habe ich ja bereits über die Diskussion bezüglich des geplanten Metatags berichtet. Der Grund für dieses Tag ist, dass gewährleistet werden muss, dass auch ältere Webseiten von aktuellen Browsern, in diesem Fall, dem IE8 (Internet Explorer 8), noch korrekt angezeigt werden können. Das neue Metatag ermöglicht explizit anzugeben, ob eine Seite so angezeigt werden soll, wie sie der, wohl tatsächlich standardkonforme, IE8 darstellt oder ob sie so ausgegeben wird, wie es eine ältere Version getan hätte.

Warum IE8 Webseiten darstellen wie soll IE7 oder IE6

Der größte Teil der Diskussion dreht sich meist darum, dass doch alle, die noch einen IE6 nutzen, stattdessen einen anderen standardkonformeren Browser nutzen könnten. Da der IE6 der arbeitsaufwändigste Browser für alle Webautoren ist, gab es in letzter Zeit auch Kampagnen, diesen, zumindest zeitweise, gar nicht mehr zu unterstützen. Wie bei allen heißen Diskussionen schießen manche am Ziel vorbei und werden unsachlich. Sobald es im Webdesign um Microsoft geht, passiert das besonders schnell. Alle Webautoren, die standardkonforme Webseiten erstellen, haben sehr viel Zeit extra für den IE6 investieren müssen, um diesen davon zu überzeugen, ihre Seiten korrekt anzuzeigen. Meines Erachtens ist es wichtig, alle Beteiligten zu berücksichtigen. Wie auch in einem Kommentar bei macx zur neuen Entscheidung von Microsoft beschrieben wird: es geht nicht nur um die Nutzer, die zu Hause auf ihrem Rechner ebensogut z.B. einen Firefox installieren könnten, oder eine aktuellere Version des Internet Explorers. Es geht auch um die vielen Webapplikationen, die auf dem IE6 oder IE7 basieren und die nicht lauffähig wären mit dem IE8, wenn es keine Möglichkeit gäbe, diesem mitzuteilen, dass er sich wie eine ältere Version verhalten soll. Nicht vergessen sollte man darüber hinaus, dass manche Geräte, wie Screenreader meist auf älteren Versionen eines IE basieren und nach einem Update nicht mehr genutzt werden könnten. Tja, und auch wenn manche es nicht gern haben, es gehört auch Microsoft dazu, das Unternehmen muss bei seinen Entscheidungen auch wirtschaftliche Aspekte berücksichtigen.

Geniale Neuigkeiten von Microsoft zum IE8

Inzwischen hat Microsoft entschieden, und im IE-Blog veröffentlicht, dass sich der IE8, wie ein IE8 verhalten wird, falls nichts anderes definiert wurde. Erfreulicherweise wurde damit die Idee verworfen, dass sich IE8 und alle weiteren Versionen ohne zusätzliche Angaben der Webseitenersteller, so verhalten, als wären sie ihre Vorgängerversion. Wie schon bei allen vorigen Versionen gilt das zumindest solange, wie sich der Browser im Standardmodus befindet, im Quirks-Modus verhält er sich selbstverständlich wie sein Vorgänger, dafür wurde dieser Modus ja erfunden. Wie immer habe ich versucht möglichst allgemein verständliche Begriffe zu nutzen, an einigen Stellen geht es nicht ohne Fachbegriffe, manche sind nicht selbsterklärend. Weitere Erklärungen zu den genutzten Begriffen siehe Glossar zhref="http://miradlo.net/bloggt/index.php?60-s"" title="Glossar">Glossar zu Web, Webdesign und Webapplikationen. Dieser Artikel ist der erste Teil einer dreiteiligen Serie, die sich mit den Aspekten rundum den IE8, Webstandards und Diskussionen über Microsoft befasst.

Webdesign mit Webstandards oder für Microsofts Internet Explorer?

Bei golem.de wird im Artikel Internet Explorer - Standards machen Microsoft Probleme vom Vorhaben Microsofts berichtet, sich künftig stärker an Standards zu orientieren. Das passt zu den Berichten auf dem IEBlog, dass IE8 den Acid2-Test bestanden habe. Für alle Webentwickler ist das eine sehr gute Nachricht, weil damit in Zukunft vieles einfacher zu lösen sein wird. Wenn auch der IE sich an Standards hält, so wie es die anderen gängigen Browser tun, seien es Firefox, Seamonkey, Opera, Safari, Konqueror usw. so könnte das Ziel jede Webseite nur einmal zu entwerfen näher sein. Zur Zeit ist es jedoch so, dass die Webautoren eine Seite erstellen, die in einem standardkonformen Browser so aussieht und sich so verhält wie gewünscht. Anschließend wird die Seite mit IE7 überprüft und wenn nötig angepasst, danach wird sie im IE6 betrachtet und bekommt speziell für den IE6 Definitionen, die es ermöglichen, dass die Seite auch mit diesem Browser angezeigt wird.
  • damit erscheint optisch ein gelber SmileyBestandener Acid2 Test mit Konqueror
  • damit erscheint optisch ein verworrenes Bild, ohne einen SmileyIE6 fällt durch beim Acid2 Test
Der Acid2- Test ist ein Testfall auf einer Webseite, initiiert vom Web-Standards-Projekt, mit dem geprüft werden kann, ob ein Browser sich an die aktuellen Standards für CSS hält. Ein Browser, der mit diesen aktuellen Standards korrekt umgeht zeigt, wie im Bild von Konqueror, einen Smilie an. Der IE6 fällt durch und zeigt nichts sinnvolles an.

Probleme mit dem IE6

Für Microsoft und das Browserentwicklungsteam gibt es jetzt Probleme. Wenn der IE8 sich so verhält, wie Konqueror auf dem oberen Bild, dann werden Webseiten, die speziell für den IE6 erstellt wurden, ganz sicher etwas sehr unterschiedliches anzeigen. Die meisten Anwender im Web kümmern sich nicht um die Hintergründe, sie wissen nichts darüber, sondern wollen schlicht, dass ihre Software funktioniert. Microsoft möchte jedoch nicht, dass nach Einführung des IE8 viele Webseiten plötzlich nicht mehr gut aussehen oder womöglich nicht mehr benutzbar sind. Golem schreibt dazu: "Damit will der Konzern verhindern, dass vor allem Durchschnittsanwender Microsoft die Schuld für das Versagen des Internet Explorer zuschieben."
  • Bis hierhin ist alles verständlich, die Webautoren wollen Standards, um nicht für verschiedene Browserversionen Extras einbauen zu müssen.
  • Die Nutzer eines Browsers möchten Webseiten sehen, die gut aussehen und lesbar und benutzbar sind.
  • Microsoft möchte seinen neuen Browser so erstellen, dass er sich so verhält wie die anderen aktuellen Browser auf dem Markt.

von IE6 über IE7 zu IE8

Die Schwierigkeit ist nun, den Übergang zu schaffen. Wie geht man vor, um zu gewährleisten, dass der IE8 wesentlich besser und moderner ist, ohne dass ältere Webseiten der Webdesigner, die ihre Seiten vor allem für den IE6 erstellt haben, nicht mehr benutzbar sind?! Manche der für den IE6 erstellten Seiten, hatten das Problem bereits als der IE7 rauskam, je nachdem ob sie mit einer korrekten Doctype-Deklaration ausgeliefert wurden oder nicht. Die Seiten mit dem korrekten Doctype, behandelte der IE7 als nach neuem Standard anzeigbar, damit wurden diese für den IE6 optimierten Seiten nicht mehr korrekt angezeigt. Microsoft möchte dieses Problem nicht wiederholen und hat sich daher mit einigen Mitgliedern des Web-Standards-Projekts zusammengesetzt und nach einer Lösung gesucht. Der Vorschlag ist, ein spezielles Metatag für HTML-Seiten einzuführen, mit dem die Webautoren festlegen, ob ihre Seiten nach den Regeln des IE8 oder der Vorgängerversionen dargestellt werden. Die Idee an sich klingt logisch und nachvollziehbar. Die meisten Webautoren, die Darstellungsprobleme hatten, haben ihre Seiten bereits für den IE7 angepasst. Würde jetzt ein Metatag eingeführt, welches ihnen ermöglicht, diese Anpassung auch für weitere Versionen des Internet Explorers bestehen zu lassen, ohne Schwierigkeiten mit der Darstellung zu haben, dann wäre das doch prima.

Problem mit dem Metatag für Internet Explorer

Ich gebe zu, im ersten Moment war ich sauer, warum sollen jetzt schon wieder die Webautoren sich darum kümmern, dass Microsoft Browser veröffentlichte, die sich nicht an Standards halten?! Wieso wir die Webautoren, soll sich doch Microsoft selbst drum kümmern... Mit ein bisschen Abstand und dem Nachlesen einiger Meinungen zu dem Thema, sehe ich das etwas anders. Natürlich ist es ärgerlich, dass weiterhin nicht standardkonforme Browser berücksichtigt werden müssen. Andererseits können die Anwender dieser Browser auch nichts dafür, dass sie keinen guten Browser bekamen. Klar, manche dieser Anwender könnten sich andere Browser installieren, aber nicht alle Nutzer können selbst installieren, manch andere sind an eine Firmenpolitik gebunden, die ihnen keine eigene Entscheidung überlässt. Außerdem wird Microsoft eine Lösung nehmen, es hilft nicht mit dem Fuß aufzustampfen und alles abzulehnen. Das Metatag oder auch die Idee das Problem mittels Conditional Comments zu beseitigen, ist vor diesem Hintergrund nicht die schlechteste Version.

Katastrophale Entscheidung

Die aktuell noch bestehende Lösung ist allerdings eine Katastrophe. Denn im Moment plant Microsoft ein Metatag einzuführen, welches erst dann, wenn es eingesetzt wird, dafür sorgt, dass sich die neuen Versionen des Internet Explorer standardkonform verhalten. Damit zäumt man den Gaul von hinten auf, denn das würde bedeuten, dass noch jahrelang immer dieses Metatag angegeben werden müsste, um den jeweils aktuellen Stand des neuen Internet Explorer zu bekommen. Ohne Angabe dieses Tags würde sich jede neue Version zumindest wie ihr Vorgänger oder gar Vorvorgänger verhalten. Das bedeutet aktuell: Solange man nicht explizit angibt, der IE8 möge sich wie der IE8 verhalten, solange würde er sich verhalten wie IE7! In diesem Stil äußert sich auch Jeremy Keith in seinem Beitrag zu diesem Thema (eigene sinngemäße Übersetzung des englischen Zitats): "Nochmal, um es ganz klar zu sagen, ich halte das Metatag < http-equiv="X-UA-Compatible"> für eine prima Idee. Es ist gut für Microsoft. Es ist gut für Mircrosofts Kunden. Aber das Vorgabeverhalten ist falsch, falsch, falsch! Dieses Metatag müsste eine innovative Eigenschaft sein, nicht ein verpflichtender Teil im Prozess des Erstellens eines Dokuments fürs Web." Eric Meyer kommentiert diesen Beitrag wie folgt (eigene sinngemäße Übersetzung des englischen Kommentars): "Wie schon gesagt, ich hoffe sehr dass du mit deiner Meinung diese Diskussion gewinnst; denn mir geht es genauso, ich möchte dieses Vorgabeverhalten. Ich habe genau das vergeblich anzubringen versucht, nun hoffe ich, dass andere ebenso argumentieren und weiterhin versuchen Microsoft zu überzeugen. " Den Meinungen der beiden kann ich mich nur anschließen, es ist verständlich ein Metatag einführen zu wollen und warum auch nicht. Aber es kann nicht sein, dass es falsch herum benutzt werden soll. Ich hoffe sehr, dass sich noch einige Webautoren zu dem Thema so äußern, dass es sich Microsoft anders überlegt und dieses Vorgabeverhalten ändert! Weiteres zu dieser Diskussion um das Metatag für den IE8 und das zu erwartende Verhalten ohne das Tag gibts auf deutsch im Artikel Microsoft spaltet die Webentwickler und bei Jens Grochtdreis.
tweetbackcheck