Domande frequenti su HTML5

Domande frequenti su HTML5

Domande frequenti su HTML5 a cui ho cercato di rispondere nel modo più esaustivo possibile.

Posso usare HTML5 da oggi?

Certo. L'unico consiglio che posso dare è di non usare ancora i nuovi elementi HTML5 se il tuo sito deve soddisfare dei requisiti di accessibilità. Infatti le tecnologie assistive non supportano ancora i nuovi elementi HTML5.

HTML5 è compatibile con XHTML?

Si, se usi la notazione HTML5 per gli elementi vuoti e non utilizzi i nuovi elementi ed attributi. L'unica cosa che dovrai fare per tornare ad XHTML è cambiare il DOCTYPE e dichiarare il namespace XHTML, in questo modo:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it">
</html>

Internet Explorer supporta HTML5?

IE supporta HTML5 dalla versione 9 in poi. Per le versioni precedenti devi utilizzare uno script per fargli riconoscere i nuovi elementi HTML5:


<head>
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>

I browser assegnano già degli stili predefiniti ai nuovi elementi HTML5?

Non tutti, o almeno solo le versioni più recenti. Per esempio, IE9 (e inferiori) non lo fa, quindi devi specificarli tu stesso all'inizio del tuo foglio di stile:


article,
aside,
header,
hgroup,
footer,
nav,
section {
	display: block;
}

Posso usare SVG con HTML5?

Si se servi il tuo documento come application/xhtml+xml (esattamente come si faceva con XHTML).

Posso validare i miei documenti come HTML5?

Si, ma essendo HTML5 ancora in stato di bozza la validazione è sperimentale e non ha lo stesso significato che ha per XHTML o HTML4. In altre parole, alcune regole potrebbero cambiare in futuro, quindi quello che è valido oggi potrebbe non esserlo più domani.

Con HTML5 le librerie JavaScript esistenti continueranno a funzionare?

Certo. HTML5 ha solo introdotto nuove API, ma niente nelle specifiche DOM è stato modificato rispetto a quanto avveniva in passato e che permetteva alle librerie JavaScript di funzionare correttamente. Quindi:


$('article', document.body).each(function() {

	//...


});

funzionerà come per i vecchi elementi XHTML/HTML 4.

È vero che ora l'elemento body è divenuto opzionale?

Si, e anche altri elementi, ma non ti consiglio di ometterli per il semplice motivo che costringeresti i browser ad un lavoro aggiuntivo sul DOM per riempire le lacune di una marcatura incompleta.

Cosa cambia nella sintassi di elementi e attributi?

Ora puoi usare sia la notazione XHTML che HTML 4. Quindi:


<input type="email" name="email" required="required" />

e


<input type="email" name="email" required>

sono entrambi validi.

Torna su