język 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. Jest to konkurencyjna specyfikacja w stosunku do specyfikacji XHTML 2, której rozwój został porzucony 2 lipca 2009 roku wsparcie wszystkich środowisk i producentów przeglądarek ukierunkowane jest na. Nazwę można zapisywać jako - jako wersję lub HTML5 - jako nazwę. 1
Główna różnica pomiędzy a XHTML 2 polega na tym, że jest pisane z myślą o kompatybilności wstecznej, podczas gdy XHTML 2 zrywało z kompatybilnością. 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. 2
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. także stawia na semantykę. Element <div> traci na znaczeniu na rzecz <header /> <hgroup /> <article /> <aside /> <canvas /> <figure /> <header /> <footer /> <details /> <summary /> <nav />. Element <span> ma być mniej używany na rzecz <mark /> <output /> <u /> <strike /> (ostatnie dwa znaczniki były w HTML4 zdeprecjonowane - deprecated ). 3
Grupa pracująca nad HTML5 przyjęła inny sposób myślenia. Na przykład podkreślenie i przekreślenie podczas tworzenia HTML 4 uważano za elementy czysto prezentacyjne i zdeprecjonowano je - 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ć. Jeśli sposób myślenia W3C się nie zmienił, nie powstałoby też kilka innych znaczników np. <progress /> wysyłany jako XML nazywany jest X. 4
Niektóre różnice w stosunku do HTML 4 Nowe tagi: section, article, header, footer, nav, video, audio, mark, progress,... Nowe typy inputów: tel, search, url, email, datetime, date, month, week, time, datetime-local, number, range, color. Nowe atrybuty elementów formularzy: autofocus, required, autocomplete, min, max, multiple, pattern, step,... Możliwość osadzenia MathML i SVG bezpośrednio w dokumencie, zupełnie jak w XHTML, nie zawiera żadnych elementów prezentacyjnych nie jest podzielone na żadne tryby - nie ma elementów zdeprecjonowanych. 5
Obsługa błędów Przeglądarki obsługujące HTML5 będą dostosowane do obsługi błędów w składni. HTML5 został zaprojektowany tak, by starsze przeglądarki bez problemu mogły ignorować nowe konstrukcje. W przeciwieństwie do starszego HTML 4.01 specyfikacja tej wersji zawiera szczegółowe instrukcje jak postępować z niepoprawną składnią, przez co strony z błędami będą wyświetlane w ten sam sposób w różnych przeglądarkach. 6
Nowe typy znaczników canvas Canvas jest elementem HTML, który może być użyty do rysowania grafik przy użyciu skryptów (zazwyczaj JavaScript). Na przykład może być użyty do rysowania wykresów, tworzenia kompozycji fotografii lub do animacji. Po raz pierwszy znacznik <canvas> został przedstawiony przez Apple dla Mac OS X Dashboard i później zaimplementowany w Safari. Przeglądarki oparte na silniku Gecko począwszy od wersji 1.8 (tj. Firefox 1.5 oraz późniejsze) obsługują ten nowy element. Jest również wspierany przez Opera oraz InternetExplorer 9. 7
Nowe typy znaczników audio i video Znaczniki <audio> i <video> dają możliwość odtwarzania na stronie dźwięku i klipów wideo bez użycia dodatkowych wtyczek. Problem stanowi brak porozumienia producentów przeglądarek co do użycia tych samych kodeków w swoich produktach. 8