Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Le novità di XHTML 2.0

Le principali novità introdotte dall'XHTML 2.0
Le principali novità introdotte dall'XHTML 2.0
Link copiato negli appunti

Il 5 agosto scorso sul sito del W3C è stato reso pubblico il primo Working Draft di XHTML 2.0. Si tratta, ovviamente, del primo stadio del processo che in genere porta al rilascio della specifica ufficiale di un linguaggio: come tale va preso. Molte cose potranno cambiare, alcuni aspetti non sono ancora chiari, altri non sono neppure allo stato di bozza. Nonostante tutto, è interessante dare uno sguardo alle principali novità di quello che un giorno potrebbe diventare il linguaggio standard per la produzione di pagine web. La direzione pare infatti abbastanza definita e alcuni punti fermi sono senz'altro degni di attenzione.

Modularità

XHTML 2.0 va sempre più acquisendo una struttura modulare. Non un linguaggio omnicomprensivo e valido per tutti gli usi, ma un insieme di moduli basati anche su altre specifiche e linguaggi XML da caricare secondo le necessità con il meccanismo dei namespace XML. È il caso, ad esempio, di forms e frames. La definizione di questi elementi è ora contenuta in due specifiche del W3C, XForms e XFrames rispettivamente. Relativamente a quest'ultima, le promesse del W3C sembrano davvero interessanti. A giudicare dal primo Working Draft molti dei problemi che hanno talvolta sconsigliato o reso complicato l'uso di questo elemento, dovrebbero finalmente trovare una soluzione: bookmark più semplici ed efficaci, supporto per i motori di ricerca, migliore gestione del refresh delle pagine. Staremo a vedere.

Più struttura, meno presentazione

Se c'è un aspetto di questo Working Draft che pare assodato e non suscettibile di cambiamenti è che XHTML 2.0 sarà sempre più un linguaggio destinato a definire solo e soltanto la struttura di un documento, abbandonando definitivamente l'uso del markup per realizzare la presentazione della pagina. Vediamo rapidamente le principali novità.

Sezioni e titoli

Un tempo usavamo <h1>: forse diremo così ai nostri nipotini. I tag di titolazione (<h1>....<h6>) sono stati da sempre usati per definire le varie sezioni e sottosezioni di un documento. A ben vedere, però, essi non indicano esplicitamente l'inizio di una particolare sezione. Semplicemente definiscono un tipo particolare di formattazione del testo che ci fa capire che in quel punto inizia una parte di un documento. XHTML 2.0 non considera (ancora) deprecati i tag <hn>, ma introduce due nuovi elementi atti a definire in maniera precisa le sezioni del nostro documento. Il primo è <section>, semplice elemento contenitore. Il secondo è un generico elemento che definisce il titolo della sezione: <h>.

Quanto la mancanza in HTML di un elemento come <section> sia forte la potete notare dando un'occhiata al codice di molte pagine che vi capita di visitare: ogni tanto trovate delle righe commentate con indicazioni tipo:"Inizio barra menu" o "Inizio contenuto principale". I web-designer più avveduti usano tali indicazioni proprio per definire le sezioni e in mancanza di un meccanismo esplicito nel linguaggio che usano. Ecco come potrebbe presentarsi, rispetto al passato, un tipico documento XHTML:

<html>
<head><title>Sezioni</title></head>
<body>
<section>
<h>Sezioni in XHTML 2.0</h>
<p>blah blah blah.....</p>
<section>
<h>Addio H1</h>
<p>blah blah blah.....</p>
</section>
</section>
</body>
</html>

È ovvio che ogni sezione potrà avere il suo ID o la sua classe, in modo da definirne gli stili con l'uso dei CSS.

Passiamo ora a descrivere il nuovo elemento <nl> e alla gestione di immagini, oggetti e link.

Nuovo elemento interessantissimo è <nl>. Sta per Navigation List ed andrà ad affiancare i "classici" <ol>, <ul> e <dl>. Con l'introduzione di <nl> il W3C intende colmare un gap davvero importante: realizzare in maniera semplice strutture di navigazione gerarchiche complesse e interattive. Oggi è possibile realizzarle solo con complicati menu dinamici in Javascript. Domani saranno una feature incorporata nel linguaggio. Vediamo di cosa si tratta e come funziona:

<nl>
<name>Le sezioni di ProHtml.it</name>
<li href="grafica.html">Grafica</li>
<nl>
<name>Sotto sezione grafica</name>
<li href="photoshop.html">Photoshop</li>
<li href="fireworks.html">Fireworks</li>
</nl>
</nl>

Il meccanismo non è ancora chiarissimo, ma dovrebbe funzionare così: i vari elementi della lista (contrassegnati con il tag <li>) non sono inizialmente visibili. Cliccando sull'elemento <name> si apre un sottomenu con le varie voci. Dall'esempio si comprende come sia possibile realizzare strutture nidificate e con diverse sotto-liste. Insomma, cose già viste e straviste, ma finalmente facili e chiare.

Immagini e oggetti

Una delle novità davvero rilevanti è anche l'addio al tag <img>. D'ora in poi tutti gli oggetti esterni incorporati nella pagina saranno definiti dall'elemento <object>. Niente di nuovo per certi versi: lo usiamo già per inserire filmati Flash, per esempio, e <object> supporta già oggi le immagini. La novità è appunto che ora è questo il solo metodo possibile per arricchire le nostre pagine di belle foto. La sintassi è questa:

<object data="immagine.jpg" type="image/jpg">
Una bella immagine
</object>

Il testo contenuto nei tag di apertura e chiusura ha la stessa funzione svolta oggi dall'attributo "alt".

La definizione e gestione dei collegamenti ipertestuali è oggi uno dei punti più discussi nella comunità degli svilupaptori che lavorano con il W3C. Ricapitoliamo. XHTML 1.0 ha sancito la definizione di HTML come linguaggio basato su XML. Esiste, in ambito XML, un linguaggio destinato alla gestione dei collegamenti tra documenti: si chiama XLink. Bene: di XLink nel Working Draft del 5 agosto non c'è traccia. La specifica destinata allo scopo per XHTML si chiama invece HLink, il modulo che definisce in pratica ciò che in XHTML può essere link e cosa no (perdonate la semplificazione brutale di questioni complicate). Vedremo gli sviluppi. Per ora una novità di grande impatto è presente nel Working Draft. L'attributo "href" fa ora parte degli attributi definiti nella Common Attribute Collection. Sono quelli, come id o class, che possono riferirsi a qualunque elemento. Finora era possibile usarlo solo con il tag <a>. Cosa comporta? Semplice:

<li href="photoshop.html">Photoshop</li>

Ogni elemento può diventare un link senza l'uso del tag <a>.

Line-break e altro

Concludiamo con altre novità. Sempre nella prospettiva di abbandonare ogni elemento legato alla presentazione, in XHTML 2.0 vengono aboliti gli elemento <b> ed <i> in favore di <strong> e <em>. Nuovo anche il modo di impostare la creazione di una nuova riga di testo senza impostare un nuovo paragrafo. Il tag <br> è ora considerato deprecato. Al suo posto il nuovo elemento <line>. Ecco le differenze nel codice:

<p>
Prima riga<br />
Seconda riga<br />
Terza riga<br />
</p>
<p>
<line>Prima riga</line>
<line>Seconda riga</line>
<line>Terza riga</line>
</p>

Risorse

Ti consigliamo anche