L’HTML5 posside dei nuovi tag da usare per ottenere comportamenti precisi sulla pagina web. In questo post, si elencano i 10 nuovi, non per importanza ma per il vantaggio funzionale che si possono otenere rapidamente senza aggiungere altro nel codice come funzioni in JavaScript o elementi da essere gestiti dai fogli di stile in CSS.

HTML5 Top Ten

1) Didascalia con un'immagine
In HTML4 quando vogliamo mostrare qualche didascalia in un’immagine, dobbiamo usare il seguente codice:
Copia codice

<IMG src="percorso/immagine" alt="Testo alternativo per l'immagine" height=… />
Didascalia per l'immagine
<!-- Il tag di paragrafo è  usato per dare titolo -->
Questa soluzione non sembra semanticamente corretta. Ma con l’HTML5 il problema è risolto con il tag FIGURE.
Copia codice

<FIGURE>
  <IMG src="percorso/immagine" alt="Testo alternativo per l'immagine" height=… />
  <FIGCAPTION>
    Didascalia per l'immagine
  </FIGCAPTION>
</FIGURE>
2) Non c'è bisogno dell'attributo type con i tags LINK e SCRIPT
In HTML4 usiamo i tags LINK e SCRIPT nel modo seguente:
Copia codice

<LINK rel="stylesheet" href="percorso/file_css" type="text/css" />
<SCRIPT src="percorso/file_js" type="text/javascript" />
In HTML5 non vi è alcuna necessità di utilizzare l’attributo type. I tags di sopra possono essere utilizzati in modo seguente:
Copia codice

<LINK rel="stylesheet" href="percorso/file_css" />
<SCRIPT src="percorso/file_js" />
3) Contenuto modificabile nel browser
L’HTML5 fornisce la funzione per rendere i contenuti ediatabili sul browser mediante attributo contenteditable.
Copia codice

<H2>Lista di protocolli</H2>
<OL contenteditable="true">
  <LI>FTP</LI>
  <LI>HTTP</LI>
  <LI>SMTP</LI>
  <LI>POP</LI>
</OL>
4) Tipo di campo per ottenere l'e-mail
L’HTML5 offre un controllo nei forms (o moduli) per ottenere il valore del campo di tipo email, convalidando l’input di posta elettronica. Questa caratteristica non è affidabile al 100% e i vecchi browser non supportano questa funzionalità.
Copia codice

 <FORM name="frm1" method="get" action=…>
 ⋮
   <INPUT type="email" name="email" id="ed">
 ⋮
 </FORM>
5) Tags Header e Footer
In HTML per fare un’intestazione e un piè di pagina si utilizza il tag DIV con l’attributo id come segue:
Copia codice

 <DIV id="header">…</DIV>
 ⋮
 <DIV id="footer">…</DIV>
HTML5 fornisce nuovi tags logici per visualizzare le intestazioni e i piè di pagina.
Copia codice

 <HEADER>…</HEADER>
 ⋮
 <FOOTER>…</FOOTER>
6) Attributo per la convalida di campi obbligatori
HTML5 fornisce un nuovo attributo “required” per controllare e convalidare un campo obbligatorio. E può essere utilizzato in due modi diversi:
Copia codice

<INPUT type="text" name="fname" required />
…o anche…
Copia codice

<INPUT type="text" name="fname" required="required" />
7) Tag AUDIO per mettere l'audio nella pagina
In HTML4 non esiste un modo diretto per far visualizzare e ascoltare l’audio sulla pagina. L’HTML5 fornisce tag <AUDIO> per questo scopo. Ma come identificare i formati audio dai diversi browser? Semplice. Dovremmo utilizzare tutti i seguenti formati per riprodurre l’audio con successo, a prescindere del browser.
Copia codice

<AUDIO controls = controls autoplay = autoplay>
  <SOURCE src="music.ogg" />
  <SOURCE src="music.mp3" />
  <SOURCE src="music.wav" />
</AUDIO>
Nell’esempio abbiamo utilizzato tre formati audio .ogg, .mp3 e .wav.
.ogg è identificato da Mozilla Firefox,
.mp3 è identificato da Chrome,
.wav è identificato da Opera etc.
8) Attributo autofocus
L’HTML5 fornisce un attributo di controllo per selezionare un elemento del form, e può essere utilizzato in due modi seguenti:
Copia codice

 <INPUT type="text" name="fname" autofocus />
…oppure…
Copia codice

 <INPUT type="text" name="fname" autofocus="autofocus" />
9) Tag MARK per evidenziare il testo
L’HTML5 fornisce il tag <MARK> usato per evidenziare il testo.
Copia codice

Jaipur è  conosciuta cone la <MARK>Città Rossa dell'India.</MARK>
10) Possono essere usate l'espressioni regolari
L’HTML5 fornisce un modello per inserire un’espressione regolare in un tag.
Copia codice

<INPUT type="text" name="fname" id="txtname" pattern="[A-Z]a[a-z][0-9]" />