2 Introduzione ad HTML 4

Sommario

  1. Cos'è il World Wide Web?
    1. Introduzione agli URI
    2. Identificatori di frammento
    3. URI relativi
  2. Cos'è l'HTML?
    1. Una breve storia dell'HTML
  3. HTML 4
    1. Internazionalizzazione
    2. Accessibilità
    3. Tabelle
    4. Documenti composti
    5. Fogli di stile
    6. Scripting
    7. Stampa
  4. Creare documenti con HTML 4
    1. Separare la struttura dalla presentazione
    2. Tenere in considerazione l'accessibilità universale al Web
    3. Aiutare i programmi utente con l'esecuzione incrementale

2.1 Cos'è il World Wide Web?

Il World Wide Web (Web) è una rete di risorse informative. Il Web fa affidamento su tre meccanismi che rendono queste risorse prontamente disponibili al più ampio pubblico possibile:

  1. Uno schema uniforme di nomenclatura per localizzare le risorse sul Web (es.: gli URI).
  2. Dei protocolli, per accedere attraverso il Web alle risorse invocate (es.: HTTP).
  3. Un ipertesto, per una facile navigazione tra le risorse (es.: HTML).

Le relazioni tra i tre meccanismi diventeranno chiare nel corso di queste specifiche.

2.1.1 Introduzione agli URI

Ogni risorsa disponibile sul Web -- un documento HTML, un'immagine, un filmato, un programma, ecc. -- ha un indirizzo che può essere codificato per mezzo di un Identificatore Universale di Risorsa o "URI".

Gli URI si compongono tipicamente di tre parti:

  1. Il sistema di denominazione del meccanismo utilizzato per accedere alla risorsa.
  2. Il nome della macchina che ospita la risorsa.
  3. Il nome della risorsa stessa, dato come un percorso.

Si consideri l'URI che specifica la pagina delle Relazioni tecniche del W3C:

   http://www.w3.org/TR

Questo URI può essere letto come segue: c'è un documento disponibile via protocollo HTTP (si veda [RFC2616]), che risiede sulla macchina www.w3.org ed è accessibile attraverso il percorso "/TR". Altri sistemi che è possibile incontrare nei documenti HTML includono "mailto" per la posta elettronica e "ftp" per FTP.

Ecco un altro esempio di URI. Questo si riferisce alla casella postale di un utente:

   ...questo è testo...
   Per qualsiasi commento, inviate per favore un messaggio a
   <A href="mailto:beppe@qualcheposto.com">Beppe Fresco</A>.

Nota. La maggior parte dei lettori può avere familiarità con il termine "URL" e non con il termine "URI". La forma URL è un sottoinsieme del più generale sistema di denominazione URI.

2.1.2 Identificatori di frammento

Alcuni URI si riferiscono ad una locazione all'interno di una risorsa. Questo tipo di URI termina con "#" seguito da un identificatore di ancora (definito l'identificatore di frammento). Ad esempio, ecco un URI che punta ad un'ancora chiamata sezione_2:

http://uncertosito.com/html/alto.html#sezione_2

2.1.3 URI relativi

Un URI relativo non contiene alcuna informazione sullo schema di denominazione. Il suo percorso fa riferimento generalmente a una risorsa presente sulla stessa macchina del documento corrente. Gli URI relativi possono contenere componenti di percorso (ad es., ".." specifica un livello su nella gerarchia definita dal percorso) e possono contenere identificatori di frammento.

Gli URI relativi sono risolti in URI completi usando un URI di base. Come esempio di risoluzione di un URI relativo, assumiamo di avere come URI di base "http://www.acme.com/supporto/intro.html". L'URI relativo nel seguente codice di marcatura per un collegamento ipertestuale:

   <A href="fornitori.html">Fornitori</A>

si espanderebbe nell'URI completo "http://www.acme.com/supporto/fornitori.html", mentre l'URI relativo nel seguente codice di marcatura per un'immagine

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

si espanderebbe nell'URI completo "http://www.acme.com/icone/logo.gif".

In HTML, gli URI sono usati per:

Si consulti la sezione sul tipo URI per maggiori informazioni sugli URI.

2.2 Cos'è l'HTML?

Per pubblicare informazioni destinate ad una distribuzione globale, è necessario usare un linguaggio universalmente compreso, una specie di madre lingua per l'editoria che tutti i computer siano in grado potenzialmente di comprendere. Il linguaggio di pubblicazione usato dal World Wide Web è l'HTML (da HyperText Markup Language [linguaggio di marcatura ipertestuale]).

L'HTML dà agli autori i mezzi per:

2.2.1 Una breve storia dell'HTML

