HTML5 poza dodaniem nowych elementów, usprawniających tworzenie serwisów i aplikacji internetowych, doprecyzowuje wiele niejasności w specyfikacji HTML 4, dotyczących przede wszystkim sposobu obsługi błędów. Niejasności co do sposobu, w jaki przeglądarki powinny obsługiwać błędy w kodzie HTML są jedną z podstawowych przyczyn, dla której wiele serwisów internetowych, napisanych z naruszeniem specyfikacji, w różnych przeglądarkach działa w inny sposób – w niektórych działając, w innych nie. Dzięki HTML-owi 5 obsługa błędów ma być ta sama we wszystkich przeglądarkach, czyli zły element będzie działać w każdej przeglądarce albo żadnej.
HTML5 także stawia na semantykę. Element <div> traci na znaczeniu na rzecz <header> <main> <article> <aside> <footer> <nav>, a dodane zostają m.in. <canvas> <figure> <details> <summary>. Element <span> ma być mniej używany na rzecz <mark> <output> <var> <u> <s> (ostatnie dwa znaczniki były w HTML4 przestarzałe – ).