HTML5

linguaggio di markup per realizzare pagine web
Voce principale: HTML.

L'HTML5 è un linguaggio di markup per la strutturazione delle pagine web, pubblicato come W3C Recommendation da ottobre 2014.

Il logo.

Storia

Lo sviluppo venne avviato dal gruppo di lavoro Web Hypertext Application Technology Working Group (WHATWG) (fondato nel 2004 da sviluppatori appartenenti ad Apple, Mozilla Foundation ed Opera Software) che si pose come obiettivo quello di progettare delle specifiche per lo sviluppo di applicazioni web, focalizzandosi su miglioramenti e aggiunte ad HTML e alle tecnologie correlate.

Inizialmente in contrasto con il World Wide Web Consortium per le lungaggini nel processo di evoluzione dello standard html e per la decisione del W3C di orientare la standardizzazione verso l'XHTML 2 che non garantiva retro compatibilità, lo stesso W3C ha poi riconosciuto valide tali motivazioni, annunciando di creare un apposito gruppo per la standardizzazione dell'HTML5 e abbandonare l'XHTML 2.0[1].

Dal 2007 il WHATWG ha collaborato con il W3C in tale processo di standardizzazione, per poi decidere nel 2012 di separarsi dal processo di standardizzazione del W3C[2], creando di fatto due versioni dell'HTML5: la versione del WHATWG viene definita come "HTML Living Standard" e quindi in continua evoluzione, mentre quella del W3C sarà un'unica versione corrispondente ad uno "snapshot" del Living Standard.

La prima Candidate Recommendation è stata pubblicata dal W3C il 17 dicembre 2012, e la prima versione dello standard è stata pubblicata come Recommendation il 28 ottobre 2014.

La versione HTML 5.1 è stata pubblicata dal W3C come Recommendation il 1º novembre 2016.

Novità

Le novità introdotte dall'HTML5 rispetto all'HTML4 sono finalizzate soprattutto a migliorare il disaccoppiamento fra struttura, definita dal markup, caratteristiche di resa (tipo di carattere, colori, eccetera), definite dalle direttive di stile, e contenuti di una pagina web, definiti dal testo vero e proprio. Inoltre l'HTML5 prevede il supporto per la memorizzazione locale di grandi quantità di dati scaricati dal web browser, per consentire l'utilizzo di applicazioni basate su web (come per esempio le caselle di posta di Google o altri servizi analoghi) anche in assenza di collegamento a Internet.

In particolare[3]:

  • vengono rese più stringenti le regole per la strutturazione del testo in capitoli, paragrafi e sezioni;
  • vengono introdotti elementi di controllo per i menu di navigazione;
  • vengono migliorati ed estesi gli elementi di controllo per i moduli elettronici, cioè nuovi attributi e tipi di input per i form (moduli di iscrizione e contatto);
  • vengono introdotti elementi specifici per il controllo di contenuti multimediali (tag <video> e <audio>), con HTML4 incorporabili solo attraverso Adobe Flash.
  • vengono deprecati o eliminati alcuni elementi che hanno dimostrato scarso o nessun utilizzo effettivo;
  • vengono estesi a tutti i tag una serie di attributi, specialmente quelli finalizzati all'accessibilità (WAI-ARIA), finora previsti solo per alcuni tag;
  • viene supportato Canvas che permette di utilizzare JavaScript per creare animazioni (possibili solo con Adobe Flash ai tempi di HTML4) e grafica bitmap;
  • introduzione della geolocalizzazione, dovuta ad una forte espansione di sistemi operativi mobili (quali Android e iOS, tra i più diffusi);
  • sistema alternativo ai normali cookie, chiamato Web Storage, più efficiente, il quale consente un notevole risparmio di banda;
  • standardizzazione di programmi JavaScript, chiamati Web Workers e possibilità di utilizzare alcuni siti offline;
  • sostituzione del lungo e complesso doctype, con un semplice <!DOCTYPE html>.
  • Nuovi microdati che descrivono il contenuto dei tag (ad esempio se è un nome, un cognome, un indirizoo, un numero di telefono, una mail eccetera);
  • WebSocket API: la possibilità di stabilire e mantenere una connessione dati tra browser e server remoto sulla quale far transitare messaggi in entrambe le direzioni;
  • Drag and Drop (trascinamento e rilascio di oggetti all'interno di un contenitore, ad esempio nel caso di videogiochi o prodotti da inserire nel carrello nei siti ecommerce);
  • SVG e MathML: possibilità di inserire in HTML grafica vettoriale e formule matematiche, le quali in HTML4 potevano essere importate solo come immagini o creabili in Adobe Flash.
TAG[4] SCOPO
Nuovi elementi strutturali e semantici
Header
 
Confronto tra pagina di base HTML4 e 5
Footer
Section
Nav
Article (nel caso di articoli in homepage)
Aside (contenuti correlati al principale)
Hgroup Raggruppa i tag Heading
<figure> e <figcaption> Didascalie per contenuti
Embed Inserirsce contenuti interattivi o multimediali
Ruby Specifica le annotazioni Ruby
Wbr Il browser può inserire un a capo
<command> e <menu> Definiscono barre degli strumenti o menu di scelta rapida
<details> e <summary> Widget informativi per gli utenti
mark Parte di un testo segnato o evidenziato all'utente
<time> e attributi pubdate e datetime Tempo su 24 ore o una data nel calendario Gregoriano
Meter Misura scalare di un intervallo noto o un valore frazionario
Progress Stato di completamento di un compito
Picture Contenitore per immagini
Microdati Per ogni tag HTML si possono specificare degli attributi semantici
Nuovi attributi e tipi di input per i form
autofocus, placeholder e form
 
L'autofocus in questo caso è in rosso. Gli input type equivalgono agli spazi da riempire (in questo caso c'è "email"). Il placeholder è il testo di esempio di ogni spazio
Input type: tel
Input type: search
Input type: url
Input type: email
Input type: number
Input type: range
Input type: color
Datalist Completamento automatico ad un elemento del form
Autocomplete Permette o no al browser di riempire i campi

