2 Introduzione all'HTML 4.0

Argomenti

  1. Che cos'è il World Wide Web?
    1. Introduzione agli URI
    2. Identificatori di frammento
    3. URI relativi
  2. Che cosa è l'HTML?
    1. Breve storia dell'HTML
  3. HTML 4.0
    1. Internazionalizzazione
    2. Accessibilità
    3. Tabelle
    4. Documenti composti
    5. Fogli stile (Style sheets)
    6. Scripting
    7. Stampa
  4. Creare documenti con HTML 4.0
    1. Separare la struttura dalla presentazione
    2. Considerare l'accessibilità universale al Web
    3. Facilitare gli interpreti HTML con la visualizzazione incrementale

2.1 Che cos'è il World Wide Web?

Il World Wide Web (Web) è una rete di risorse di informazioni. Il Web si basa su tre meccanismi per rendere queste risorse prontamente disponibili all'audience più vasta possibile:

  1. Uno schema di attribuzione dei nomi uniforme per la collocazione delle risorse sul Web (ad es. gli URI).
  2. Protocolli, per l'accesso alle risorse sul Web (ad es. HTTP).
  3. Ipertesti, per una facile navigazione tra le risorse (ad es. HTML).

I collegamenti tra questi tre meccanismi sono spiegati in questa specifica.

2.1.1 Introduzione agli URI

Ogni risorsa disponibile sul Web -- documenti HTML, immagini, videoclip, programmi, ecc. -- ha un indirizzo che può essere codificato da un Identificatore di Risorsa Universale (Universal Resource Identifier), o "URI".

Gli URI consistono generalmente di tre parti:

  1. Lo schema di attribuzione dei nomi del meccanismo usato per accedere alla risorsa.
  2. Il nome della macchina su cui è la risorsa.
  3. Il nome della risorsa stessa, dato come un percorso ("path").

Si consideri l'URI che designa la specifica HTML che si sta leggendo:


   http://www.w3.org/TR/REC-html40

Questo URI può leggersi come segue: c'è un documento raggiungibile usando il protocollo HTTP (si veda [RFC2068]), che risiede nella macchina www.w3.org, accessibile seguendo il percorso "/TR/REC-html4/". Altri schemi che possono trovarsi in documenti HTML includono "mailto" per la posta elettronica ("email") ed "ftp" per FTP.

Ecco un altro esempio di URI. Questo si riferisce alla casella di posta ("mailbox") di un utente:


   ...questo è testo...

   Per commenti, mandare una email a  

   <A href="mailto:joe@someplace.com">Joe Cool</A>.

Nota. Molti lettori potrebbero avere più familiarità con il termine "URL" anziché col termine URI. Gli URL sono un sottinsieme dello schema di attribuzione dei nomi URI, che è più generale.

2.1.2 Identificatori di frammento

