Redazione
a- a+

Attributi di body

Gli attributi per il testo, i link, il colore di sfondo e imargini dell'elemento <body> sono espressamentevietati solo nella DTD Strict, ma erano giàconsiderati sconsigliati in HTML 4.0. Non vanno pertantousati e devono essere sostituiti dai CSS.

Li ricordiamo:

  • alink
  • background
  • bgcolor
  • link
  • text
  • vlink

Nella prima lezione abbiamo evidenziato come XHTML siaessenzialmente una ridefinizione di HTML e l'excursus trale varie sezioni di una pagina ha confermato questaaffermazione. Al di là delle differenze tra le treDTD, non abbiamo incontrato nuovi tag o elementi inusuali.Anche quelle che possono sembrare novità assolute,come la dichiarazione del DOCTYPE, erano in realtàgià previste nelle precedenti versioni di HTML.

Le novità sostanziali riguardano piuttosto lasintassi, il modo in cui tag, attributi e valori vengonousati. Le esamineremo ora una per una, proponendo sempre ilconfronto con HTML. Attenzione: l'uso di questeconvenzioni è normativo. XHTML èun'applicazione XML e alla sintassi di questo deveconformarsi. Non rispettare queste regole significa non averedocumenti validi e ben formati. La cosa che le accomunaè che queste regole pongono fine ad una serie diprocedure che HTML consentiva e che ora sono invece vincolatead usi ben definiti.

 

1.Gli elementi devono essere correttamente annidati

HTML XHTML
    <b><i>un test</b></i>
    <b><i>un test</i></b>

Il primo esempio non è corretto in XHTML. Il tag<i> si sovrappone a <b>. La seconda colonnamostra invece un corretto annidamento degli elementi. Laprima pratica è consentita in HTML. Certo, il browserdovrà interpretare qualcosa che è ambiguo, maalla fine ci restituirà un testo in grassetto-corsivo(ciò che volevamo). In XHTML non possono sorgereambiguità, tutto segue una regola.

 

2. I nomi di elementi e attributi devono essere inminuscolo

XML è un linguaggio case sensitive. Significache <table> e <TABLE> sono cose diverse. In XHTMLè consentito solo l'uso delle minuscole per i nomidi elementi e attributi. Anche qui regole piùvincolanti.

HTML XHTML
    <TABLE><TR><TD>un test</TD></TR></TABLE>
    <table><tr><td>un test</td></tr></table>

 

3. Gli elementi non vuoti devono essere chiusi

HTML XHTML
    <p>Test1<p>Test2
    <p>Test1</p><p>Test2</p>

 

In HTML la pratica esposta a sinistra è tollerata, inXHTML non lo è. Ogni elemento non vuoto (sono quelliche contengono testo o altri elementi) deve avere dopo il tagdi apertura quello di chiusura.

 

4. I valori degli attributi devono essere posti travirgolette

Anche questa pratica è tollerata in HTML. E,soprattutto, è causata da molti editor che la"dimenticano" con molta disinvoltura.

HTML XHTML
    <img src=test.gif>
    <img src="test.gif">

 

5. Ogni attributo deve avere un valore

Alcuni attributi di HTML non hanno un valore (si dice chesono standalone). E' il caso dell'attributoselected usato per identificare l'opzione di unmenu a tendina selezionata all'apertura del documento. InXHTML anche questi attributi devono essere valorizzati.

HTML XHTML
    <option selected>test</option>
    <option selected="selected">test</option>

 

Il problema si pone anche nei form. Se ad esso non si assegnaun'azione avremo questa situazione:

<form action=""></form>

Si può risolvere assegnando un valore fittizio:

<form action="action"></form>

 

6. Gli elementi vuoti devono terminare con />

In XML tutti i tag devono essere chiusi. Ma cosa fare con glielementi vuoti? Si tratta di quelli che non possono contenerenulla al loro interno ma semplicemente ricevere attributi:<meta>, <br>, <hr>, <img> sono ipiù comuni. In XHTML tali elementi vengono chiusiterminando la dichiarazione con />.

HTML XHTML
    <br><img src="test.gif">
    <br/><img src="test.gif"/>

 

7. Uso di id e name

Per identificare un elemento si deve usare l'attributo ide non name. Apparantemente la cosa non fa una grinza. Inquesto modo si ha una perfetta conformità con XML doveid è l'attributo standard perl'identificazione dei frammenti. In realtà qui ilcambiamento con HTML è notevole, perchè perelementi come <img> o <a> l'attributo diidentificazione è proprio name. Il passaggio a id nonpone problemi nei browser più recenti, ma con altri(Netscape 4, per esempio) non funziona. In questo caso e sela compatibilità all'indietro èassolutamente necessaria, la stessa specifica XHTML 1.0suggerisce di usare entrambi gli attributi, anche seciò è contro le regole:

HTML XHTML
    <a name="test>
    <a id="test">

Per compatibilità:

    <a id="test" name="test">

Nelle specifiche successive (cosa che è accaduta conXHTML 1.1) l'attributo name è stato abolitocompletamente.

Uno degli argomenti più spinosi relativi a XHTMLè la gestione dei linguaggi di programmazione,tradizionalmente incorporati nel documento con il tag<script>. Procediamo con ordine.



Ti potrebbe interessare anche

commenta la notizia