@@molily:
nuqneH
Natürlich tut HTML5 das AUCH: Für gänzlich NEUE Features, wo noch keine bestehende Lösung existiert.
Ein spezielles Attribut zur Angabe der Zeichencodierung ist ein neues Feature.
Zumindest wenn man funktionierende Websites mit effektiven Kodierungsangaben bauen will.
Das kann HTML5 nicht wollen. Ansonsten wäre es den XML-Weg gegangen: Keine Angabe zur Zeichencodierung heißt UTF-8 oder UTF-16 (je nach BOM). Dann wäre für über 70% aller Webseiten gar keine Codierungsangabe erforderlich.
Diese Anforderungen werden vom in HTML5 spezifizierten Algorithmus zum Einlesen der Kodierungsangabe erfüllt.
Das halte ich für ein Grundübel von HTML5: dass die Sprache nicht über eine Grammatik definiert wird, die die Sprache generiert, sondern über eine Maschine, die die Sprache verarbeitet. Das mag für einige wenige Browserentwickler der Himmel auf Erden sein, für Millionen von Webseitenentwicklern ist es die Hölle.
Grund für diese Fehlertoleranz sind Websites mit fehlerhaftem Code wie <meta content=text/html; charset=utf-8 http-equiv=Content-Tpye>.
Warum sollte ein UA solchen Schrott verarbeiten können? Diejenigen, die sich darauf einlassen, HTML zu schreiben, sollen dies richtig tun; der Validator hilft dabei. Ein Großteil von Webinhalt wird mit CMS, Blogsoftware etc. erstellt, da muss sich ein Webautor überhaupt nicht mit der Technik dahinter auseinandersetzen. Und CMS, Blogsoftware etc. müssen verarbeitbares HTML (wenn schon nicht valides) generieren. Fehlerhafte Software generiert eben unbrauchbare Webseiten, wird also gar nicht verwendet und verschwindet vom Markt.
Solcherlei Fehlertoleranz passte in die Zeit, als Tim Berners-Lee sich wunderte, dass Autoren HTML-Code schreiben, nicht aber in die Zeit des Web 2.0.
Qapla'
Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
(Mark Twain)