Minimierte XHTML-Elemente
Ein von mir erstelltes XHTML-Formular ist laut Validator korrekt, doch einige Browser zeigen die Seite fehlerhaft an. Woran liegt das?
- Herbert Braun
Ein von mir erstelltes XHTML-Formular ist laut Validator korrekt, doch einige Browser zeigen die Seite fehlerhaft an. Woran liegt das?
Eine mögliche Ursache sind die falschen Interpretationen der XHTML-Schreibweisen für inhaltslose Elemente wie <br />, <input /> oder <img /> durch den Internet Explorer, Opera und Firefox.
Bei XHTML muss im Unterschied zu HTML jedes Element geschlossen werden, sodass beispielsweise jedes <img ...="..." /> ein schließendes erfordert. Bei Elementen, die keinen Inhalt haben können (dazu zählen etwa auch <br /> oder <input />), ist diese Schreibweise jedoch äußerst unüblich. Der Internet Explorer und Opera interpretieren sogar <br /> falsch als zwei Zeilenumbrüche.
Als Abhilfe erlaubt die XML-Spezifikation eine Abkürzung, die Elementminimierung: So dürfen Webdesigner statt <br /> einfach <br /> schreiben. Wer auf veraltete Browser Rücksicht nehmen will, sollte vor dem Schrägstrich ein Leerzeichen setzen (<br />).
Umgekehrt erlaubt XML (und damit XHTML) auch die Minimierung von Elementen, die üblicherweise Inhalte haben. Ein leerer Absatz lässt sich XHTML-konform als schreiben. Ähnlich verhält es sich mit dem Formularfeld für Texteingaben <textarea>, das in der Praxis meist ohne Inhalt ist und dem leeren Element <input/> ähnelt. Doch während Opera 8 <textarea/> korrekt als Synonym zu <textarea></textarea> versteht, deuten weder Internet Explorer noch die Mozilla-Browser diese Kurzschreibweise als in sich geschlossenes Element - stattdessen halten sie den darauf folgenden Quelltext für den Textfeld-Inhalt.
(heb)