Ich küre morgens via Twitter gerne mal eine Seite des Tages. Meist handelt es sich dabei um lustige oder fossile Relikte aus grauer Web-Vorzeit und als ich heute morgen die zweite von den beiden genannten zwitscherte, dachte ich, es wäre doch mal interessant zu beleuchten, warum so Dinge wie <frameset>
und <marquee>
in den HTML5-Spezifikationen stehen und dort haarklein definiert wird, wie sie zu funktionieren haben.
HTML5 ist zwar die nächste Version von HTML, aber man ist sich darüber im Klaren, dass sich fast 10 Jahre HTML-Geschichte nicht einfach so in Rauch auflösen werden, also veraltete Elemente, Attribute und Technologien nicht einfach aus den Websites dieser Welt verschwinden, bloß weil sie sie jetzt überholt sind. Normalerweise wäre das völlig egal – man würde einfach eine neue Spezifikation unter Ausklammerung der veralteten Elemente schreiben, maximal in einem Nebensatz erwähnen, dass es sie mal gab. So heißt es beispielsweise in den XHTML 1-Spezifikationen zu <isindex>
lediglich:
The isindex element is deprecated in favor of the input element.
Im Gegensatz dazu spezifiziert HTML5 sogar das Marquee-Element mit allen Details, inklusive aller HTML-Attribute und einer JavaScript-API. Auch Frames und historische HTML-Attribute wie align
und cellpadding
erhalten diese Behandlung. Warum ist das so?
Bisherige HTML-Spezifikationen waren für HTML-Autoren geschrieben. Es stand jeweils drin, zu was die einzelnen Elemente und Attribute gut waren und wie man sie benutzt. Die HTML5-Spezifikationen hingegen richten sich auch an jene, die HTML-Implementierungen programmieren, also die Bowserhersteller. Und da ist es natürlich im Sinne eines einheitlichen (eben standardisierten) Verhaltens sinnvoll, auch festzulegen, wie sich jene Dinge verhalten sollen, die nicht Teil des Standards sind. Und genau das macht HTML5 mit den detaillierten Spezifikationen zu <frameset>
, <marquee>
und anderen Relikten.
Der Abschnitt mit all den Details und APIs zu den ganzen Fossilien ist außer zur Erheiterung (eine erst gemeinte JavaScript-API für das Marquee-Element?) für HTML5-Autoren nicht weiter wichtig und richtet sich nur an Browser-Programmierer. Alles was der Webworker zum Thema „abgeschaffte Elemente und Attribute“ wissen muss, steht im Abschnitt über Non-conforming features – eine einfache Liste mit allem, was man in HTML5 nicht mehr verwenden sollte.