Alcuni URI si riferiscono ad una locazione dentro ad una risorsa. Questo tipo di URI finiscono con un "#" seguito da un identificatore di riferimento (chiamato l'identificatore di frammento). Ad esempio, ecco l'URI che punta ad un riferimento chiamato paragrafo_2:


http://somesite.com/html/top.html#paragrafo_2

2.1.3 URI relativi

Un URI realtivo non contiene nessuna informazione relativa allo schema di attribuzione dei nomi. Il suo percorso si riferisce, generalmente, ad una risorsa sulla stessa macchina che ospita il documento corrente. Gli URI relativi possono contenere pezzi di percorsi relativi (ad es. ".." significa un livello superiore nella gerarchia definita dal percorso), e possono contenere identificatori di frammento.

Gli URI relativi sono trasformati in URI completi usando un URI di base. Come esempio di questa trasformazione, si supponga di avere l'URI di base "http://www.acme.com/support/intro.html". L'URI relativo nella seguente marcatura per un collegamento ipertestuale:


   <A href="suppliers.html">Suppliers</A>

sarà espanso nell'URI completo "http://www.acme.com/support/suppliers.html", mentre l'URI relativo nella seguente marcatura per un'immagine


   <IMG src="../icons/logo.gif" alt="logo">

sarà espanso nell'URI completo "http://www.acme.com/icons/logo.gif".

In HTML, gli URI sono usati per:

Per maggiori informazioni sul tipo degli URI si faccia riferimento al paragrafo relativo.

2.2 Che cosa è l'HTML?

Per pubblicare informazioni da distribuire a livello globale, si ha bisogno di un linguaggio universalmente riconosciuto, una sorta di madre lingua editoriale, che tutti i computer possano potenzialmente capire. Il linguaggio editoriale usato sul World Wide Web è l'HTML (da HyperText Markup Language).

HTML dà agli autori il modo di:

2.2.1 Breve storia dell'HTML

L'HTML fu originariamente sviluppato da Tim Berners-Lee quando lavorava al CERN, e fu reso popolare dal navigatore (o "browser") Mosaic sviluppato dalla NCSA. Nel corso degli anni '90 è cresciuto in maniera esplosiva sul Web. Durante questo periodo l'HTML è stato esteso in diversi modi. Il Web dipende dal fatto che gli autori di pagine Web e i produttori condividono le stesse convenzioni per l'HTML. Questo ha motivato il lavoro congiunto sulla specifica per l'HTML.

L'HTML 2.0 (novembre 1995, si veda [RFC1866]) fu sviluppato sotto l'egida della Internet Engineering Task Force (IETF) per codificare ciò che era uso comune verso la fine del 1994. Con l'HTML+ (1993) e l'HTML 3.0 (1995, si veda [HTML30]) si proposero versioni dell'HTML più ricche. Nonostante non abbiano mai ricevuto consensi in ambito di discussioni sugli standard, queste bozze portarono all'adozione di una varietà di nuove caratteristiche. Gli sforzi del gruppo di lavoro sull'HTML del World Wide Web Consortium per la codifica di ciò che era uso comune nel 1996, portarono all'HTML 3.2 (gennaio 1997, si veda [HTML32]). I cambiamenti dalla versione HTML 3.2 sono riassunti nell'Appendice A.

Molte persone concordano sul fatto che i documenti HTML dovrebbero funzionare bene con navigatori differenti e su differenti piattaforme. Avere "interoperabilità" abbassa i costi dei fornitori di informazione dal momento che questi devono sviluppare solo una versione di un documento. Se questo sforzo non fosse fatto, ci sarebbe il forte rischio che il Web diventi un mondo proprietario di formati incompatibili, così che, alla fine, il potenziale commerciale del Web sarebbe ridotto per tutti.

Ciascuna versione dell'HTML ha tentato di riflettere un sempre maggior consenso tra i partecipanti dell'industria, così che gli investimenti fatti dai fornitori d'informazione non siano sprecati e che i loro documenti non divengano illegibili in breve tempo.

L'HTML è stato sviluppato con l'idea che tutti i tipi di media dovrebbero esser capaci di usare l'informazione presente sul Web: PC con schermi grafici a differente risoluzione e profondità di colore, telefoni cellulari, strumenti tascabili, mezzi per comunicazione vocale, computer con banda alta o bassa, e così via.

2.3 HTML 4.0

L'HTML 4.0 estende l'HTML con meccanismi per fogli di stile, scripting, frame, inclusione di oggetti, supporto migliorato per testo da destra a sinistra, o testo in direzioni miste, tabelle più ricche, e migliora i moduli, offrendo anche una miglior possibilità di accesso a persone disabili.

2.3.1 Internazionalizzazione

Questa versione dell'HTML è stata progettata con l'aiuto di esperti nel campo dell'internazionalizzazione, così che i documenti possono essere scritti in ogni lingua ed essere facilmente trasportati in giro per il mondo. Questo è stato possibile incorporando [RFC2070], che ha a che fare con l'internazionalizzazione dell'HTML.

Un passo importante è stato l'adozione dello standard ISO/IEC:10646 (si veda [ISO10646]) come insieme dei caratteri per i documenti HTML. Questo è lo standard mondiale che include più caratteri, con indicazioni su come rappresentare caratteri internazionali, direzione del testo, punteggiatura, ed altre indicazioni su lingue internazionali.

L'HTML supporta adesso più lingue nello stesso documento. Questo permette una migliore indicizzazione dei documenti, una qualità tipografica maggiore, una miglior conversione da-testo-a-parlato, miglior trattinatura, ecc.

2.3.2 Accessibilità

Con il crescere della comunità Web, e la diversificazione delle capacità dei suoi membri, è importante che le tecnologie siano appropriate ai nuovi bisogni. L'HTML è stato pensato per rendere le pagine Web più accessibili a coloro che sono fisicamente impediti. Gli sviluppi dell'HTML 4.0 ispirati da considerazioni sull'accessibilità includono:

Gli autori che creino pagine pensando all'acessibilità non riceverrano solo i ringraziamenti della comunità dell'accessibilità, ma saranno beneficiati anche per altre vie: i documenti HTML ben progettati, che distinguono tra struttura e presentazione, si adatteranno più facilmente alle nuove tecnologie.

Nota. Per maggiori informazioni sul progetto accessibile di documenti HTML si veda [WAIGUIDE].

2.3.3 Tabelle

Il nuovo modello per le tabelle in HTML è basato su [RFC1942]. Gli autori, adesso, hanno un maggior controllo su struttura e formato (ad es. gruppi di colonne). La possibilità per i progettisti di consigliare l'ampiezza delle colonne permette all'interprete HTML di visualizzare le tabelle dei dati in maniera incrementale (via via che gli arrivano) piuttosto che aspettare l'intera tabella prima di visualizzarla.

Nota. Quando si scrive, alcuni mezzi di creazione di pagina HTML fanno uso estensivo di tables per la formattazione, e questo può facilmente causare problemi di accessibilità.

2.3.4 Documenti composti

L'HTML adesso offre un meccanismo standard per l'inclusione di oggetti generici e applicazioni nei documenti HTML. L'elemento OBJECT (insieme con i suoi elementi antenati più specifici IMG e APPLET) fornisce un meccanismo per includere immagini, video, suoni, formule, applicazioni specifiche, ed altri oggetti in un documento. Inoltre, esso permette all'autore di specificare una gerarchia di visualizzazioni alternative per quegli interpreti HTML che non supportano una specifica visualizzazione.

2.3.5 Fogli di stile (Style sheets)

I fogli di stile semplificano l'HTML e lo sollevano dalle responsabilità della presentazione. Essi danno, sia all'autore che all'utente, controllo sulla presentazione dei documenti -- informazioni sui font, colori, ecc.

Le informazioni di stile possono essere specificate per elementi individuali, o per gruppi di elementi. Queste informazioni possono essere specificate in un documento HTML o in un foglio di stile esterno.

Il meccanismo per associare un foglio di stile ad un documento è indipendente dal linguaggio del foglio di stile.

Prima dell'avvento dei fogli di stile, gli autori avevano un controllo limitato sulla visualizzazione. L'HTML 3.2 aveva un certo numero di attributi e di elementi che permettevano di controllare l'allineamento, la grandezza dei font ed il colore del testo. Gli autori usavano anche tabelle e immagini per stabilire il formato delle pagine. Il tempo relativamente lungo che gli utenti impiegano per aggiornare i loro lettori significa che queste caratteristiche continueranno ad essere usate per un certo tempo. Tuttavia, poiché i fogli di stile offrono un meccanismo di presentazione più potente, alla fine il World Wide Web Consortium escluderà diversi elementi ed attributi di presentazione dell'HTML. In questa specifica, gli elementi e gli attributi a rischio sono marcati con "disapprovato". Essi sono accompagnati da esempi su come ottenere lo stesso effetto con altri elementi o fogli di stile.

2.3.6 Scripting

Attraverso gli script, gli autori possono creare pagine Web dinamiche (ad es. "moduli intelligenti" che reagiscono mentre l'utente li riempie) ed usare l'HTML come mezzo per la costruzione di applicazioni in rete.

I meccanismi forniti per includere script in HTML sono indipendenti dal linguaggio di scripting.

2.3.7 Stampa

A volte gli autori vorranno rendere la vita facile a quegli utenti che vogliono stampare più del documento corrente. Quando i documenti formano parte di un lavoro più grande, le relazioni tra loro possono essere descritte usando l'elemento HTML LINK o usando il linguaggio del W3C Linguaggio Descrittivo della Risorsa (Resource Description Language) (RDF) (si veda [RDF]).

2.4 Creare documenti con HTML 4.0

Si raccomanda che gli autori e gli implementatori osservino i seguenti principi generali nell'utilizzo di HTML 4.0.

2.4.1 Separare la struttura dalla presentazione

L'HTML ha le sue radici nell'SGML che è sempre stato un linguaggio per la specifica di marcature strutturali. Col maturare dell'HTML, i suoi elementi di presentazione sono via via sostituiti con altri meccanismi, in particolare coi fogli di stile. L'esperienza ha mostrato che separare la struttura di un documento dagli aspetti relativi alla sua presentazione riduce il costo di servire un'ampia gamma di piattaforme, mezzi, ecc., e facilita la revisione dei documenti.

2.4.2 Considerare l'accessibilità universale al Web

Per rendere il Web più accessibile a tutti, e in particolare ai disabili, gli autori dovrebbero tenere in conto come i loro documenti possano essere resi su una varietà di piattaforme: lettori basati sulla voce, lettori Braille, ecc. Non si raccomanda agli autori di limitare la propria creatività ma solo di considerare visualizzazioni alternative nei loro progetti. L'HTML offre un bel numero di meccanismi per questo scopo (ad es. l'attributo alt, l'attributo accesskey, ecc.)

Inoltre, gli autori dovrebbero tenere in mente che i loro documenti possono arrivare ad una audience lontana con computer diversi. Affinché i documenti siano bene interpretati, gli autori dovrebbero includere nei propri documenti informazioni sul linguaggio naturale e sulla direzione del testo, come il documento è codificato, ed altre informazioni relative alla internazionalizzazione.

2.4.3 Facilitare gli interpreti HTML con la visualizzazione incrementale

Progettando attentamente le tabelle, ed usando le nuove caratteristiche delle tabelle dell'HTML 4.0, gli autori possono aiutare gli interpreti HTML a visualizzare i documenti più velocemente. Gli autori possono imparare come progettare le tabelle per la visualizzazione incrementale (si veda l'elemento TABLE). Gli implementatori dovrebbero consultare la nota sulle tabelle nell'appendice per informazioni sugli algoritmi incrementali.