2 Introduzione a 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 di stile
    6. Scripting
    7. Stampa
  4. Creazione di documenti con HTML 4.0
    1. Separare la struttura dalla presentazione
    2. Tenere conto dell'accessibilità universale al Web
    3. Aiutare gli interpreti HTML con la riproduzione 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 al più vasto insieme possibile di utenti:

  1. Uno schema di denominazione uniforme per localizzare le risorse sul Web (ad es., gli URI).
  2. Protocolli, per accedere alle risorse denominate sul Web (ad es., HTTP).
  3. Ipertesto, per una facile navigazione tra le risorse (ad es., HTML).

Le connessioni tra i tre meccanismi risultano evidenti dal principio alla fine di queste Specifiche.

2.1.1 Introduzione agli URI

Ogni risorsa disponibile sul Web -- documento HTML, immagine, sequenza video, programma, ecc. -- ha un indirizzo che può essere codificato da un Universal Resource Identifier, o "URI".

Gli URI consistono tipicamente di tre parti:

  1. Lo schema di denominazione del meccanismo usato per accedere alla risorsa.
  2. Il nome della macchina ospitante la risorsa.
  3. Il nome della risorsa stessa, specificato come un percorso.

Si consideri l'URI che indica le Specifiche HTML correnti:

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

Questo URI può essere interpretato come segue: c'è un documento ottenibile tramite il protocollo HTTP (si veda [RFC2068]), residente sulla macchina www.w3.org, accessibile tramite il percorso "/TR/REC-html40/". Altri schemi che si possono trovare in documenti HTML includono "mailto" per la posta elettronica e "ftp" per FTP.

Ecco un altro esempio di URI. Questo si riferisce a una casella di posta elettronica di un utente:

   ...questo è  testo...
   Per qualsiasi commento, inviare un email a  
   <A href="mailto:joe@someplace.com">Joe Cool</A>.

Nota. La maggior parte dei lettori può essere familiare con il termine "URL" e non con il termine "URI". Gli URL formano un sottoinsieme dello schema di denominazione più generale URI.

2.1.2 Identificatori di frammento

Alcuni URI si riferiscono ad una posizione dentro una risorsa. Questo tipo di URI termina con un simbolo "#" seguito da un'identificatore di ancora (chiamato l'identificatore di frammento). Ad esempio, ecco un URI che punta ad un'ancora denominata sezione_2:

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

2.1.3 URI relativi

Un URI relativo non contiene alcuna informazione sullo schema di denominazione. Il suo percorso si riferisce genericamente ad una risorsa sulla stessa macchina che ospita il documento corrente. Gli URI relativi possono contenere componenti di percorso relativo (ad es., ".." significa un livello più in alto nella gerarchia definita dal percorso), e possono contenere identificatori di frammento.

Gli URI relativi sono risolti in URI completi utilizzando un URI di base. Come esempio di risoluzione di un URI relativo, 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>

si espandererebbe 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">

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

In HTML, gli URI sono usati per:

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

2.2 Che cosa è l'HTML?

Per pubblicare informazioni destinate ad una distribuzione globale è necessario un linguaggio riconosciuto universalmente, una sorta di madre lingua editoriale che tutti i computer possano potenzialmente capire. Il linguaggio di pubblicazione usato dal World Wide Web è l'HTML (da HyperText Markup Language) .

HTML dà agli autori i mezzi per:

2.2.1 Breve storia dell'HTML

L'HTML è stato originariamente sviluppato da Tim Berners-Lee durante la sua permanenza al CERN, ed è diventato popolare grazie all'interprete Mosaic sviluppato dalla NCSA. Nel corso degli anni '90 è prosperato con la crescita esplosiva del Web. Durante questo periodo l'HTML è stato esteso in diversi modi. Il Web dipende dalla condivisione da parte di autori e di rivenditori di pagine Web delle stesse convenzioni per l'HTML. Questo ha motivato uno sforzo congiunto sulle specifiche per l'HTML.

