[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [home] [volume] [parte]


Capitolo 471.   HTML: aspetti generali

HTML sta per Hypertext markup language e in pratica è un formato SGML per i documenti della rete che fa uso di un DTD particolare: HTML appunto. La composizione di un documento HTML non può mai essere valutata perfettamente in anticipo, perché dipende da diversi fattori:

Lo standard HTML è tale per cui tutti (o quasi) i programmi utilizzabili per la lettura di tali documenti sono in grado di cavarsela. Ma questo risultato minimo è ben lontano dall'esigenza di costruire qualcosa che tutti possano vedere più o meno nello stesso modo. Per questo, quando si costruisce un documento HTML, occorre pensare all'utenza a cui è destinato, in modo da decidere quali caratteristiche possono essere utilizzate e quali invece è meglio scartare per evitare inutili problemi di lettura.

L'HTML nasce all'inizio degli anni 1990, abbinato in particolare al primo navigatore: Mosaic. Da quel momento a oggi il formato HTML ha subito diversi aggiornamenti; si ricorda in particolare la versione 2.0 del 1995 e la versione 3.2 del 1997. Allo stato attuale, lo sviluppo di questo standard si può considerare terminato, in quanto obsoleto a causa dell'emergere di XHTML. Lo sviluppo conclusivo è stato condotto da W3C (World wide web consortium) e l'ultima versione è la 4.01

La stabilizzazione dello standard HTML con le versioni 4.* di W3C ha portato alla definizione dello standard ISO 15445, che precisa meglio i limiti di questo formato. Si osservi che un documento conforme allo standard ISO 15445 è anche conforme allo standard HTML 4.01 di W3C.

Purtroppo, il successo iniziale di HTML superiore alle sue possibilità tecniche, è stato la causa di una proliferazione di varianti. In pratica, chi ha realizzato i programmi di navigazione, volendo offrire effetti speciali che in quel momento non potevano essere ottenuti altrimenti, ha definito nel tempo una propria estensione allo standard di partenza (e anche a quelli successivi). Questo però ha creato e crea ancora oggi una grande confusione sul modo corretto di scrivere un documento in formato HTML. Il problema si aggrava anche di più nel momento in cui questi navigatori non sono in grado di gestire correttamente gli standard indipendenti.

Lo spirito alla base dello sviluppo dell'HTML da parte del W3C, così come acquisito dallo standard ISO 15445, è quello di ottenere un formato multimediale-ipertestuale completo, adatto per la lettura attraverso qualunque tipo di mezzo: dal terminale tattile braille al documento stampato. Le estensioni proprietarie di questo standard si sono rivolte principalmente all'aspetto visuale e scenografico del formato, trascurando le altre esigenze. Scrivere un documento «puro» in HTML è un'arte raffinata, che attualmente non è conosciuta abbastanza. In generale, maggiori sono i contenuti e le esigenze di divulgazione, minori devono essere le pretese estetiche.

La documentazione di riferimento per tutto ciò che riguarda l'HTML è quella offerta dal W3C: <http://www.w3.org>, in particolare <http://www.w3.org/TR/>, a cui si deve affiancare anche quanto riguarda lo standard ISO 15445: <http://www.cs.tcd.ie/15445/15445.html>.

471.1   HTML e SGML

L'HTML è un linguaggio di composizione basato sull'SGML (si veda quanto descritto a partire dal capitolo 456). Come tale, un documento HTML inizia sempre con la dichiarazione del DTD; poi tutto il documento viene racchiuso nell'elemento principale di questa struttura:

<!DOCTYPE HTML PUBLIC "ISO/IEC 15445:2000//DTD HTML//EN">
<HTML>
    ...
    ...
    ...
</HTML>

Purtroppo, la maggior parte dei programmi di navigazione o di composizione per il formato HTML non è in grado di comprendere tutte le regole dell'SGML, per cui occorre evitare di utilizzare alcune delle sue caratteristiche. In particolare bisogna evitare:

Il fatto che l'HTML sia definito da un DTD, permette di verificare la sua correttezza formale, anche se le regole stabilite nel DTD non sono sufficienti a definire la sintassi completa. Per poter verificare la correttezza formale di un documento HTML, oltre agli strumenti di convalida, cioè il pacchetto SP, occorre procurarsi il DTD e le sue estensioni riferite alle entità generali, quelle che permettono di utilizzare le macro per le lettere accentate e i simboli speciali.

Il DTD dell'HTML ISO 15445 e la dichiarazione SGML si trovano presso ftp://ftp.cs.tcd.ie/isohtml/. Per quanto riguarda le entità standard a cui si fa riferimento, queste si trovano presso <http://www.w3.org/TR/html4/>. Si può realizzare un catalogo SGML per l'analisi locale di un documento del genere nel modo seguente:

OVERRIDE YES

SGMLDECL                                                        15445.dcl

PUBLIC  "ISO/IEC 15445:2000//DTD HyperText Markup Language//EN" 15445.dtd
DTDDECL "ISO/IEC 15445:2000//DTD HyperText Markup Language//EN" 15445.dcl
PUBLIC  "ISO/IEC 15445:2000//DTD HTML//EN"                      15445.dtd
DTDDECL "ISO/IEC 15445:2000//DTD HTML//EN"                      15445.dcl
PUBLIC "-//W3C//ENTITIES Full Latin 1//EN//HTML"                HTMLlat1.ent
PUBLIC "-//W3C//ENTITIES Special//EN//HTML"                     HTMLspecial.ent
PUBLIC "-//W3C//ENTITIES Symbolic//EN//HTML"                    HTMLsymbol.ent

Con questo catalogo, i file utilizzati devono trovarsi nella directory corrente.

Nell'esempio seguente si utilizza il programma nsgmls (del pacchetto SP) supponendo in particolare che il catalogo sia contenuto nel file catalogo; il file da verificare viene indicato come mio_file.html. Il catalogo e il file da controllare si intendono collocati nella directory corrente.

cat mio_file.html | nsgmls -s -c catalogo[Invio]

È il caso di ricordare che alcune distribuzioni GNU/Linux, in particolare Debian, predispongono un pacchetto apposito contenente i DTD più comuni riferiti alle varie versioni dell'HTML, comprese le estensioni proprietarie, assieme alle relative entità standard. Naturalmente, il tutto è organizzato in un catalogo unico che va eventualmente ad aggiornare il catalogo di sistema (dovrebbe trattarsi del file /etc/sgml.catalog, oppure del file /usr/share/sgml/catalog). Il nome di questo pacchetto potrebbe essere sgml-data*.

Oltre alla verifica in base al DTD sarebbe opportuno sapere leggere il contenuto del DTD stesso. A questo proposito è da notare il fatto che nel manuale che descrive le specifiche HTML ISO 15445, si fa spesso riferimento alle caratteristiche degli elementi attraverso lo schema offerto dalla dichiarazione relativa nel DTD. In effetti, ciò permette di rendere molto chiara e precisa la descrizione che ne viene fatta subito dopo.

471.1.1   Attributi comuni attraverso le entità parametriche

Il DTD dell'HTML ISO 15445 fa un uso massiccio di entità parametriche e questo può disorientare inizialmente. In generale basta ricordare che qualunque cosa nella forma %nome; è una macro che si espande in una stringa. La dichiarazione di queste entità parametriche avviene nella parte iniziale del DTD, attraverso istruzioni del tipo:

<!ENTITY % nome "stringa">

È interessante notare l'utilizzo di entità parametriche per fare riferimento agli attributi degli elementi. Infatti, quasi tutti gli elementi dell'HTML ISO 15445 prevedono l'uso di attributi, per cui si è ritenuto opportuno classificarli all'interno di entità parametriche. In particolare è importante individuarne due molto importanti:

<!ENTITY % core
   "CLASS      CDATA      #IMPLIED -- Comma separated list of class values --
    --The name space of the ID attribute is shared with the name space of
      the NAME attributes.  Both ID and NAME attributes may be provided for
      the <A> and <MAP> elements. When both ID and NAME values are provided
      for an element, the values shall be identical.  It is an error for an
      ID or NAME value to be duplicated within a document.

      It is recommended that authors of documents specify both the ID
      attribute and the NAME attribute for the <A> and <MAP> elements.
    --
    ID         ID         #IMPLIED -- Document-wide unique id --
    TITLE      CDATA      #IMPLIED -- Advisory title or amplification --" >

        <!-- Internationalization attributes -->

<!ENTITY % i18n
   "DIR        (ltr|rtl)  #IMPLIED -- Direction for weak/neutral text --
    LANG       NAME       #IMPLIED -- RFC1766 language value --" >

La macro %core; serve a individuare un gruppo di attributi disponibili nella maggior parte degli elementi:

Attributo Descrizione
ID
permette di attribuire una stringa di riconoscimento all'elemento, in modo da potervi fare riferimento;
CLASS
permette di abbinare all'elemento una classe, definita attraverso un nome, in modo da potergli attribuire uno stile particolare;
TITLE
permette di attribuire un «titolo» all'elemento, cosa che si traduce in pratica in modo differente a seconda del contesto (ovvero, a seconda dell'elemento a cui si applica).