L' HTML fu sviluppato in origine da Tim Berners-Lee mentre si trovava al CERN, e reso popolare dal browser Mosaic, sviluppato presso la NCSA. Nel corso degli anni '90 si è imposto grazie alla crescita esplosiva del Web. Durante questo tempo l'HTML è stato ampliato in molti modi. Il Web poggia sul fatto che autori di pagine Web e rivenditori condividono le medesime convenzioni per quanto riguarda l'HTML. Ciò ha motivato un lavoro congiunto sulle specifiche dell'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 ormai nell'uso comune alla fine del 1994. L'HTML+ (1993) e HTML 3.0 (1995, si veda [HTML30]) proposero versioni molto più ricche dell'HTML. A dispetto del fatto di non aver mai ricevuto consensi nelle discussioni sugli standard, queste bozze di lavoro hanno portato all'adozione di una varietà di nuove caratteristiche. Gli sforzi del Gruppo di lavoro su HTML all'interno del World Wide Web Consortium, per codificare ciò che era d'uso comune nel 1996, sfociarono nell'HTML 3.2 (Gennaio 1997, si veda [HTML32]). Le modifiche rispetto alla versione 3.2 dell'HTML sono riassunte nell'Appendice A.

Si ritiene comunemente che i documenti HTML dovrebbero essere fruiti altrettanto bene con browser e piattaforme differenti. Raggiungere l'interoperabilità abbatte i costi per i fornitori di contenuti, dal momento che essi devono sviluppare un'unica versione di ciascun documento. Se questo sforzo non viene fatto, il rischio più grande è che il Web possa degenerare in un mondo di formati proprietari reciprocamente incompatibili, riducendo infine il potenziale commerciale del Web per tutti i partecipanti.

Ogni versione dell'HTML ha tentato di portare maggiore accordo tra gli operatori dell'industria, per far sì che gli investimenti fatti dai fornitori di contenuti non finiscano sprecati e che i loro documenti non diventino illegibili nel giro di poco tempo.

L'HTML è stato sviluppato con l'idea che ogni tipo di dispositivo dovrebbe essere in grado di utilizzare le informazioni presenti sul Web: i PC con schermi grafici di varie risoluzioni e profondità del colore, i telefoni cellulari, i palmari, i sintetizzatori vocali, i computer dotati di connessioni veloci e quelli con connessioni lente, e così via.

2.3 HTML 4

L'HTML 4 estende le possibilità dell'HTML con meccanismi per i fogli di stile, lo scripting, i frame, gli oggetti incorporati, con un miglior supporto per la scrittura da destra verso sinistra e per quella a direzione mista, con tabelle più ricche e miglioramenti ai moduli, con l'offerta di una maggiore accessibilità per le persone affette da disabilità.

L'HTML 4.01 è una revisione dell'HTML 4.0 che corregge alcuni errori ed opera dei cambiamenti rispetto alla precedente revisione.

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 una qualsiasi lingua ed essere facilmente trasportati in ogni parte del mondo. Ciò è stato ottenuto incorporando [RFC2070], che tratta appunto dell'internazionalizzazione dell'HTML.

Un passo importante ha rappresentato l'adozione dello standard ISO/IEC:10646 (si veda [ISO10646]) quale insieme di caratteri per i documenti in HTML. Si tratta dello standard più comprensivo in assoluto in fatto di rappresentazione dei caratteri internazionali, direzione del testo, punteggiatura, e per questioni connesse all'uso della lingua nel mondo.

L'HTML offre ora un maggior supporto per le diverse lingue naturali usate all'interno di un documento. Ciò consente una più efficace indicizzazione dei documenti da parte dei motori di ricerca, una qualità tipografica superiore, una migliore conversione da testo a parlato, una migliore divisione in sillabe delle parole, ecc.

2.3.2 Accessibilità

Nella misura in cui la comunità del Web si allarga e i suoi membri si diversificano per capacità e competenze, assume cruciale importanza il fatto che le sottostanti tecnologie siano appropriate agli specifici bisogni dei loro utilizzatori. L'HTML è stato progettato per rendere le pagine Web più accessibili a chi è affetto da limitazioni fisiche. Gli sviluppi dell'HTML 4 ispirati dalla cura per l'accessibilità comprendono:

Gli autori che progettano pagine avendo cura della loro accessibilità non solo riceveranno l'approvazione dei gruppi legati all'accessibilità, ma ne trarranno beneficio anche in altri modi: i documenti HTML ben progettati, che distinguono tra struttura e presentazione, si adatteranno più facilmente a nuove tecnologie.

Nota. Per maggiori informazioni circa la progettazione di documenti HTML accessibili, si consulti per favore [WAI].

2.3.3 Tabelle

Il nuovo modello di tabella in HTML è basato su [RFC1942]. Gli autori hanno ora un maggiore controllo sulla struttura e la disposizione (ad es., i raggruppamenti di colonne). La capacità fornita ai progettisti di impostare le ampiezze di colonna consente ai programmi utente di mostrare i dati tabellari in modo incrementale (via via che arrivano), senza dover attendere la ricezione dell'intera tabella prima di poterne effettuare la resa.

Nota. Mentre queste specifiche vengono scritte, alcuni prodotti per creare HTML si affidano in modo estensivo alle tabelle a scopo di formattazione: ciò può causare facilmente problemi di accessibilità.

