HTML5: markup o mashup?

Alcuni mesi fa Molly Holzschlag ha definito HTML5 come un linguaggio di mashup piuttosto che di markup. Se per mashup si intende la combinazione di fonti e ispirazioni diverse, in un certo senso la definizione può cogliere lo spirito originario di HTML5. Se invece lo si intende come insalata di API, la definizione non può essere accettata. Vediamo perchè.

HTML5 è un discendente di SGML, come tutti gli altri linguaggi di marcatura. Come tale, è interoperabile rispetto a XML, SVG e MathML perchè condivide la stessa struttura di base. In HTML5 non c'è nulla, a livello di grammatica formale e struttura sintattica, che non sia già stato previsto in SGML.

Anche se HTML5 introduce nuovi elementi, questi elementi non sono affatto una rottura rispetto al passato. Quello che cambia è il nome degli elementi e il ruolo semantico, ma la struttura resta invariata.

Prima usavamo ID per definire il ruolo degli elementi:


<div id="article">

</div>

Oggi usiamo elementi specifici:


<article>

</article>

Possiamo osservare in questo fenomeno una continuità ed un'evoluzione, ma non un inserimento di elementi estranei ai linguaggi di marcatura (il mashup), perchè le radici di XHTML e HTML5 sono le stesse.

Si potrebbe obiettare dicendo che HTML5 aggiunge dei comportamenti alla marcatura, cosa mai vista prima. Ma la gestione degli iframe, degli oggetti multimediali, dei target dei link, delle mappe immagine presenti in HTML4 ed XHTML, come potrebbe essere definita se non come comportamento? Quindi quello che avviene con un elemento HTML5 del tipo:


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

esisteva già, in misura diversa, per i campi dei form di tipo hidden o disabled. Non si trattava di un comportamento interattivo come la validazione inline, ma era pur sempre un comportamento.

Quindi mashup non va inteso come introduzione di elementi disparati e alieni in un linguaggio di marcatura, quanto piuttosto l'aver raccolto insieme le istanze e i desideri degli sviluppatori che premevano e premono per l'evoluzione degli standard.

Torna su