La macro %i18n; serve invece a definire ciò che riguarda la localizzazione:

Attributo Descrizione
LANG
permette di indicare una sigla, secondo lo standard ISO 639 (sezione 106) e anche secondo altri standard, per attribuire all'elemento il linguaggio relativo;
DIR
permette di stabilire il flusso del testo nel risultato finale, dove la parola chiave ltr si riferisce a uno scorrimento da sinistra a destra (Left to right) e la parola chiave rtl indica uno scorrimento opposto, da destra a sinistra (Right to left).

Si osservi, a titolo di esempio, la dichiarazione dell'elemento P, dove gli attributi sono quelli più comuni, rappresentati dalle macro %core; e %i18n;:

<!ELEMENT P           - O  (%text;)+ >
<!ATTLIST P
    %core;                         -- Element CLASS, ID and TITLE --
    %i18n;                         -- Internationalization DIR and LANG -->

471.1.2   Classificazione fondamentale degli elementi

All'interno di un documento HTML si distinguono due gruppi di elementi fondamentali: quelli che rappresentano dei blocchi e quelli che servono a inserire qualcosa all'interno di una riga di testo normale. Questa suddivisione corrisponde a due macro: %block; e %text; rispettivamente.

Per fare un esempio, l'elemento P (paragrafo) è un «blocco», mentre l'elemento EM (enfasi) è un componente interno a una riga di testo.