2.3.4 Documenti composti

L'HTML offre ora un meccanismo standard per incorporare oggetti e applicazioni generici di tipo media nei documenti HTML. L'elemento OBJECT (insieme con i suoi più specifici elementi progenitori IMG e APPLET) fornisce un meccanismo per includere all'interno di un documento immagini, video, suono, calcoli matematici, applicazioni specialistiche ed altri oggetti. Esso consente agli autori di specificare anche una gerarchia di riproduzioni alternative per programmi utente che non supportano un determinato tipo di riproduzione.

2.3.5 Fogli di stile

I fogli di stile semplificano il codice di marcatura dell'HTML e sollevano in larga misura l'HTML da compiti di presentazione. Essi danno ad autori ed utenti il controllo sulla presentazione dei documenti -- informazioni sui caratteri, l'allineamento, i colori, ecc.

Le informazioni sullo stile possono essere specificate per singoli elementi o per gruppi di elementi. Tali informazioni possono essere collocate all'interno di un documento HTML o in 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 riproduzione. L'HTML 3.2 includeva un certo numero di elementi e attributi che permettavano di controllare allineamento, dimensione del carattere e colore del testo. Gli autori sfruttavano anche tabelle e immagini come strumenti di formattazione delle pagine. Il tempo relativamente lungo che occorre agli utenti per aggiornare i loro browser fa sì che tali caratteristiche continueranno ad essere utilizzate ancora per qualche tempo. Tuttavia, poiché i fogli di stile offrono meccanismi di presentazione più potenti, il World Wide Web Consortium eliminerà alla fine gradualmente molti elementi e attributi di presentazione dell'HTML. All'interno di queste specifiche gli elementi e gli attributi a rischio sono segnalati come "disapprovati.". Essi sono accompagnati da esempi su come ottenere i medesimi effetti per mezzo di altri elementi o di fogli di stile.

2.3.6 Scripting

Attraverso gli script, gli autori possono creare pagine Web dinamiche (ad esempio "moduli intelligenti" in grado di reagire al modo in cui gli utenti li riempiono) ed usare l'HTML come un mezzo per costruire applicazioni collegate in rete.

I meccanismi forniti per includere script all'interno di un documento HTML sono indipendenti dal linguaggio di scripting adoperato.

2.3.7 Stampa

Potrà capitare talvolta che gli autori vogliano semplificare agli utenti la stampa di più che il solo documento corrente. Quando dei documenti costituiscono parte di un insieme più ampio, le relazioni reciproche possono essere descritte per mezzo dell'elemento HTML LINK oppure usando il Resource Description Framework [Sistema di Descrizione delle Risorse] (RDF) del W3C (si veda [RDF10]).

2.4 Creare documenti con HTML 4

Si raccomanda ad autori e sviluppatori di rispettare, nel lavorare con l'HTML 4, i seguenti princìpi generali.

2.4.1 Separare la struttura dalla presentazione

L'HTML ha le sue radici in SGML, che è sempre stato un linguaggio orientato ad una marcatura di tipo strutturale. A misura che l'HTML diventa più maturo, un numero via via crescente dei suoi elementi e attributi di presentazione sono rimpiazzati da altri meccanismi, in particolare dai fogli di stile. L'esperienza ha dimostrato che separare la struttura di un documento dai suoi aspetti di presentazione riduce i costi occorrenti per servire un'ampia gamma di piattaforme, media, ecc. e facilita le revisioni dei documenti.

2.4.2 Tenere in considerazione l'accessibilità universale al Web

Per rendere il Web più accessibile a tutti, in particolare alle persone con disabilità, gli autori dovrebbero riflettere attentamente su come i loro documenti possono essere riprodotti su una varietà di piattaforme: sintetizzatori vocali, lettori braille, ecc. La nostra raccomandazione agli autori non è che essi limitino la loro creatività, ma solo che prendano in considerazione, in ciascun loro progetto, modi alternativi di riproduzione. L'HTML offre una quantità di meccanismi destinati a questo scopo (ad esempio l'attributo alt, l'attributo accesskey, ecc.)

Inoltre, gli autori dovrebbero considerare che i loro documenti possono essere raggiunti da un pubblico remoto, che utilizza strumenti informatici differenti. Affinché i loro documenti possano essere interpretati correttamente, gli autori dovrebbero includere in essi informazioni sulla lingua naturale e sulla direzione del testo, sul modo in cui il documento è stato codificato e su altre questioni connesse all'internazionalizzazione.

2.4.3 Aiutare i programmi utente con la riproduzione incrementale

Progettando attentamente le tabelle e facendo uso delle nuove caratteristiche delle tabelle nell'HTML 4, gli autori possono aiutare i programmi utente a riprodurre i documenti più rapidamente. Gli autori possono imparare come progettare tabelle per la riproduzione incrementale (si veda l'elemento TABLE). Gli sviluppatori dovrebbero consultare le note sulle tabelle nell'appendice per informazioni sugli algoritmi incrementali.