Hypertext Markup Language revision 5 (HTML5) to język znaczników do struktury i prezentacji treści WWW. HTML5 obsługuje tradycyjną składnię HTML i XHTML oraz inne nowe funkcje znaczników, nowe API, XHTML i obsługę błędów.
Obecnie za specyfikację HTML5 odpowiadają trzy organizacje:
Web Hypertext Application Technology Working Group (WHATWG) opracowała specyfikację HTML5 i odpowiada za jej rozwój, zapewniając otwartą współpracę producentów przeglądarek i innych zaangażowanych stron.
World Wide Web Consortium (W3C) odpowiada za opracowanie specyfikacji HTML5.
Internet Engineering Task Force (IETF) odpowiada za rozwój API HTML5 WebSocket.
Co oznacza HTML5?
HTML5 to próba uporządkowania chaosu w tworzeniu stron internetowych poprzez uporządkowanie wspólnych praktyk, obejmujących implementacje z różnych przeglądarek. Jest to ogromny obszar, obejmujący ponad 100 specyfikacji w ramach specyfikacji HTML5. Rozumiejąc to, można uprościć sposób myślenia o HTML5, myśląc o nim w ten sposób. HTML5 to po prostu termin zbiorczy dla nowej generacji aplikacji internetowych i tego, jak funkcjonalność zostanie rozszerzona dzięki lepszemu znacznikowi (HTML), lepszemu stylowi (CSS) i lepszej interaktywności (JavaScript).
Opublikowana obecnie specyfikacja HTML5 nie jest jeszcze ostateczna. Oczekuje się, że HTML5 uzyska status Rekomendacji Kandydackiej (CR) do 2012 roku, a Proponowanej Rekomendacji (PR) do 2022 roku. Nie oznacza to jednak, że HTML5 nie jest gotowy do użycia. Proponowana rekomendacja oznacza jednak, że będą dwie interoperacyjne implementacje. Od 2011 roku producenci przeglądarek aktywnie dodają obsługę nowych funkcji HTML5.
Nowe funkcje HTML5 obejmują:
Nowe reguły parsowania, które nie są oparte na SGML, ale są zorientowane na elastyczne parsowanie i kompatybilność. Obsługa wbudowanej grafiki wektorowej SVG (Scalar Vector Graphics) i języka MathML (MathML) w tekstach/html.
Nowe dostępne elementy to: article, aside, audio, bdi, canvas, command, datalist, details, embed, figcaption, figure, footer, header, hgroup, keygen, mark, meter, nav, output, progress, rp, rt, ruby, section, source, summary, time, video i wbr.
Nowe dostępne typy kontrolek formularzy to: date and time, email, url, search, number, range, tel i color.
Nowe dostępne atrybuty charset dla meta i async dla script.
Atrybuty globalne, które można zastosować do każdego elementu, w tym id, tabindex, hidden, data-* lub customer data.