Siamo lieti di presentarvi il Capitolo 1 di HTML5 for Web Designers di Jeremy Keith (A Book Apart, 2010). —Ed.
HTML è il linguaggio unificatore del World Wide Web. Usando solamente i semplici tag che contiene, la razza umana ha creato una sbalorditiva eterogenea rete di documenti linkati, da Amazon, eBay e Wikipedia ai blog personali e ai siti web dedicati ai gatti che assomigliano a Hitler.
HTML5 è l’ultima iterazione di questa lingua franca. Sebbene sia il più ambizioso cambio alla nostra lingua comune, questa non è la prima volta che HTML viene aggiornato. Questo linguaggio si è evoluto fin dall’inizio.
Così come per il Web, lo HyperText Markup Language è il frutto dell’ingegno di Sir Tim Berners-Lee. Nel 1991 scrisse un documento intitolato “HTML Tags” nel quale propose poco meno di una dozzina di elementi che potevano essere usati per scrivere pagine web.
Sir Tim non ebbe l’idea di usare tag che consistessero in parole tra parentesi formate dai segni di < e >: quel tipo di tag esisteva già nel formato SGML (Standard Generalized Markup Language). Piuttosto che inventare un nuovo standard, Sir Tim vide il beneficio di costruire su quello che esisteva già, un trend che può ancora essere visto nello sviluppo di HTML5.
Da IETF al W3C: la strada verso HTML 4#section1
Non c’è mai stato nulla di nome HTML 1. La prima specifica ufficiale è stata HTML 2.0, pubblicata dalla IETF, la Internet Engineering Task Force. Molte delle features presenti in questa specifica vi furono introdotte a partire da implementazioni esistenti. Ad esempio, il browser web Mosaic, che guidava il mercato nel 1994, aveva già fornito un modo con cui gli autori potevano inserire le immagini nei loro documenti usando un tag <img>
. L’elemento img
apparve più tardi nella specifica HTML 2.0.
Il ruolo della IETF fu preso dal W3C, il World Wide Web Consortium, al cui interno furono pubblicate successive iterazioni dello standard HTML all’indirizzo http://www.w3.org. L’ultima parte degli anni ’90 vide un turbine di revisioni della specifica fintanto che non venne pubblicato HTML 4.01 nel 1999.
In quel momento, HTML affrontò il suo primo grande punto di svolta.
XHTML 1: HTML come XML#section2
Dopo HTML 4.01, la successiva revisione del linguaggio fu chiamata XHTML 1.0. La X stava per “eXtreme” ed i web developers dovevano incrociare le braccia a formare una X quando pronunciavano quella lettera.
No, seriamente. La X stava per “eXtensible” e incrociare le braccia era totalmente facoltativo.
Il contenuto della specifica di XHTML 1.0 era identica a quella di HTML 4.01: non aggiunsero nessun nuovo elemento o attributo. L’unica differenza stava nella sintassi del linguaggio: laddove HTML permetteva agli autori la totale libertà nello scrivere i loro elementi ed attributi, XHTML richiedeva agli autori di seguire le regole di XML, un linguaggio di markup più vincolante sul quale il W3C stava gettando le basi per la maggior parte delle sue tecnologie.
Avere regole più ferree non era poi una cattiva idea: incoraggiò gli autori ad usare un unico stile di scrittura. Nei casi in cui i tag e gli attributi potevano essere scritti con lettere maiuscole, minuscole o una qualunque combinazione di questi, un documento XHTML 1.0 valido richiedeva che tutti i tag e gli attributi fossero scritti con lettere minuscole.
La pubblicazione di XHTML 1.0 coincise con l’aumentare del supporto per i CSS da parte dei browser. Man mano che i web designer abbracciavano l’emergere degli standard web, guidati da The Web Standards Project, la sintassi più stringente di XHTML era vista come una “best practice” per scrivere il markup.
Poi il W3C pubblicò XHTML 1.1.
Mentre XHTML 1.0 era semplicemente una versione di HTML riformulata come XML, XHTML 1.1 era vero, genuino XML. Ciò significava che non poteva essere trattato con un mime-type text/html
. Ma se gli autori pubbblicavano un documento con un mime-type XML, allora il più popolare browser web dell’epoca – Internet Explorer – non avrebbe reso il documento.
Sembrava quasi che il W3C stesse perdendo il contatto con la realtà quotidiana della pubblicazione sul web.
XHTML 2: Oh, non lo useremo!#section3
Se il personaggio di Dustin Hoffman ne Il laureato fosse stato un web designer, il W3C gli avrebbe detto una sola parola: XML.
Per quanto riguardava il W3C, HTML era terminato alla versione 4. Cominciarono a lavorare a XHTML 2, progettato per guidare il web verso un nuovo scintillante futuro basato su XML.
Sebbene il nome XHTML 2 suonasse molto simile a XHTML 1, non avrebbero potuto essere più diversi. A differenza di XHTML 1, XHTML 2 non sarebbe dovuto essere retro-compatibile con il contenuto web esistente e nemmeno con le precedenti versioni di HTML. Al contrario, doveva essere un puro linguaggio, che non dovesse sopportare il peso della storia mal fatta delle specifiche precedenti.
Fu un disastro.
Lo scisma: WHATWG TF? [TF sta per Task Force, ndr]#section4
All’interno del W3C si formò una rivolta. Il consorzio sembrava che formulasse standard puramente teorici non collegati ai bisogni dei web designer. I rappresentati di Opera, Apple e Mozilla erano molto scontenti della direzione presa. Volevano vedere una maggiore enfasi sui formati che permettessero la creazione di applicazioni web.
Le cose giunsero al culmine durante una riunione-workshop nel 2004. Ian Hickson, che all’epoca lavorava per Opera Software, propose l’idea di estendereHTML per permettere la creazione di applicazioni web. La proposta fu rifiutata.
I ribelli maldisposti formarono il loro gruppo: il Web Hypertext Application Technology Working Group, o WHATWG in forma breve.
Da Web Apps 1.0 a HTML5#section5
Fin dall’inizio, il WHATWG operò in maniera piuttosto diversa dal W3C. Il W3C usa un approccio basato sul consenso: le questioni vengono portate a galla, discusse e poi votate. Al WHATWG le questioni vengono sollevate e discusse, ma la decisione finale su quello che finisce in una specifica rimane all’editore. L’editore è Ian Hickson.
In apparenza, il processo del W3C sembra più equo e democratico. Nella pratica però, le mosse politiche ed i battibecchi interni possono far impantanare il progresso. Al WHATWG, dove ognuno è libero di contribuire ma l’editore ha l’ultima parola, le cose si muovono ad un ritmo più veloce. Ma l’editore non ha potere assoluto: un comitato direttivo formato esclusivamente da membri invitati può mettere in dubbio l’editore nell’improbabile caso di uno scenario Strangelove [Stranamore, ndr].
Inizialmente, la grande quantità di lavoro al WHATWG fu divisa in due specifiche: Web Forms 2.0 e Web Apps 1.0. Entrambe le specifiche avevano come scopo l’estensione di HTML. Con l’andar del tempo, queste specifiche vennero unite e semplicemente chiamate HTML5.
Riunificazione#section6
Mentre si sviluppava HTML5 al WHATWG, il W3C continuava a lavorare su XHTML 2. Sarebbe inaccurato dire che non stava procedendo velocemente: non stava andando da nessuna parte e lo stava facendo molto molto lentamente.
Nell’ottobre 2006, Sir Tim Berners-Lee scrisse un blog post nel quale ammetteva che il tentativo di spostare il web da HTML a XML non stava funzionando. Pochi mesi dopo, il W3C rilasciò un nuovo atto istitutivo per la formazione di un HTML Working Group. Piuttosto che partire da zero, decisero saggiamente che si sarebbe dovuto usare come base per qualunque versione futura di HTML il lavoro del WHATWG.
Tutte queste partenze ed arresti portarono ad una situazione piuttosto confusa. Il W3C stava simultaneamente lavorando a due tipi di markup diversi ed incompatibili: XHTML 2 e HTML 5 (notare lo spazio prima del 5). Nel frattempo, un’organizzazione separata, il WHATWG, stava lavorando ad una specifica chiamata HTML5 (senza spazio) che doveva essere usata come base per una delle specifiche del W3C!
Qualunque web designer che cercasse di raccapezzarsi in questa situazione avrebbe fatto prima a decifrare una maratona di film come Memento, Primer e l’opera completa di David Lynch.
XHTML è morto: lunga vita alla sintassi di XHTML#section7
La situazione nebulosa cominciò a schiarirsi nel 2009. Il W3C annunciò che l’atto istitutivo per XHTML 2 non sarebbe stato rinnovato. Il formato era morto da molti anni; questo annunciò fu poco più che un certificato di morte.
Stranamente, invece che passare sotto silenzio, la morte di XHTML 2 fu accolta con gioia maligna: i detrattori di XML usarono la notizia come un’opportunità per deridere chiunque avesse mai usato XHTML 1 – nonostante XHTML 1 e XHTML 2 non avessero quasi nulla in comune.
Nel frattempo, gli autori che avevano scritto XHTML 1 perché si fosse costretti ad usare uno stile di scrittura con regole ferree erano preoccupati che HTML5 avrebbe segnato il ritorno ad un markup sporco.
Come vedrete presto, questa non era una preoccupazione giustificata: HTML5 è tanto sporco o tanto pulito come lo volete rendere voi.
La timeline di HTML5#section8
Lo stato corrente di HTML5 non è così confuso come lo fu un tempo, ma non è ancora del tutto chiaro.
Ci sono due gruppi che lavorano su HTML5: il WHATWG sta creando una specifica HTML5 usando il suo processo “commit then review.” [sollevare e rivedere, ndr]; lo HTML Working Group del W3C prende tale specifica e la passa attraverso il suo processo di “review then commit.” [revisiona e sottoponi a valutazione, ndr]. Come potete immaginare, non è un’alleanza semplice. Tuttavia, sembra che finalmente ci sia un accordo sulla fastidiosa questione dello “spazio o non spazio?” (è HTML5 senza spazio, nel caso ve lo stiate chiedendo).
Forse una delle questioni che disorientano maggiormente i web designer che si avvicinano a HTML5 è ottenere una risposta alla domanda: “quando sarà pronto?”
Durante un’intervista, Ian Hickson ha detto che HTML5 sarà una “proposed recommendation” nel 2022. Ne seguì un’onda di pubblico sdegno da parte di alcuni web designers. Non avevano capito che cosa significa “proposed recommendation”, ma non avevano abbastanza dita per contare fino all’anno 2022.
Lo sdegno era ingiustificato. In questo caso, raggiungere lo stato di “proposed recommendation” richiede due implementazioni complete di HTML5. Considerando la portata della specifica, questa data è incredibilmente ambiziosa. Dopo tutto, i browser non hanno una storia di record sul campo nell’implementazione degli standard esistenti. Ci volle più di una decade perché Internet Explorer aggiungesse il supporto per l’elemento abbr
.
La data che conta davvero per HTML5 è il 2012, cioè quando la specifica dovrebbe diventare una “candidate recommendation.”, che, nel gergo degli standard, sta ad indicare “fatta e finita.”
Ma anche quella data non è particolarmente rilevante per i web designers. Quello che conta è quando i browser cominceranno a supportarne le caratteristiche. Abbiamo cominciato ad usare parti di CSS 2.1 non appena i browser hanno cominciato a fornirne il supporto. Se avessi aspettato che tutti i browser supportassero completamente CSS 2.1 prima di cominciare ad usarlo, staremmo ancora aspettando.
Non è diverso con HTML5: non ci sarà un singolo punto nel tempo durante il quale si potrà dichiarare che il linguaggio è pronto per essere usato. Al contrario, possiamo cominciare ad usarne delle parti non appena i browser web supporteranno tali caratteristiche.
Ricordate, HTML5 non è un linguaggio completamente nuovo e creato da zero: è una evoluzione piuttosto che una rivoluzione nella storia del markup. Se state creando dei siti web con una qualunque versione di HTML, siete pronti per usare HTML5.
Nessun commento
Altro da ALA
Webwaste
Uno strumento essenziale per catturare i vostri progressi lavorativi
Andiamo al cuore dell’accessibilità digitale
JavaScript Responsabile, Parte II
JavaScript Responsabile: parte prima