dedlfix: Abschluss Schrägstrich mittlerweile falsch < /> – nein, immer noch richtig

Beitrag lesen

Tach!

ich dachte eine korrekte Auszeichnung für eine Imagedatei so sein:
Bsp. <img src="x.png" title="y" alt="blabla" />

Ja, das ist korrekt – in XHTML 1.x sowie in HTML5 a/k/a HTML.

hmmm?

XHTML ist XML-kompatibel und hat dessen Syntaxregel zu folgen, die deutlich strenger sind als die von HTML. XML-Kompatibilität spielt aber keine Rolle im Browser.

Wenn das DOM schon umgestellt wird und ich es mir dann auf Basis des Entwicklerwerkzeugs(wie du es nennst:-) anschaue, dann doch komplett und nicht mal so und dann wieder anders.

Es wird nicht zum Spaß umgestellt, sondern weil das DOM die Grundlage ist, mit der der Browser arbeitet, um seine Ausgabe erstellen zu können. Dazu gehört dann auch, dass Fehler korrigiert werden, dass relative Links zu vollständigen aufgelöst werden, und so weiter. Mit relativen Adressen können keine Requests abgesetzt werden.

Bsp.
<img src="xy.png" alt="test" />

wird zu
<img alt="test" src="xy.png">

Attr. Reihenfolge geändert, Slash entfernt.

Die Reihenfolge spielt keine Rolle, der Slash ebensowenig. Diese Ausgabe wird zurückgerechnet aus der internen Datenhaltung. Deswegen wirst du die Attribute vermutlich so sehen, wie der Browser die Eigenschaften in seinen internen Objekten angeordnet hat.

Schon klar, aber warum sollte noch jemand, dieses ungeliebte, XHTML verwenden?

Es war lange Zeit der Standard. Der Mensch ist ein Gewohnheitstier und schaltet gern mal den Verstand aus und schreibt das in altbewährter Weise hin. Die Browser sind ja sehr gutmütig. Bevor XHTML standardisiert wurde, waren diese unnötige Slashes sogar ein Fehler. Sie mussten extra mit Leerzeichen davor geschrieben werden, damit die Browser das als unbekanntes Attribut angesehen und ignoriert haben.

Zudem gibt es weiterhin Programmierwerkzeuge, die diese Slashes von selbst einfügen, wenn sie inhaltsleere Elemente wie meta, image oder br einfügen/autovervollständigen.

Mich eigentlich vergewissern, dass nun keine End-Slashes mehr notwendig sind oder sogar falsch.

Browser sind tolerant, XML-Kompatibilität spielt und spielte so gut wie keine Rolle.

Und wie(keine wirkliche Frage) bring ich das nur meinem Editor bei, keine Fehlermeldung mehr bei fehlendem Slash zu zeigen ;-)

Wenn du es konfigurieren kannst, dann XML-Kompatibilität ausschalten oder HTML5 einschalten. Oder aber die Klasse/Severity(Schweregrad) der Fehlermeldung anpassen, von Fehler auf Hinweis oder Ignorieren. Das kommt auf deinen Editor an, was man da drehen kann.

dedlfix.