La struttura di un documento XHTML

Il linguaggio XHTML si presenta allo sviluppatore di pagine Web come linguaggio di marcatura, e come tale prevede l’uso di particolari “etichette”, chiamate Tag o Elementi deputate ad identificare porzioni di documento (testo, elementi grafici, elementi multimediali…) e ad assegnare loro informazioni di tipo strutturale, semantico e presentazionale.

Ciascun tag può quindi essere visto come un mattone del linguaggio di markup e condivide con tutti gli altri mattoni una grammatica di base: un generico elemento è composto da:

  • Nome, che ne identifica il tipo e la funzionalità
  • Attributi, cioè uno o più valori associati agli elementi (facoltativo)
  • Contenuto, per esempio un paragrafo di testo (facoltativo)

In particolare, XHTML è una combinazione di HTML ed XML, nel senso che XHTML consiste di tutti gli elementi dell’HTML 4.01 combinati con la rigida sintassi caratteristica di XML; alcuni User Agent per cellulari o palmari non sono in grado di interpretare adeguatamente un linguaggio di markup scorretto, ma una pagina XHTML verrà letta correttamente da ogni device in grado di leggere XML.

L’XHTML offre così la possibilità di costruire adesso documenti validi (nel senso di “XML valid”) in grado di funzionare in tutti i browser ed anche ragionevolmente compatibili all’indietro.

Per completezza riportiamo le principali differenze tra HTML ed XHTML:

  • Gli elementi XHTML devono essere opportunamente innestati
  • I documenti XHTML devono essere well-formed
  • I nomi dei tag devono essere scritti in minuscolo
  • Tutti i tag XHTML devono essere chiusi

In questo articolo vogliamo però mettere l’accento su alcuni concetti fondamentali per la comprensione e l’applicazione pratica della filosofia che sta alla base dei linguaggi di marcatura, concetti che riguardano:

  • Contenuto: si tratta delle informazioni che il documento comunica all’utente (testo, immagini,   suono, filmati, animazioni…)
  • Struttura: è l’organizzazione logica del contenuto. Le informazioni che contiene possono essere strutturate in introduzione, capitoli, paragrafi. E’ alla base della nascita di un’applicazione di qualità, e va attentamente progettata.
  • Presentazione: è il modo in cui un documento è visualizzato all’utente, ed in cui i suoi contenuti vengono presentati su schermo, stampati, oppure letti da un sintetizzatore vocale tramite uno screen reader.

Un documento correttamente strutturato deve avere i contenuti ordinati e gerarchizzati: gli screen reader – per esempio – consentono di esplorare una pagina saltando da un titolo (h1..h6) all’altro, da un link all’altro, da un campo modulo ad un altro; inoltre altre funzioni avvertono l’utente sul tipo di Tag che sta per essere “letto” (paragrafo, lista, tabella…). Allora, soltanto la presenza di contenuti strutturati correttamente permetterà all’utente non vedente di farsi un’idea della pagina simile a quella che i vedenti riescono a ricavare dall’esame visuale; senza un’adeguata marcatura, la struttura logica rimarrà celata e sarà difficile per chi non vede comprendere la relazione tra le varie parti che compongonola pagina. Ribadiamo però che buona strutturazione dei contenuti e criteri di presentazione adeguati sono indispensabili per tutti gli utenti, basti pensare ai fogli di stile che necessitano, per la loro corretta e piena applicazione, di documenti X-HTML ben progettati e correttamente strutturati.

Strutturare un documento vuol dire marcare strutturalmente i blocchi di testo che lo compongono; alla prima lettura quest’affermazione può sembrare banale e scontata, mentre invece quello che intende comunicare agli sviluppatori è la natura stessa dell’HTML: L’HTML è un linguaggio di marcatura strutturale sin dalle origini, nato proprio con lo scopo di suddividere un contenuto – per esempio testuale – in una serie di blocchi organizzati in base a gerarchie e relazioni di appartenenza. Solamente in un secondo momento c’è stata l’esplosione dei formati proprietari che ne ha snaturato i principi. Ricordiamo che gli elementi html, head, title e body devono essere necessariamente presenti e bene annidati in ogni pagina XHTML.

I tag potenzialmente in grado di conferire struttura e gerarchia ai contenuti di una pagina XHTML sono molti. Quel che nella sostanza si registra, e che forse rappresenta anche un limite di XHTML, è che quelli più utilizzati sono relativamente pochi, e non brillano certo per elasticità:

  • h1h6   per marcare i titoli e le intestazioni
  • p per marcare i paragrafi
  • table per le tabelle di dati (ma largamente usato, spesso abusato, per impostare i layout grafici)
  • ol, ul, dl per definire le liste
  • div per marcare aree e porzioni significative di codice

