Hallo,
Wenn ich mir hier diese Diskussion durchlese, dann finde ich auch den Diskurs über "HTML oder XHTML?" darin wieder.
Wobei HTML 5 beides definiert und keines bevorzugt.
Dabei wird immer mit der "Abwärtskompatibilität" argumentiert, sodass ein HTML-Dokument in seiner (SGML-basierten) Spezifikation immer sehr fehlertolerant geparst werden muss (tag soup parser),
Nein, HTML 5 erlaubt keine Tagsoup. Es spezifiziert aber einen eigenen Parser, der möglichst alle Vorhandenen Webseiten umsetzen kann. Während Browser wie Opera, Safari und Firefox dabei wohl komplett auf diesen Parser umsteigen, wird der IE ggf. einen weiteren Modus hinzufügen.
Aber grundsätzlich Hat HTML5 nichts mit Tagsoup zu tun. Es definiert lediglich, wie bestimmten Fehlersituationen entgegenzuwirken ist.
was in vielen Fällen der aktuell als HTML ausgelieferten XHTML-Dokumenten zu Fehlermeldungen führen würde, anstatt eine Internetseite zu zeigen.
HTML 5 ändert daran ja nichts :)
Man darf in JavaScript keine Syntaxfehler machen, da sonst das Script nicht weiter ausgeführt wird (wenn es überhaupt ausgeführt wird), in HTML darf man das aber sehr wohl. Muss das so sein? Ich erinnere mich an einen Artikel aus dem SELFHTML Weblog, in dem genau diese Problematik diskutiert wurde - mit einem aus meiner Sicht höchst unbefriedigendem Votum.
HTML 5 macht hier eben diesen etwas anderen Ansatz, um Webbrowser nicht dazu zu zwingen Microsoft zu immitieren. Denn deren aktuelle Pläne wären dann eine Vorschau, auf das was käme, wenn HTML 5 nicht Abwärtskompatibel wäre.
Das vorhandene Web wird leider nicht verschwinden. Man muss daran arbeiten. Da hat man eben in den Anfängen einen schweren Fehler gemacht.
Daher sehe ich HTML5 nicht begeistert entgegen, da diese generelle Problematik wirklich keinen Schritt weiter gekommen ist und nach wie vor der Urwald "Internet" voller halbgarer und pseudostandardisierter Dokumente ist.
Davon kann man nun wirklich nicht reden. HTML 5 definiert sehr genau, welche Elemente und Attribute erlaubt sind. Auch wird ein Validator bei Elementen und Attributen die es eben nicht sind Alarm schlagen.
Ungültig bleibt ungültig, aber funktionierendes bleibt weitgehen funktionieren.
Davon abgesehen sollte man nicht nur die Syntax bewerten, sondern auch die Sprache. Wenn man herausgefunden hat, dass bestimmte div/class-Kombinationen fantastrillonenfach vorkommen, ist es sicherlich sinnvoll, Elemente wie header, article usw. einzuführen.
Das ganze wird verbunden mit einem Überarbeitetem Sektionierungsalgorhitmus. Das ergibt letztendlich die selbe Flexibilität wie XHTML 2.0s section/h-Idee.
Gruß