Document Object Model (DOM), een specificatie van een programmeerinterface die wordt ontwikkeld door het World Wide Web Consortium (W3C), laat een programmeur HTML-pagina's en XML-documenten maken en wijzigen als volwaardige programma-objecten. Momenteel zijn HTML (Hypertext Markup Language) en XML (Extensible Markup Language) manieren om een document uit te drukken in termen van een gegevensstructuur. Als programma-objecten zullen de inhoud en de gegevens van dergelijke documenten in het object kunnen worden "verborgen", zodat kan worden gecontroleerd wie het document kan manipuleren. Als objecten kunnen documenten de objectgeoriënteerde procedures met zich meedragen die methoden worden genoemd. Het DOM is een strategische en open poging om te specificeren hoe programmeercontrole over documenten kan worden geboden. Het is deels geïnspireerd door de komst van de nieuwe HTML-mogelijkheden die in het algemeen dynamische HTML worden genoemd, en als een manier om consistent gedrag van browsers met webpagina's en hun elementen aan te moedigen.
Het Document Object Model biedt twee niveaus van interface-implementatie: DOM Core, dat XML ondersteunt en de basis vormt voor het volgende niveau, en DOM HTML, dat het model uitbreidt tot HTML-documenten. Hier volgen enkele hoogtepunten:
- Elk HTML- of XML-element (met de mogelijkheid van een paar uitzonderingen) zal afzonderlijk kunnen worden aangesproken door programmering.
- De specificatie zal taalonafhankelijk zijn. De specificatie, wanneer beschikbaar, zal worden beschreven met behulp van de interface definitie taal (IDL) van de industrie open standaard CORBA.
- Dom zal bovendien worden beschreven in termen van de programmeertaal Java en ECMAScript, een industrie-standaard script taal gebaseerd op JavaScript en JScript.
- DOM is niet te verwarren met Microsoft's Component Object Model (COM) of Distributed Component Object Model (DCOM). COM en CORBA zijn taalonafhankelijke manieren om objecten te specificeren en kunnen worden gebruikt om DOM-objecten (documenten) te maken, net zoals specifieke talen als Java dat kunnen.
De voortgang van de Document Object Model-specificatie kan worden gevolgd op de website van het W3C.