XHTML 2 proverà ad offrire più elasticità, per esempio nelle intestazioni che non saranno più legate a soli 6 livelli

 

Potrebbero interessarti anche i seguenti articoli

  • Emulare le immagini mappate con i CSSEmulare le immagini mappate con i CSS L'esempio La pagina di esempio, se visitata con un browser in grado di supportare i CSS, presenta una semplice immagine con quattro aree distinte. Ad ogni […]
  • Tag Soup? No, grazie!!!Tag Soup? No, grazie!!! Il Tag Soup è un fenomeno tipico delle pagine Web create prevalentemente da sviluppatori hobbisti o semi-professionisti ed è rappresentato dalla presenza di […]
  • Guida alle Mappe ImmagineGuida alle Mappe Immagine Questo articolo affronta le problematiche legate alla creazione di mappe immagine, ed alle alternative che uno sviluppatore si trova davanti. Il tutto, […]
  • 4 – Le mappe cognitive4 – Le mappe cognitive Durante le tre fasi "umane" descritte in precedenza, ed in generale durante un qualsiasi processo di apprendimento, l’utente apprende il funzionamento dell’applicazione […]
  • Creare codice standard con Microsoft FrontpageCreare codice standard con Microsoft Frontpage Questo articolo descrive come incrementare la qualità delle pagine HTML/XHTML integrando HTML Tidy in Microsoft FrontPage 2000 or 2002 (Office XP). Si tratta di una […]
Condividi:

Informazioni sull'autore

Roberto Castaldo
Roberto Castaldo
Sono nato e vivo a Napoli, ed opero professionalmente nel mondo dell'informatica da più di vent'anni. In realtà l'informatica, insieme alla musica e ad altre poche cose, è stato da sempre un mio chiodo fisso, e la buona sorte mi ha aiutato a trasformarlo in un mestiere. Sin dalle mie primissime esperienze lavorative - insegnavo dattilografia ed i primi rudimenti di informatica in una scuola privata - mi sono trovato a mio agio nel settore della formazione e della divulgazione, certamente aiutato dai miei studi classici. Nel 1987 ho iniziato la mia attività come insegnante d'informatica in un Istituto Professionale Statale - per circa due anni sono stato il più giovane insegnante di ruolo d'Italia. Ho avuto svariate esperienze anche nel settore privato come sviluppatore (TPascal - lo ricordate? - VB, ASP e, più di recente VB.NET ed ASP.NET), ma soprattutto come docente e come divulgatore. Ho effettuato attività di formazione presso le più grandi realtà imprenditoriali italiane (IBM, Omnitel, Telecom Italia, TIM, Unicredito, Ekip, BNL, SSGRR), ma anche all'estero in qualità di docente e/o progettista di percorsi formativi; gli argomenti spaziano dal mondo Office fino al multimedia ed alla programmazione avanzata ASP ed ASP.NET. Ho collaborato con l'Istituto Italiano per gli Studi Filosofici di Napoli, ho redatto articoli/tutorial per un'importante rivista informatica (Win98 Magazine), ed ho partecipato allo sviluppo di CD-Rom Multimediali (IBM, Selfin, BNL) curando personalmente la registrazione dei commenti audio ed il montaggio delle musiche (CoolEdit), l'eventuale connessione a database remoti, l'assemblaggio degli elementi testuali, grafici e multimediali (Director 8) fino alla creazione del master definitivo. Negli anni 1998-2000 ho collaborato con la Gazzetta dello Sport Online curando, in occasione dei più importanti avvenimenti sportivi (Mondiali ed Europei di calcio, Giro d'Italia, Campionato di Serie A) le pagine contenenti la traduzione in inglese e francese degli articoli in italiano. Il mio compito consisteva nell'inviare ai miei traduttori la cronaca in italiano, riceverne la traduzione, creare le pagine inglesi e francesi del sito www.gazzetta.it e pubblicarle sul server, il tutto entro 90 minuti dalla fine dell'evento. Nel frattempo, mi avvicinavo in maniera sempre più approfondita alle problematiche legate all'accessibilità di siti web, progettando percorsi di formazione ad hoc, ed aderendo entusiasticamente al progetto webaccessibile.org. Sono stato per diversi mesi membro del XML Protocol Working Group del W3C, ed attualmente partecipo ai lavoro del WAI Web Content Accessibility Guidelines (WCAG) Working Group e del E&O Education ad Outreach Working Group.

Commenti

Nessun commento

    Rispondi

    Link e informazioni