Zaczynając przygodę z nową wersją języka HTML należy wspomnieć o licznych zmianach wprowadzonych w stosunku co do starszej wersji HTML4,
czyli:
- Usunięcie przestarzałych znaczników m.in:
<basefront>, <big>, <center>, <strike>, <frame>, <frameset>, <tt> itd..
- Dodanie nowych znaczników i atrybutów, np:
<article>, <header>, <details>, <figure>, <nav>, <section>, <mark>, <time>, <audio>,<video>, <source>, <bdo>,<rp> itp
– których zadaniem jest uprościć i zwiększyć kontrolę nad szkieletem strony.
- Uproszczenie zapisu znaczników oraz innych atrybutów, np:
wersja html5:<meta charset="UTF-8" />
wersja starsza:
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
- element “Canvas”
- Obsługa multimediów
- Rozbudowane formularze (dużo nowych typów pól)
- API
- Odejście od zasady obowiązkowego zamykania znaczników
<table> <tr> <td> komórka tabeli <td> komórka tabeli <tr> <td> komórka tabeli <td> komórka tabeli </table>
W starszej wersji html wyskoczyły by nam krzaki, jednak HTML5 zinterpretuje to wg naszej myśli.
- Brak konieczności zamykania elementów pustych, tzn:
czyli zapis <br> tego typu <br/> jest w pełni poprawny<br />
- HTML5 ignoruje wielkie litery znaczników, co pozwala na napisanie np takiego kodu:
<p> małe czy Duże<SPAN>litery</SPan> nie mają znaczenia</P>
- Wartości atrybutów nie muszą być zapisywane w cudzysłowie pod warunkiem iż nie zawierają znaków specjalnych (typu: >, -, lub spacje), jak również w niektórych wypadkach można podawać atrybut bez podawania ich wartośći np:
<img alt="opis zalaczonego obrazka" src=obrazek.jpg> <input type="checkbox" chceked>
- znaczniki typu
<html>, <head>, <body>
są opcjonalne.
Z grubsza mówiąc to jedne z ważniejszych różnic pomiędzy HTML5 a HTML4. Każdy z tych punktów można było by rozpisać na wiele stron ale to nie w tym artykule.