Dynaaminen HTML, joka tunnetaan yleisemmin nimellä DOM scripting tai DHTML, on joukko työkaluja, joita voidaan käyttää interaktiivisten elementtien luomiseen verkkosivustolla. Tyypillisesti dynaaminen HTML yhdistää tavallisen HTML: n, joka on verkon merkintäkieli, ja komentosarjakielen. Tämän avulla verkkosivuston suunnittelija voi sisällyttää verkkosivulle muuttuvia elementtejä, jotka käyttäjä voi muuttaa sivun lataamisen jälkeen. Esimerkki dynaamisesta HTML: stä on valikko, joka pudotetaan alas, kun käyttäjä vie hiiren sen päälle. Myös DHTML -pelit ovat yleistyneet.
Käyttäjä ei voi muuttaa tai muokata staattisesta HTML -koodista rakennettuja verkkosivustoja lataamisen jälkeen. Perussivustoilla tämä ei ole ongelma, mutta vuorovaikutteisuuden puute on ongelma monille verkkosivustoille ja sovelluksille. Dynaaminen HTML yhdistää tavallisen HTML: n ja JavaScriptin, yksinkertaisen komentosarjakielen, tarjotakseen web -suunnittelijalle paljon enemmän vapautta vuorovaikutteisten elementtien avulla.
Tavallisella HTML -koodilla ei ole muuttujia, joita voidaan muuttaa, mutta dynaamisella HTML -koodilla on. Kun DHTML -sivusto on ladattu, komentosarjakieltä voidaan käyttää sivun tiettyjen elementtien muuttamiseen. Se ei kuitenkaan voi luoda dynaamisesti tuotettua sisältöä sisältäviä sivuja. Tätä varten web -suunnittelijan on käytettävä palvelinpuolen skriptikieliä, kuten PHP ja Perl.
Alun perin dynaaminen HTML tunnettiin nimellä DHTML. Teknologian toimivuuden kaikissa Internet -selaimissa alkuvaiheen ongelmien vuoksi tämä etiketti on pudonnut muodista. Sen sijaan tekniikkaan viitataan nyt yleensä nimellä DOM -komentosarja, joka tarkoittaa Document Object Model scripting. Tämä tarjoaa joukon käytäntöjä, jotka toimivat kaikissa selaimissa, ja helpottaa dynaamisesti animoitujen verkkosivujen kehittämistä.
On olemassa useita yleisiä esimerkkejä dynaamisesta HTML: stä toiminnassa. Avattavien valikoiden lisäksi kaksi muuta esimerkkiä ovat lomakkeet, jotka voivat palauttaa tietoja ilman, että niitä on lähetettävä palvelimelle ja jotka päivittävät sisällön automaattisesti. Näiden saavuttaminen olisi erittäin vaikeaa tai mahdotonta tavallisella HTML -koodilla ja palvelinpuolen komentosarjakielellä. Tekniikan toinen yleinen käyttö on sisällön piilottaminen käyttäjältä, kunnes tietty toiminto on suoritettu.
Dynaamisten HTML-pelien kehittäminen muuttuu entistä vaikeammaksi nyt, kun selainten väliset ongelmat alkavat aiheuttaa harvinaisempia ongelmia. DOM -komentopelit ovat edelleen suhteellisen harvinaisia, mutta tekniikka toimii hyvin pienille selainpohjaisille peleille. DHTML -pelien etuna on, että niitä voidaan käyttää myös suosituissa käyttöjärjestelmissä widgetteinä.