Type a search term to find related articles by LIMS subject matter experts gathered from the most trusted and dynamic collaboration tools in the laboratory informatics industry.
HTML 5 linguaggio di programmazione | |
---|---|
Autore | Tim Berners Lee |
Data di origine | 1989 |
Ultima versione | HTML5 |
Utilizzo | Programmazione dei siti WEB |
Tipizzazione | Forte |
Estensioni comuni | html e htm |
Implementazione di riferimento | |
Sistema operativo | Windows, macOS, Android, iOS, Linux. |
Licenza | Open Source |
Sito web | html.spec.whatwg.org/multipage/ |
HTML5 è la quinta versione del linguaggio di formattazione HTML raccomandata dal World Wide Web Consortium,[1] distribuita a partire dall'ottobre 2014 e concepita per definire standard funzionali (es. riproduzione audio/video) e API.
Lo sviluppo venne avviato dal gruppo di lavoro WHATWG, fondato nel 2004 da sviluppatori appartenenti ad Apple, Mozilla Foundation e Opera Software. L'obiettivo era la progettazione delle specifiche per lo sviluppo di applicazioni web, con particolare attenzione per i miglioramenti da apportare sia ad HTML che 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[2].
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[3], 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.
La versione HTML 5.2 è stata pubblicata dal W3C come Recommendation il 14 dicembre 2017[4]
La versione HTML 5.3 è stata pubblicata dal W3C come Recommendation il 28 gennaio 2021.[5]
HTML5 ha deprecato i seguenti tag e attributi presenti in HTML4 poiché la loro funzione è ora gestita dai CSS3[6]:
HTML5 e CSS3 (l'evoluzione di CSS2) costituiscono un linguaggio turing completo[7][8], condizione sufficiente per un linguaggio per essere considerato un linguaggio di programmazione.
HTML5 è progettata per migliorare la SEO rispetto alle versioni precedenti di HTML.
Alla nascita di HTML5 il motore di rendering Webkit (Chrome e Safari) fu il primo a interpretare in modo corretto molti dei nuovi codici, il secondo ad aggiornarsi da quel punto di vista fu Gecko (Firefox) e per ultimo Trindent (Internet Explorer). Per alcuni anni i siti web che utilizzavano i nuovi tag HTML disponibili venivano visti in maniera differente a seconda del browser che utilizzava l'utente[9]. In parte questo problema veniva risolto da tecniche come CSS alternativi appositamente per Internet Explorer, commenti condizionali su misura per esso e librerie JavaScript come Modernizr[10][11][12]. Dal 2019 Microsoft Edge supporta la maggior parte delle specifiche HTML5[13].
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[14]:
<video>
e <audio>
), con HTML4 incorporabili solo attraverso Adobe Flash.<!DOCTYPE html>
.TAG[14] | SCOPO |
Nuovi elementi strutturali e semantici | |
Header | |
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 | Inserisce 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 | |
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/WebGL | 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 |
WAI-ARIA (Web Accessibility Initiative - Accessible Rich Internet Applications) è un insieme di documenti pubblicati dal W3C (World Wide Web Consortium) che specificano come aumentare l'accessibilità dei contenuti dinamici e dei componenti per l'interfaccia utente sviluppati con AJAX, HTML, JavaScript e altre tecnologie collegate. HTML5 ha aggiunto nuove regole WAI ARIA[16].
L'eventodeviceorientation
viene generato quando sono disponibili nuovi dati da un sensore di orientamento sull'orientamento corrente del dispositivo rispetto al riquadro delle coordinate terrestri. Questi dati vengono raccolti da un magnetometro all'interno del dispositivo. In pratica, quando si ruota il dispositivo su cui la pagina web viene visualizzata, l'oggetto che contiene questa API ruota in base all'asse x, y o z del dispositivo[17][18].
Codice base:
window.addEventListener('deviceorientation', function(event) {
var a = event.alpha;
var b = event.beta;
var g = event.gamma;
}, false);
Gli eventi di movimento vengono gestiti allo stesso modo degli eventi di orientamento, tranne per il fatto che hanno il proprio nome di evento: devicemotion
[19][20].
Esempio:
window.addEventListener("devicemotion", handleMotion, true);
Rispetto a deviceorientation
le informazioni fornite all'interno dell'oggetto DeviceMotionEvent
diventano parametri della funzione HandleMotion.
L'evento di movimento contiene quattro proprietà:
DeviceMotionEvent.acceleration
DeviceMotionEvent.accelerationIncludingGravity
DeviceMotionEvent.rotationRate
DeviceMotionEvent.interval
Gli oggettiDeviceMotionEvent
forniscono informazioni sulla velocità dei cambiamenti della posizione e dell'orientamento del dispositivo. Le modifiche vengono fornite lungo tre assi[21].
Per acceleration
e accelerationIncludingGravity
tali assi corrispondono a:
x
: Rappresenta l'asse da Ovest a Esty
: Rappresenta l'asse da Sud a Nordz
: Rappresenta l'asse perpendicolare al suoloPer rotationRate
le informazioni corrispondono a:
alpha
: Rappresenta una velocità di rotazione lungo l'asse perpendicolare al dispositivo.beta
: Rappresenta una velocità di rotazione lungo l'asse che va da sinistra a destra del dispositivo.gamma
: Rappresenta una velocità di rotazione lungo l'asse che va dal basso verso l'alto del dispositivo.interval
rappresenta l'intervallo di tempo, in millisecondi, in cui i dati vengono ottenuti dal dispositivo.
HTML5test è un'applicazione web per valutare l'accuratezza di un browser web nell'implementazione degli standard web HTML5 e Web SQL Database (sviluppato dal World Wide Web Consortium), così come lo standard WebGL (sviluppato da Mozilla Foundation e Khronos Group)[22].
La suite di test è stata sviluppata dal programmatore web olandese Niels Leenheer e pubblicata nel marzo 2010. Per testare un browser web, l'utente deve visitare la home page del sito web che si trova all'indirizzo html5test.com[23]
. L'applicazione restituisce un punteggio intero su un massimo di 555 punti. Il totale dei punti è cambiato più volte attraverso l'evoluzione del software; Leenheer ha introdotto successivamente un sistema di punteggio come parte di un'importante riprogettazione del test introdotta nel novembre 2013[24].
HTML5test valuta il supporto del browser per l'archiviazione Web, l'API di geolocalizzazione W3C, gli elementi HTML specifici per HTML5 (incluso l'elemento Canvas) e altre funzionalità[25][26]. Non valuta la conformità di un browser ad altri standard web, come Cascading Style Sheets, ECMAScript, Scalable Vector Graphics o Document Object Model. I test di conformità per questi standard sono di competenza di Acid3, un test automatizzato pubblicato da Ian Hickson nel 2008[27]. Allo stesso modo, Acid3 non valuta la conformità HTML5 di un browser. L'ambito del test di HTML5test e l'ambito del test di Acid3 si escludono a vicenda.
Controllo di autorità | GND (DE) 7704810-6 |
---|