HyperText Markup Language är en typ av SGML-dokument. Språket skapades för ett specifikt ändamål, nämligen för att strukturera forsknings och tekniska dokument i en plattformsoberoende miljö. Då dessa dokument var relativt enkla tog man bara en bråkdel av det som SGML hade att erbjuda - som senare visade sig vara en alltför snäv begränsning (men, å andra sidan, hur kunde HTML-språkets skapare, Tim Berners-Lee, drömma om att hans markeringsspråk skulle få en så lavinartad effekt på Webbens utveckling).
HTML är en applikation av SGML. Språkets första version innehöll ett fåtal i förväg fördefinierade element. I takt med Webbutvecklingen utvecklades även HTML-språket. Nya versioner skapades och nya element tillkom. Senaste versionen och även W3Cs rekommendationen av HTML är HTML 4.01, även kallat HTML 4, (http://www.w3.org/TR/html4) ger stöd åt nästan 100 element.
Men de nästan 100-talet i förväg definierade elementen räcker inte för dagens Webb-dokument. Dagens Webb-dokument kräver flexibilitet och egenskapsvariation. Och det var just dessa två som man offrade när man skapade HTML - man ville ju åt enkelheten mer än något annat.
SGML-dokument av typen HTML har ett rotelement. Det är elementet HTML. Genom åren skapade man ett antal versioner av HTML-språket men fler lär det inte bli - (men i dessa tider vet man ju aldrig). Det verkar som om HTML har gjort sitt, åtminstone i Webbsammanhang.
Observera att även om HTML-språket inte kommer att utvecklas på samma sätt och i samma takt som tidigare är det högst osannolikt att Webbens HTML-dokument inom en överskådligt framtid ersätts med XML-dokument. Förmodligen kommer man att omvandla sina data till XML men publicera dem på Webben i form av HTML- eller XHTML-dokument
Alltför ofta hörs uttrycken "HTML-programmering" eller "kommandon" när man refererar till HTML. Sådana uttryck kan knappast vara mer felaktiga. HTML är SGML. SGML är ett beskrivande och inte ett verkställande språk som programmeringsspråken, t ex Java, är. Därför finns det inte några kommandon i varken SGML eller HTML. SGML och HTML är markeringsspråk och inte programmeringsspråk.
Element i HTML 4 och XHTML
L - endast i loose- versionen
F - endast i frameset-versionen
A, ABBR, ACRONYM, ADDRESS, APPLET (L), AREA, B, BASE, BASEFONT (L), BDO, BIG, BLOCKQUOTE, BODY, BR, BUTTON, CAPTION, CENTER (L), CITE, CODE, COL, COLGROUP, DD, DEL, DFN, DIR (L), DIV, DL, DT, EM, FIELDSET, FONT (L), FORM FRAME (F), FRAMESET (F), H1, H2, H3 H4, H5, H6, HEAD, HR, HTML, I, IFRAME (L), IMG, INPUT, INS, ISINDEX (L), KBD LABEL, LEGEND, LI, LINK, MAP, MENU (L), META, NOFRAMES (F), NOSCRIPT, OBJECT, OL, OPTGROUP, OPTION, P, PARAM, PRE, Q, S (L), SAMP, SCRIPT, SELECT, SMALL, SPAN, STRIKE (L), STRONG, STYLE, SUB, SUP, TABLE, TBODY, TD, TEXTAREA, TFOOT, TH, THEAD, TITLE, TR, TT, U (L), UL, VAR.