Questa classificazione semplifica molto la dichiarazione degli elementi, come nel caso dell'elemento P, già visto, il cui contenuto è semplicemente tutto ciò che va inserito nelle righe di testo:

<!ELEMENT P           - O  (%text;)+ >

Alcuni elementi di un documento HTML sono ambigui, nel senso che possono contenere sia blocchi che testo. A titolo di esempio si osservi la dichiarazione dell'elemento LI che rappresenta la voce di un elenco puntato o numerato:

<!ELEMENT LI          - O  (%text; | %block;)+ >

471.2   Stili

Le estensioni proprietarie dell'HTML hanno portato questo linguaggio di composizione a una proliferazione di dialetti, a causa dell'esigenza di trasferire anche le informazioni sull'aspetto finale della composizione, che in origine non sono state prese in considerazione. L'unica soluzione disponibile con HTML ISO 15445 è l'abbinamento di uno stile, che può essere dichiarato all'interno del file HTML stesso, attraverso l'elemento STYLE, oppure in un file esterno, richiamandolo con l'elemento LINK (viene mostrato tra poco).

L'HTML non presuppone il formato in cui può essere realizzato lo stile. È comune l'uso di stili in formato CSS (Cascading style sheet) e per farvi riferimento si indica il tipo text/css.

Per il momento, non viene spiegato in che modo si scrivono le direttive in un foglio di stile CSS. Intuitivamente, il lettore può comprendere che la direttiva seguente serve a colorare in blu il contenuto degli elementi H1:

H1 { color: blue; }

Inoltre, la direttiva seguente serve per fare in modo che il contenuto dell'elemento P abbia il carattere di 12 punti e di colore rosso:

P { font-size: 12pt; color: red; }

Si osservi che la stessa cosa avrebbe potuto essere scritta nel modo seguente:

P {
    font-size:  12pt;
    color:      red;
}

Per definire questi stili all'interno di un documento HTML, senza fare uso di un file esterno, si potrebbe agire nel modo seguente, attraverso l'uso dell'elemento STYLE:

