Rozszerzenia pliku |
.html, .htm |
---|---|
Typ MIME |
text/html |
Producent | |
Ostatnia wersja |
1.4938 |
Typ | |
Strona internetowa |
HTML5 – język znaczników wykorzystywany do tworzenia i prezentowania stron internetowych www. Jest rozwinięciem języka HTML 4 i jego XML-owej odmiany (XHTML 1), opracowywane w ramach prac grupy roboczej WHATWG (Web Hypertext Application Technology Working Group) i W3C[1].
Jest to konkurencyjna specyfikacja w stosunku do specyfikacji XHTML 2[2], której rozwój został porzucony 2 lipca 2009 roku – wsparcie wszystkich środowisk i producentów przeglądarek ukierunkowane jest na HTML 5[3]. Nazwę można zapisywać jako HTML 5 – jako wersję lub HTML5 – jako nazwę. Prace nad specyfikacją zostały ukończone w 2014 roku – 28 października standard został oficjalnie wydany jako rekomendacja W3C[4]. Dwa lata później – 1 listopada 2016 roku – została wydana wersja HTML 5.1 jako oficjalna rekomendacja W3C[5]. Został wówczas także zaprezentowany szkic standardu HTML 5.2[6][7].
Główna różnica pomiędzy HTML 5 a XHTML 2 polega na tym, że HTML 5 jest pisane z myślą o kompatybilności wstecznej, podczas gdy XHTML 2 zrywało z kompatybilnością.
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 – deprecated).
Grupa pracująca nad HTML5 przyjęła inny sposób myślenia. Na przykład podkreślenie i przekreślenie podczas tworzenia HTML 4 uznano za elementy czysto prezentacyjne i przestarzałe – miały zostać usunięte w HTML5. Nawet kursywę i pogrubienie często próbowano zastąpić emfazą. W myśl tego nowe znaczniki liniowe nie powinny powstać. Gdyby sposób myślenia W3C się nie zmienił, nie powstałoby też kilka innych znaczników np. <progress>
HTML5 wysyłany jako XML to XHTML5.