del form in maniera automatica

Min, max Definiscono il valore minimo e massimo consentito
Multiple Permette all’utente possa inserire più valori per lo stesso input
Pattern Verifica che il valore inserito rispetti determinate regole
Required Rende obbligatoria la compilazione di uno spazio del form
Step Definisce la distanza che intercorre tra un valore e il successivo
keygen Generatore di chiavi numeriche all’interno di un form
output Restituisce il risultato di un calcolo
API per Web Applications
Applicazioni web offline (file ".manifest") Dopo la prima sessione di navigazione online,

resteranno accessibili alcuni oggetti anche

in assenza di una connessione di rete.

Indexed Database API Creare e manipolare un database all’interno del browser
WebStorage API Si possono ad esempio tenere aperti contemporaneamente

due account social o mail sullo stesso browser e ogni navigazione

sul primo comporterà il logout del secondo e viceversa

Web Workers API Consentono l’esecuzione di pezzi di codice Javascript

senza intaccare le performance della pagina web

WebSocket API Stabiliscono e mantengono una connessione dati tra browser

e server remoto sulla quale far transitare messaggi

in entrambe le direzioni

Drag and Drop Trascinamento e rilascio di oggetti
Geolocation API Geolocalizzazione
Multimedia
SVG e MathML Immagini vettoriali e formule matematiche
Canvas API adatte a tracciare linee, cerchi, rettangoli, immagini e oggetti 3D
Video Inserisce file video (prima fattibile solo con Adobe Flash)
Audio Inserisce file audio

Note

  1. ^ (EN) XHTML 2 Working Group Expected to Stop Work End of 2009, W3C to Increase Resources on HTML5, su w3.org, World Wide Web Consortium. URL consultato il 15 febbraio 2011.
  2. ^ (EN) Update on the relationship between the WHATWG HTML living standard and the W3C HTML5 specification, su lists.w3.org, World Wide Web Consortium. URL consultato il 22 luglio 2012.
  3. ^ HTML5: guida completa, su HTML.it. URL consultato il 28 gennaio 2021.
  4. ^ HTML5: guida completa, su HTML.it. URL consultato il 29 gennaio 2021.

Bibliografia

  • Jeffrey Zeldman, Ethan Marcotte, Sviluppare siti con gli standard web, Milano, Apogeo, 2010, ISBN 978-88-503-2964-9.
  • Mark Pilgrim, HTML5: Guida operativa, Milano, Hops Tecniche nuove, 2010, ISBN 978-88-481-2504-8.
  • Gabriele Gigliotti, HTML5: Sviluppare oggi il Web di domani, Milano, Apogeo, 2012, ISBN 978-88-503-3116-1.

Voci correlate

Altri progetti

Collegamenti esterni

Controllo di autoritàGND (DE7704810-6