<!DOCTYPE HTML PUBLIC "ISO/IEC 15445:2000//DTD HTML//EN">
<HTML>
<HEAD>
    <TITLE>Esempio</TITLE>
    <STYLE TYPE="text/css">
        H1 { color: blue }
        P {
            font-size:  12pt;
            color:      red;
        }
    </STYLE>
</HEAD>
<BODY>
    ...
    ...
    ...
</BODY>
</HTML>

Si comprende che il testo contenuto nell'elemento STYLE non deve interferire con l'HTML e quindi non può contenere simboli che possano risultare ambigui. Questo problema riguarda naturalmente il linguaggio con cui è realizzato lo stile; nel caso del formato CSS non dovrebbe porsi alcun problema. Tuttavia, qualche programma utilizzato per la navigazione, potrebbe non riconoscere l'elemento STYLE, arrivando a riprodurre il testo che rappresenta in realtà lo stile. Per evitare questo problema si può circoscrivere la cosa all'interno di un commento SGML:

<STYLE TYPE="text/css">
    <!--
        H1 { color: blue }
        P {
            font-size:  12pt;
            color:      red;
        }
    -->
</STYLE>

Probabilmente, il modo più elegante di abbinare uno stile a un documento HTML è quello di aggiungere un file esterno. Nell'esempio seguente si include lo stile corrispondente al file stile.css:

<!DOCTYPE HTML PUBLIC "ISO/IEC 15445:2000//DTD HTML//EN">
<HTML>
<HEAD>
    <TITLE>Esempio</TITLE>
    <LINK REL="stylesheet" TYPE="text/css" HREF="stile.css">
    ...
</HEAD>
...
</HTML>

È chiaro che dipende dal programma di navigazione la capacità o meno di conformarsi allo stile. In generale, lo standard CSS sembra essere quello che ha più probabilità di affermarsi.

471.3   Struttura di un documento HTML

Il documento HTML è contenuto tutto nell'elemento omonimo: HTML. Questo si scompone in due elementi fondamentali, HEAD e BODY, che rappresentano rispettivamente l'intestazione e il corpo:

<!DOCTYPE HTML PUBLIC "ISO/IEC 15445:2000//DTD HTML//EN">
<HTML>
<HEAD>
    <TITLE>Titolo della pagina</TITLE>
</HEAD>
<BODY>
    ...
    <!-- Corpo del documento -->
    ...
</BODY>
</HTML>

In generale, è conveniente annotare la lingua principale del documento, attraverso l'attributo LANG da collocare nel marcatore di apertura dell'elemento HTML:

<HTML LANG="it">

Per la precisione, il codice che definisce il linguaggio viene indicato secondo la sintassi seguente:

codice_principale[-codice_secondario]

In pratica, la prima parte, quella che appare prima del trattino di separazione, indica la lingua, di solito attraverso il codice ISO 639 (sezione 106), mentre la seconda parte indica l'area nazionale, secondo lo standard ISO 3166 (sezione 107), che a sua volta può implicare delle varianti nel linguaggio.

In generale, un documento di grandi dimensioni realizzato attraverso il formato HTML, richiede la scomposizione dello stesso in più file HTML collegati tra loro da riferimenti ipertestuali. Questa, purtroppo, è una necessità a causa delle limitazioni dei programmi di navigazione.

471.3.1   Intestazione e informazioni supplementari

L'intestazione è una parte del documento HTML che serve per annotare delle informazioni generali. Deve contenere almeno il titolo all'interno dell'elemento TITLE. Di solito, la riproduzione di un documento HTML non fa apparire il titolo nel testo del documento, che comunque viene usato per farvi riferimento (per esempio nel segnalibro del programma utilizzato per la sua visualizzazione).

Nell'intestazione, prima o dopo il titolo, può essere conveniente collocare alcune «meta-informazioni», attraverso alcuni elementi META. Si tratta di un elemento vuoto, per il quale si utilizza soltanto il marcatore di apertura con l'indicazione di attributi opportuni. In particolare, si possono utilizzare gli attributi seguenti:

Attributo Descrizione
NAME
per indicare un nome che qualifica il tipo di meta-informazione (si tratta di parole chiave più o meno standard, che però non sono state definite nel DTD);
HTTP-EQUIV
per indicare un campo di risposta nell'ambito del protocollo HTTP, tenendo conto che l'attributo NAME è alternativo a HTTP-EQUIV;
CONTENT
(obbligatorio) per indicare il valore abbinato al nome indicato attraverso l'attributo NAME, oppure attraverso l'attributo HTTP-EQUIV.

Come si intuisce dall'elenco degli attributi più importanti, si può distinguere tra elementi META che utilizzano l'attributo NAME e altri che usano l'attributo HTTP-EQUIV. Le informazioni che si definiscono attraverso elementi META con l'attributo NAME permettono di indicare informazioni che qualificano il documento, soprattutto quando questo viene trattato automaticamente da un motore di ricerca; l'attributo HTTP-EQUIV permette invece di intervenire a livello del protocollo HTTP (quando il documento viene ottenuto in questo modo), specificando le intestazioni HTTP relative. Si osservi l'esempio seguente:

<HEAD>
    <TITLE>Titolo della pagina</TITLE>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
    <META NAME="Description"    CONTENT="Esempio di una pagina HTML">
    <META NAME="Keywords"       CONTENT="HTML, SGML, Editoria elettronica">
    <META NAME="Author"         CONTENT="P. Pallino ppallino@dinkel.brot.dg">
    <META NAME="Classification" CONTENT="Esempio HTML">
</HEAD>

In particolare, ricevendo questo documento attraverso il protocollo HTTP, si ottiene anche l'intestazione HTTP seguente:

Content-Type: text/html; charset=ISO-8859-1

Si noti nell'esempio l'indicazione esplicita dell'insieme di caratteri: ISO 8859-1

Un altro tipo di elemento speciale può apparire all'interno dell'intestazione di un documento HTML; si tratta di LINK. Anche questo è un elemento vuoto e serve solo per indicare degli attributi nel marcatore di apertura. Gli attributi più importanti sono:

Attributo Descrizione
HREF
per indicare un URI a cui si intende fare riferimento;
REL
per definire la relazione che c'è con questo tipo di collegamento;
TYPE
per specificare in anticipo il tipo dei dati contenuti nell'URI;
MEDIA
per specificare il mezzo attraverso cui viene letto il documento.

Trattandosi di un elemento vuoto, collocato nell'intestazione HTML, non è pensato per essere rappresentato nella composizione. Tuttavia, abbinando le parole chiave opportune all'attributo REL, si stabiliscono una serie di collegamenti utili per ricomporre un documento più grande costituito da più pagine HTML. In pratica, si può dichiarare in modo esplicito come è articolato, così che il programma di navigazione o composizione sappia regolarsi. La tabella 471.25 elenca alcune delle parole chiave che possono essere assegnate all'attributo REL.

Tabella 471.25. Parole chiave tipiche da assegnare all'attributo REL dell'elemento LINK.

Nome Descrizione
Alternate
Una versione alternativa dello stesso documento.
Stylesheet
Foglio di stile esterno.
Start
Il primo documento di una collezione.
Next
Il prossimo documento di una sequenza lineare.
Prev
Il documento precedente di una sequenza lineare.
Contents
Un documento che funge da indice generale.
Index
Un documento che funge da indice analitico.
Glossary
Un documento che funge da glossario.
Copyright
Un documento che contiene la dichiarazione del copyright.
Chapter
Un documento che funge da capitolo in una collezione.
Section
Un documento che funge da sezione in una collezione.
Subsection
Un documento che funge da sottosezione in una collezione.
Appendix
Un documento che funge da appendice in una collezione.
Help
Un documento che funge da guida.

L'esempio seguente mostra parte di un'intestazione di una pagina HTML in cui sono stati usati alcuni elementi LINK per definire la relazione con altre pagine che compongono la stessa raccolta:

<HEAD>
    ...
    <LINK REL="Stylesheet" TYPE="text/css" HREF="stile.css">
    <LINK REL="Start" TITLE="inizio" HREF="index.html">
    <LINK REL="Contents" TITLE="indice generale" HREF="indice-generale.html">
    <LINK REL="Prev" TITLE="precedente" HREF="capitolo-6.html">
    <LINK REL="Next" TITLE="successivo" HREF="capitolo-8.html">
    <LINK REL="Index" TITLE="indice analitico" HREF="indice-analitico.html">
