molily: HTML 5? XHTML 5?

Beitrag lesen

Effektiv wird ein versehentlich weggelassenes End-Tag doch nur relevant, wenn es nicht optional ist – die einzig gemessene Qualität ist dann die Qualität der geringeren kognitiven Last für Quelltext-Entwickler, nicht die technische Unwägbarkeit. Denn die existiert im Prinzip nicht

Wenn ich von Qualität spreche, meine ich weniger, dass der Code »funzt«. Die Verarbeitung im Browser ist hier theoretisch eindeutig und m.W. auch praktisch einheitlich. Mit der Verbreitung von HTML-5-Parser, die keinen Spielraum lassen, sondern fast alles determiniert ist, wird ein gewisses Markup noch zuverlässiger in einen bestimmten DOM-Baum geparst.

Qualitätsstandards sind für mich vielmehr selbst auferlegte Best Practises, die über das hinaus gehen, was zwingend technisch notwendig. D.h. etwa, die erlaubten Ausnahmen und Laxheiten des jeweiligen Standards nicht zu nutzen. Bei so ziemlich allem HTML-Code, den ich zu Gesicht bekomme, würde das Weglassen von optionalen End-Tags die Übersicht verschlechtern und damit die Entwicklung erschweren. Diese Inkonsistenz würde nach und nach zu Verschachtelungsfehlern führen.

Ganz zu schweigen davon, dass nicht alle, die am Code arbeiten, unterscheiden können, ob das Weglassen eines End-Tags Absicht oder Fehler ist. Aber ich sehe auch nicht ein, warum sie es wissen müssten - und warum Fachautoren plötzlich die Kurzschreibung von HTML wiederentdecken. Die Grundregel, alle nicht-leeren Tags zu schließen, ist viel einfacher, und der Aufwand, ihn hinzuschreiben, viel geringer als der, ihn bewusst wegzulassen und damit unklares Markup zu schreiben.

Soweit ich weiß, braucht man noch nicht mal den Doctype zu entfernen.

Tatsächlich. Ich dachte immer, <!DOCTYPE html> schluckt ein XML-Parser nicht. (Ein validierender vielleicht nicht - aber gegen XML-DTDs wird man XHTML 5 ohnehin nicht validieren.)

Im Prinzip kann man also ein Anhang-C-artiges Modell nutzen, XHTML-5-Syntax und Auslieferung als text/html.

Ja, darauf wollte ich hinaus. Allerdings müsste man einen Validator dazu bringen, das auch als XHTML 5 zu validieren, selbst wenn der MIME-Typ HTML 5 nahelegt.

Nebenbei: Es gibt Tools, die XHTML-Syntax nutzen und HTML-Syntax ausspucken. Das von mir sehr gemochte Template-System Genshi arbeitet z.B. nicht auf Text-Ebene sondern auf einer logischen Markup-Stream-Ebene.

Sehr interessant, das kannte ich noch nicht. (Wir arbeiten auch eher mit Ruby.)

Die drakonische Fehlerverarbeitung von XML ist doch ein wesentlicher Verstoß gegen das Gebot der Liberalität der Verarbeitung. Oder redest Du von Anhang-C-XHTML?

Ja - der Autor hat nicht nur die Möglichkeit, das Dokument als XML zu verarbeiten, er behält auch volle Kontrolle darüber, wann das Dokument drakonisch behandelt wird, z.B. bei der Validierung.

Mathias