DOM - Document Object Model

Hoe HTML, CSS en Script tot onderlinge samenhang zijn gekomen, is gedefinieerd in het Document Object Model, kortweg DOM. Twee zaken zijn hier interessant. Er wordt gesproken over een Document en niet over Window. Er zijn dan ook een heleboel zaken buiten het object "document" ongedefinieerd en browser-afhankelijk. Wel is het zo dat voor een groot aantal eigenschappen en methoden van het object "Window" de facto een standaard is ontstaan waar alle brouwers min of meer aan voldoen. Het tweede is dat er gesproken wordt over een object model.

Basis van het geheel is het object. In feite is alles wat aangeduid kan worden door een zelfstandig naamwoord, een object. Bij webdesign zijn Objecten de elementen waaruit de HTML-pagina is opgebouwd, zoals vensters, tekstknoppen, frames, plaatjes en links. In bovenstaand voorbeeld: een paragraaf is een object.
Een object heeft eigenschappen. Een paragraaf kan links of rechts uitgelijnd zijn en dus heeft de paragraaf een eigenschap "uitlijning". Een paragraaf heeft echter nog meer eigenschappen; bijvoorbeeld 'letterkleur'. Al deze eigenschappen zijn aan te roepen en vaak ook te wijzigen, maar dat hoeft niet. Men kan kiezen al dan niet iets te willen zeggen over de 'tekstkleur'. Lezen en instellen kan met JavaScript.
Aan objecten kunnen ook methods worden gekoppeld. Bij methodes gaat het om acties / bewerkingen die kunnen worden uitgevoerd op objecten. Zo kunt u het window-object methodes meegeven waarmee een extra venster wordt geopend of gesloten. Ieder object kent binnen JavaScript zijn eigen methodes.
- basis van het geheel is het object. Dit zijn de onderdelen waarmee een pagina is opgebouwd.
- objecten hebben eigenschappen (properties)
- objecten hebben bezigheden / gedragen zich op een bepaalde manier. (behaviors)
- zowel de eigenschappen als de gedragingen kunnen we aanpassen volgens een methode (method)

Javascript en zijn klonen zijn objectgeoriënteerde programmeertalen. Hoe die programmeertaal in elkaar moet zitten, is gedefinieerd in een standaard: ECMA-262.
Het DOM doet niets anders dan de combinatie HTML en CSS samenvoegen tot het object "document" met methoden, gedragingen en eigenschappen die worden beheerst met ECMA Script. Javascript is een verschijningsvorm daarvan. Behalve ECMA-262 hebben we te maken met de HTML 5-specificatie en met CSS 3.