L'HTML 2.0 (Novembre 1995, si veda [RFC1866]) è stato sviluppato sotto l'egida della Internet Engineering Task Force (IETF) per codificare quanto era entrato a far parte dell'uso comune alla fine del 1994. L'HTML+ (1993) e l'HTML 3.0 (1995, si veda [HTML30]) hanno proposto versioni molto più ricche dell'HTML. Nonostante non abbiano mai ricevuto consensi in sede di discussioni sugli standard, questi progetti hanno portato all'adozione di una serie di nuove caratteristiche. Gli sforzi dell'HTML Working Group del World Wide Web Consortium per codificare quanto era entrato a far parte dell'uso comune nel 1996, hanno portato all'HTML 3.2 (Gennaio 1997, si veda [HTML32]). I cambiamenti occorsi dalla versione HTML 3.2 sono riassunti nell'Appendice A.

È opinione comune che i documenti HTML dovrebbero funzionare bene con interpreti e piattaforme differenti. Raggiungere l'interoperabilità abbassa i costi per i fornitori di contenuto dal momento che essi devono sviluppare una sola versione di un documento. Se lo sforzo non venisse fatto, ci sarebbe un rischio molto più grande che il Web possa cadere in un mondo proprietario di formati incompatibili, riducendo in definitiva il potenziale commerciale del Web per tutti i partecipanti.

Ogni versione dell'HTML ha tentato di riflettere un sempre maggiore consenso tra i partecipanti dell'industria, in modo che gli investimenti fatti dai content provider non vadano sprecati e che i loro documenti non diventino illegibili in un breve intervallo di tempo.

L'HTML è stato sviluppato con in mente l'idea che tutti i tipi di dispositivi dovrebbero esser capaci di usare l'informazione presente sul Web: PC con schermi grafici a differente risoluzione e differente numero di colori, telefoni cellulari, dispositivi palmari, dispositivi con interfaccia vocale, computer ad alta o bassa banda di trasmissione, e così via.

2.3 HTML 4.0

L'HTML 4.0 estende l'HTML con meccanismi per fogli di stile, scripting, frame, incorporamento di oggetti, supporto migliorato per testo da destra a sinistra e a direzione mista, tabelle più ricche, e ampliamenti dei moduli, offrendo migliore accessibilità per persone affette da disabilità.

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 tutte le lingue ed essere facilmente trasportati in tutto il mondo. Questo è stato possibile incorporando [RFC2070], che si occupa dell'internazionalizzazione dell'HTML.

Un importante passo è stato l'adozione dello standard ISO/IEC:10646 (si veda [ISO10646]) come insieme di caratteri del documento per l'HTML. Si tratta dello standard più comprensivo a livello mondiale che si occupa di questioni di rappresentazione dei caratteri internazionali, direzione del testo, punteggiatura, ed altri aspetti delle lingue naturali in uso nel mondo.

L'HTML ora offre maggiore supporto per lingue differenti dentro un documento. Questo permette una più efficace indicizzazione dei documenti per i motori di ricerca, una superiore qualità tipografica, una migliore conversione da testo a parlato, una migliore suddivisione delle parole in sillabe per il ritorno a capo, ecc.

2.3.2 Accessibilità

Con la crescita della comunità Web, e la diversificazione delle capacità e delle competenze dei suoi membri, è cruciale che le tecnologie sottostanti siano appropriate alle relative necessità. L'HTML è stato progettato per rendere le pagine Web più accessibili a coloro che sono affetti da limitazioni fisiche. Gli sviluppi dell'HTML 4.0 ispirati da riguardi per l'accessibilità includono:

Gli autori che progettano pagine tenendo presente questioni di accessibilità acquisiranno non solo i vantaggi della comunità legata all'accessibilità, ma saranno beneficiati 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 sulla progettazione di documenti HTML accessibili si consulti [WAIGUIDE].

2.3.3 Tabelle

Il nuovo modello di tabella HTML è basato su [RFC1942]. Gli autori ora hanno un maggior controllo su struttura e disposizione (ad es., i raggruppamenti di colonne). La possibilità dei progettisti di raccomandare le ampiezze di colonna permette agli interpreti HTML di mostrare i dati di tabella in modo incrementale (via via che arrivano) piuttosto che attendere l'intera tabella prima di riprodurla.

Nota. Al momento in cui queste Specifiche vengono scritte, alcuni strumenti di creazione si basano estensivamente sulle tabelle per la formattazione, il che può facilmente causare problemi di accessibilità.