</HEAD>

Merita un po' di attenzione l'attributo MEDIA che serve a stabilire il mezzo adatto per la lettura del documento relativo. Questo attributo si usa generalmente all'interno di un elemento LINK che serve a indicare un foglio di stile esterno; inoltre può essere usato per lo stesso motivo all'interno di un elemento STYLE. In pratica, in questo modo, si stabilisce l'abbinamento tra stile e mezzo di lettura. La tabella 471.27 elenca i nomi che si possono assegnare a un attributo MEDIA.

Tabella 471.27. Parole chiave tipiche da assegnare all'attributo MEDIA dell'elemento LINK e dell'elemento STYLE.

Nome Descrizione
screen Schermo per lo scorrimento continuo.
tty Terminale a celle di caratteri o simile.
tv Televisione (bassa risoluzione e altre limitazioni).
projection Proiettore.
handheld Schermi portatili.
print Stampa e simili (composizione impaginata).
braille Terminale a barra braille per i non vedenti.
aural Lettore a sintesi vocale.
all Valido per tutti i tipi di dispositivo.

L'esempio seguente mostra in che modo si potrebbero selezionare diversi fogli di stile in base al mezzo utilizzato per la lettura del documento:

<LINK REL="Stylesheet" TYPE="text/css" MEDIA="screen" HREF="stile-schermo.css">
<LINK REL="Stylesheet" TYPE="text/css" MEDIA="tty" HREF="stile-testo.css">
<LINK REL="Stylesheet" TYPE="text/css" MEDIA="braille" HREF="stile-braille.css">

471.3.2   Corpo del documento

Il corpo di un documento HTML è delimitato dall'elemento BODY e il suo contenuto è ciò che alla fine viene mostrato nella composizione finale.

La composizione del corpo viene descritta nel capitolo 472.

471.4   Attributi comuni

All'inizio del capitolo si è accennato al fatto che molti elementi condividano un insieme comune di attributi. Vale la pena di descrivere brevemente alcuni di questi.

471.4.1   Linguaggio

Il linguaggio di un elemento viene definito esplicitamente attraverso l'attributo LANG, a cui viene assegnato solitamente un codice corrispondente allo standard ISO 639. La tabella 471.29 riporta un elenco di questi codici ridotto ad alcune lingue occidentali.

Tabella 471.29. Alcuni codici dello standard ISO 639 per la definizione della lingua attraverso una sigla di due soli caratteri.

Codice Lingua Codice Lingua
fr Francese it Italiano
ro Rumeno es Spagnolo
ca Catalano co Corso
pt Portoghese da Danese
nl Olandese en Inglese
de Tedesco is Islandese
no Norvegese sv Svedese
fi Finlandese

In generale può essere conveniente l'utilizzo di questo attributo nell'elemento HTML, in modo da fissare il linguaggio di tutto il documento. Tuttavia, quando un elemento contiene un testo in un altro linguaggio, conviene annotarlo nello stesso modo.

L'effetto più evidente che potrebbe risultare dalla distinzione in base al linguaggio, è la separazione delle parole in sillabe, per creare una composizione più gradevole.

471.4.2   Codifica

L'opzione charset dell'attributo CONTENT, permette di definire esplicitamente l'insieme di caratteri dell'elemento. Come è già stato mostrato, di solito lo si utilizza in un elemento META introduttivo allo scopo di definire l'intestazione HTTP relativa:

<HEAD>
    <TITLE>...</TITLE>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
    <!--...-->
</HEAD>

La tabella 471.31 elenca alcuni codici comuni per la definizione dell'insieme dei caratteri.

Tabella 471.31. Alcuni codici per definire l'insieme di caratteri.

Codice Corrispondenza Codice Corrispondenza
ISO-8859-1 latin1 ISO-8859-2 latin2
ISO-8859-3 latin3 ISO-8859-4 latin4
ISO-8859-5 ciryllic ISO-8859-6 arabic
ISO-8859-7 greek ISO-8859-8 hebrew
ISO-8859-9 latin5 ISO-8859-15 latin9

471.4.3   Direzione del testo

