Nel 2006 Tim-Berners Lee aveva pubblicamente ammesso che le aspettative riguardo a XML erano state mal riposte, dando così di fatto il via definitivo ad HTML5. XML ha fallito, o più specificamente il tentativo di fonderlo con HTML nella forma di XHTML 1.0 e 1.1. Ha fallito in parte per il mancato supporto da parte dei browser, ma soprattutto perché era stato pensato per un Web semantico a cui probabilmente gli autori non erano e non sono ancora pronti.
Con lui hanno fallito anche SVG e MathML, probabilmente per gli stessi motivi. Occorre subito dire che i nomi dei nuovi elementi HTML5 non sono stati scelti per la loro semantica. Sono il frutto di un'indagine di Google condotta su oltre un miliardo di pagine Web e quelli che vediamo oggi sono semplicemente i più usati. Quindi, visto che l'ID più diffuso era header
è stato creato un elemento con questo nome. E così via.
Quindi se l'ID più diffuso fosse stato cool-stuff
avremmo presumibilmente avuto un elemento con questo nome? La domanda resta aperta. Certo è, seguendo quanto detto da Andy Clarke che parlava di semantica e microformati, che branding
è certamente più semantico di header
e content_sub
di aside
.
Non penso che si possa parlare di semantica con i nuovi elementi HTML5, almeno se per semantica intendiamo quella del Web semantico vero e proprio, in cui i dati devono essere descritti, non presentati. In effetti, leggendo i nomi dei nuovi elementi HTML5 si ha l'idea di una presentazione più che di una descrizione.
Inoltre HTML5 ha sancito la fine delle DTD. Le DTD sono un elemento insostituibile per un linguaggio di marcatura, perché racchiudono in sé il corredo genetico trasmissibile ai nuovi linguaggi che ne deriveranno. Così dalla DTD HTML 4 è nata la DTD XHTML 1.0 e da quella 1.0 è nato XHTML 1.1. HTML5, al contrario, rappresenta un limite non superabile né estensibile, perché di fatto condivide gli elementi XHTML ma non dà regole grammaticali (espresse nella DTD, appunto) chiaramente riscontrabili.
Così il fatto che adesso una lista ordinata accetta di nuovo l'attributo start
è espresso nel testo delle specifiche, non nell'ATTLIST
della DTD. Il fatto è che i browser non hanno mai utilizzato la DTD per validare la marcatura di una pagina, così si è deciso di creare un DOCTYPE senza DTD.
Sembra quasi che gli implementatori di HTML5 abbiano detto: "Il popolo non usa le DTD, non capisce il Web semantico, scrive pagine non valide, non sa nulla delle regole formali di XML, dunque creiamo qualcosa che anche il più rozzo autore potrebbe usare senza difficoltà ". Ma è proprio così?
Nonostante io usi, testi e ami HTML5, l'impressione che ho è che si sia operato un livellamento al minimo comun denominatore, soprattutto per quanto riguarda l'aspetto formale e semantico. Condividete questa mia opinione?