2.3.4 Documenti composti

L'HTML ora offre un meccanismo standard per incorporare oggetti media ed applicazioni generici nei documenti HTML. L'elemento OBJECT (assieme con i suoi antenati più specifici IMG e APPLET) fornisce un meccanismo per includere immagini, video, suoni, formule matematiche, applicazioni specializzate, ed altri oggetti in un documento. Inoltre, permette agli autori di specificare una gerarchia di riproduzioni alternative per quegli interpreti HTML che non supportano una specifica riproduzione.

2.3.5 Fogli di stile

I fogli di stile semplificano la marcatura HTML e sollevano largamente HTML dalle responsabilità della presentazione. Essi forniscono sia agli autori che agli utenti il controllo sulla presentazione dei documenti -- informazioni sui caratteri, allineamento, colori, ecc.

Le informazioni di stile possono essere specificate per singoli elementi o gruppi di elementi. Le informazioni di stile 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 riproduzione. L'HTML 3.2 conteneva un insieme di attributi e di elementi che permettevano il controllo sull'allineamento, la dimensione dei caratteri e il colore del testo. Gli autori utilizzavano anche tabelle e immagini come mezzo per la disposizione interna delle pagine. Il tempo relativamente lungo che gli utenti impiegano per aggiornare i loro interpreti significa che queste caratteristiche continueranno ad essere utilizzate per qualche tempo. Comunque, dato che i fogli di stile offrono un meccanismo di presentazione più potente, il World Wide Web Consortium alla fine eliminerà molti degli elementi e degli attributi di presentazione di HTML. Da un capo all'altro di queste Specifiche, gli elementi e gli attributi a rischio sono marcati come "disapprovati". Essi sono accompagnati da esempi su come ottenere gli stessi effetti tramite 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 compila) e usare HTML come mezzo per costruire applicazioni di rete.

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

2.3.7 Stampa

A volte gli autori vorranno facilitare gli utenti che desiderano stampare più che il semplice documento corrente. Quando i documenti fanno parte di un lavoro più grande, le relazioni tra essi possono essere descritte usando l'elemento HTML LINK o usando il Resource Description Language del W3C (RDF) (si veda [RDF]).

2.4 Creazione di documenti con HTML 4.0

Si raccomanda agli autori e agli implementatori di osservare 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. Con la maturazione di HTML, si sta sostituendo un numero crescente dei suoi elementi ed attributi di presentazione con altri meccanismi, in particolare i fogli di stile. L'esperienza ha dimostrato che separare la struttura di un documento dai suoi aspetti di presentazione riduce il costo del servire un'ampia gamma di piattaforme, media, ecc., e facilita le revisioni dei documenti.

2.4.2 Tenere conto dell'accessibilità universale al Web

Per rendere il Web più accessibile a tutti, in modo particolare a coloro che sono affetti da disabilità, gli autori dovrebbero tenere conto di come i propri documenti possano essere riprodotti su una varietà di piattaforme: interprete con interfaccia vocale, lettori Braille, ecc. Non si raccomanda che gli autori limitino la propria creatività, solo che considerino riproduzioni alternative nella loro progettazione. L'HTML offre un insieme di meccanismi a questo scopo (ad es., l'attributo alt, l'attributo accesskey, ecc.)

Inoltre, gli autori dovrebbero tenere presente che i loro documenti possono raggiungere un pubblico molto distante con configurazioni di computer differenti. Affinché i documenti vengano interpretati correttamente, gli autori dovrebbero includere nei propri documenti informazioni sulla lingua naturale e la direzione del testo, su come il documento è codificato, e su altri aspetti connessi all'internazionalizzazione.

2.4.3 Aiutare gli interpreti HTML con la riproduzione incrementale

Progettando in maniera attenta le loro tabelle e facendo uso delle nuove caratteristiche delle tabelle in HTML 4.0, gli autori possono aiutare gli interpreti HTML a riprodurre i documenti in modo più rapido. Gli autori possono imparare come progettare tabelle per la riproduzione incrementale (si veda l'elemento TABLE). Gli implementatori dovrebbero consultare le note sulle tabelle nell'appendice per informazioni sugli algoritmi incrementali.