Hallo,
Was hat JavaScript-Zeugs in der _HTML_-Spezifikation zu suchen?
Du setzt hier quasi eine Sichtweise voraus, das m.M.n. zurecht abgelöst wurde. Man muss da auch beachten, welchen Zweck diese Spezifikation verfolgt. Es ist ja nicht nur JavaScript (bzw. DOM), es ist viel mehr.
HTML 4 begriff sich als bloßes Auszeichnungsvokabular. Das DOM wurde erst später erfunden, nachdem XML erfunden war. Zwar gab es damit DOM HTML und dann irgendwann DOM HTML 2. Aber die waren eher relativ konservativ der Wirklichkeit hinterhergeschrieben. Und die definierten Möglichkeiten waren extrem eingeschränkt. Im Grunde definiert DOM HTML den Direktzugriff auf Attribute ohne getAttribute, dann gibts noch ein paar andere Shorthands und Überbleibsel aus Netscape JavaScript (wie document.cookie), das wars aber auch.
DOM HTML war so neutral gehalten, dass das reale Scripting von HTML-Dokumenten IM BROWSER völlig unterging. Das entwickelte sich nämlich nicht auf Basis von DOM-Spezifikationen, sondern auf Basis von proprietären Zusätzen. Man denke nur an window, bis heute nicht standardisiert.
Da kannst du natürlich fragen: Was hat das Browser Object Model mit HTML zu tun, in erster Linie nichts, in zweiter Linie alles. Neutralität ist gut, war aber im Fall von DOM HTML ein unrealistischer Schuss in den Ofen. Außerhalb von browserseitigem Scripting ist DOM HTML als Beigabe zu DOM Core nur minder interessant. Das W3C wäre freilich nicht auf die Idee gekommen, das Browser Object Model zu standardisieren
HTML 4 macht sich keine Gedanken darüber, wie das Dokument irgendwo dargestellt wird und wie Hypertext-Browsing tatsächlich funktioniert. Es definiert eine SGML-DTD und fertig. HTML 5 kehrt die Sichtweise natürlich völlig um, da hast du Recht. Es definiert HTML direkt als Document Object Model und geht ganz klar von einem »Default View« und einem »Browsing Context« aus - natürlich können diese auch fehlen, aber ihnen wird zentrale Wichtigkeit eingeräumt. Erstmals wird das Verhalten eines »User Agents« mitdefiniert. Das ist quasi die Erfindung des Browsers als Gegenstand der technischen Standardisierung. HTTP und HTML ließen den außen vor, weil man dachte, die Definition von HTML als universelles und User-Agent-neutrales Format habe damit wenig zu schaffen.
HTML 5 definiert kein bloßes »Format« mehr, sondern das Web (und damit den Browser) als Plattform. »HTML« als Auszeichnungssprache wird damit zu einem Teil in einem Framework, das Webanwendungen ermöglicht. Das ist schon längst Realität, ist aber eher als »Unfall« auf die Welt gekommen, weil man mit dem stillschweigendem Einverständnis verschiedener Browser sehr viel geschaffen hat. Das ist eine Entwicklung, die völlig autonom und ohne Standards ablief, deshalb liegt ein extremer Wildwuchs vor. Den will HTML 5 einholen.
Ich denke, man kann sich weniger am Terminus HTML aufhängen, der sagt wenig über HTML 5. HTML 5 definiert nicht HTML in Version 5, sondern das, was eher im Namen WHATWG drinsteckt: Web Application Hypertext Technology.
Mathias