Die meisten Tags in HTML kann man als deskriptiven Markup ansehen, d.h., es wird nicht die physikalische Repräsentation des Textes (wie Schriftgröße und -art) angegeben, sondern es wird nur die Rolle des Textes (wie ,,Überschrift``) angegeben. Der benutzte Browser entscheidet dann über die Darstellung auf dem Bildschirm.
Durch diese Verfahrensweise wird der erzeugte Hypertext portabler, denn ein ASCII-Terminal hätte sicherlich Schwierigkeiten, Text z.B. in verschiedenen Schriftgrößen auszugeben.
Doch wird in HTML auch zunehmend mehr prozeduraler Markup eingesetzt, der Schriftgröße usw. direkt manipulieren kann. Dies gibt teilweise Probleme und wird in der Zukunft wahrscheinlich durch Stylesheets ersetzt werden. Diese Stylesheets bestimmen dann die Repräsentation der prozeduralen Tags. Sie werden vom Autor des Textes festgelegt, können aber durch den Benutzer verändert werden.