Internet Explorer 8 beta 2

Zugegeben: Es ist eine Beta. Zugegeben: Microsoft will endlich Web-Standards umsetzen. Zugegeben: Microsoft will endlich, endlich damit aufhören, alles irgendwie leicht aber nervig anders zu machen als der Rest der Welt. Das ist gut. Das ist löblich. Das ist geradezu ein nicht mehr erhofftes Wunder. Es gibt mir Hoffnung, grosse Hoffung. Amerika hat Obama zum Präsidenten gewählt, Microsoft beginnt, Standards umzusetzen. Wow!

Dabei passieren Fehler. Ganz klar. Wenn man nicht daran gewöhnt ist, kann sowas passieren. Man kann über das Ziel hinausschiessen. Und dann passieren manchmal komische Dinge. Hier ein Beispiel: Das <nobr> Tag in HTML ist nie als Standard definiert worden. Man sollte es nicht verwenden. Ganz klar. Aber es war immer die einzige Möglichkeit, den Internet Explorer (4, 5, 5.1, 5.5, 6, 7) daran zu hindern, völlig irrsinnige Umbrüche zu fabrizieren. Und die ie8 beta2 veranstaltet damit jetzt was völlig Überraschendes: Wenn in einer Tabellenzelle (<td>…</td>) ein <nobr>…</nobr> vorkommt, wird es erstens ignoriert (völlig richtig, ok, d’accord, bueno), aber zweitens schliesst ie8 beta2 die Tabelle nach dieser Zelle und beginnt eine neue (so als würde statt „</nobr>“ dort  „</td></tr></table><table><tr><td>“ stehen).

Faszinierend. Aber es ist ja erst die beta2. Warten wir mal ab.

Aktualisierung: Zum einen tritt es auch bei der nun offiziell freigegebenen Version auf. Zum anderen muss ich mich etwas korrigieren: Dieses Verhalten tritt nur bei verschachtelten Tabellen auf und dann auch nur, wenn die innere Tabelle von <nobr> umfasst ist.

<table><tr><td>
<nobr>Text
<table>
<tr><td>Zelle 1-1</td><td><nobr>Zelle 1-2</nobr></td></tr>
<tr><td>Zelle 2-1</td><td>Zelle 2-2</td></tr>
</table>
Text</nobr>
</td></tr></table>

Meines Erachtens ist das nur halbwegs entschuldbar: Zugegeben, wer solchen Code baut, ist selbst schuld. Andererseits bekommt der Parser bei dieser Konstruktion offenbar noch nicht einmal die grundlegende Verschachtelung von Tags ordentlich hin…