Il testo di un documento HTML può scorrere da sinistra a destra o viceversa. Per controllare questo flusso si può utilizzare l'attributo DIR, a cui si possono abbinare esclusivamente le parole chiave LTR o RTL: Left to right, da sinistra a destra; Right to left, da destra a sinistra.

In generale, il flusso del testo avviene da sinistra a destra, come richiedono le lingue occidentali, per cui non è necessario usare questo attributo in condizioni «normali».

È importante notare che il testo nel sorgente di un documento HTML segue sempre il flusso normale, da sinistra a destra, ammesso che si possa definire un flusso per un file sorgente.

Non è disponibile la possibilità di ribaltare orizzontalmente i caratteri, quando il flusso del testo cambia direzione, come avviene nella scrittura geroglifica.

471.4.4   Titolo

Molti elementi dispongono di un attributo TITLE. Il suo scopo è quello di indicare un titolo, che viene preso in considerazione in modo differente in base al contesto. Questo attributo può essere molto utile negli elementi che comportano l'inclusione di un'immagine, dal momento che rappresenta un testo alternativo per chi non può visualizzarle. Anche un riferimento ipertestuale può avvantaggiarsi di questo attributo, perché si può visualizzare il testo corrispondente prima di raggiungere l'oggetto, in modo da avere una breve descrizione di ciò che si tratta (così da poter decidere se ne vale la pena).

<A HREF="http://www.brot.dg/foto/tizio.jpg" TITLE="Tizio in divisa">Tizio</A>

L'esempio mostra proprio il caso di un riferimento ipertestuale, ottenuto con l'elemento A, attraverso il quale si raggiunge un file che dovrebbe mostrare l'immagine di Tizio vestito in divisa. Se il navigatore permette di conoscere il titolo del riferimento prima di doverlo raggiungere, si può evitare di prelevare il file nel caso ciò non sia interessante.

È ovvio che sta poi all'autore della pagina la scelta nello scrivere dei titoli utili o ingannevoli. Chi realizza una pagina pubblicitaria ha ovviamente degli interessi diversi da chi invece vuole realizzare un documento ordinato e facile da consultare.

471.4.5   Identificazione di un elemento

Molti elementi dispongono di un attributo ID che permette di attribuire loro un'etichetta con la quale poi farvi riferimento. Il modo tradizionale per realizzare dei riferimenti incrociati in HTML è l'uso dell'elemento A, prima con l'attributo NAME (l'etichetta), poi con l'attributo HREF (il riferimento ipertestuale).

L'attributo ID permette di generalizzare il problema, dal momento che in tal modo gli elementi comuni hanno la possibilità di «identificarsi» in maniera univoca per qualunque scopo, non solo quello di definire un obiettivo per un riferimento.

<P ID="superparagrafo">Questo è un paragrafo nominato in modo univoco.</P>
<P ID="supermegaparagrafo">Anche questo è un altro paragrafo nominato in
modo univoco.</P>

Si deve tenere presente che i nomi utilizzati per gli attributi ID devono essere univoci. Questi nomi devono essere univoci anche nei confronti dell'attributo NAME nell'elemento A.

471.4.6   Classificazione degli elementi

A differenza dell'attributo ID, l'attributo CLASS consente di abbinare a un gruppo di elementi una certa classe. Il meccanismo è lo stesso, con la differenza che si vogliono indicare dei raggruppamenti. Di solito, si attribuisce una classe per abbinarne le definizioni di un foglio di stile.

<SPAN CLASS="nota">la vita è fatta per essere vissuta</SPAN>

L'esempio mostra la delimitazione di una parte di testo attraverso l'elemento SPAN, al quale viene attribuita la classe nota. In seguito è possibile abbinare a tutti gli elementi di questa classe le stesse caratteristiche attraverso un foglio di stile. Utilizzando i fogli di stile CSS, si potrebbe applicare la regola seguente a tutti gli elementi SPAN della classe nota:

SPAN.nota       { color: green; }

471.5   Riferimenti


Appunti di informatica libera 2008 --- Copyright © 2000-2008 Daniele Giacomini -- <appunti2 (ad) gmail·com>


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome html_aspetti_generali.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [home]

Valid ISO-HTML!

CSS validator!

Gjlg Metamotore e Web Directory