SEMINARIO 31/03/2008 | libro accessibilità | scritti | traduzioni w3c | forum | autore | mappa | tasti rapidi | cronologia | presentazione | il pesa-nervi
Vediamo ora invece come si può riscrivere il codice della precedente tabella, inserendovi opportuni accorgimenti di accessibilità (che appaiono evidenziati nel listato seguente):
<table border="1" cellpadding="5" cellspacing="2"
summary="Corsi di storia offerti nella comunità di Bath, organizzati
per nome del corso, insegnante, sommario, codice e tassa d'iscrizione">
<tr>
<th colspan="5" scope="colgroup">
Corsi comunitari -- Bath,
Autunno 1997
</th>
</tr>
<tr>
<th scope="col" abbr="Corso">Nome del corso</th>
<th scope="col" abbr="Prof">Insegnante</th>
<th scope="col" abbr="Desc">Descrizione</th>
<th scope="col">Codice</th>
<th scope="col">Tassa</th>
</tr>
<tr>
<td scope="row">Dopo la Guerra Civile</td>
<td>Dr. John Wroughton</td>
<td>Il corso esaminerà i turbolenti anni in Inghilterra
dopo il 1646. <em>6 incontri settimanali, a partire da
Lunedì 13 Ottobre.</em></td>
<td>H27</td>
<td>£32</td>
</tr>
<tr>
<td scope="row">Introduzione all'Inghilterra degli
Anglo-Sassoni</td>
<td>Mark Cottle</td>
<td>Corso di un solo giorno, introduttivo alla ricostruzione
della società anglo-sassone nel Primo Medioevo. <em>Sabato
18 Ottobre.</em></td>
<td>H28</td>
<td>£18</td>
</tr>
<tr>
<td scope="row">Lo splendore della Grecia Antica</td>
<td>Valerie Lorenz</td>
<td>Luogo di nascita della democrazia, della filosofia, patria
d'elezione del teatro e della disputa logica. Ciò che i
Romani hanno fatto, i Greci lo avevano realizzato per primi.
<em>Sabato 25 Ottobre 1997 (giorno scolastico)</em></td>
<td>H30</td>
<td>£18</td>
</tr>
</table>
Notiamo innanzitutto la presenza dell'attributo " summary" nell'elemento TABLE. Il suo scopo è fornire una descrizione della struttura e del contenuto della tabella, destinata a programmi utente non visuali (i normali browser grafici non riproducono il contenuto di questo attributo). Bisognerebbe compilare il "summary" di una tabella di dati come se volessimo far capire a qualcuno per telefono come è fatta e cosa contiene la tabella.
Altro elemento fondamentale per l'accessibilità di una tabella di dati è TH (l'acronimo sta per "table header", cioè "intestazione di tabella"): questo elemento definisce una cella contenente informazioni di intestazione. Notate dunque che tutte le celle delle prime due righe della tabella sono state rese, in questa nuova versione, per mezzo di elementi TH, mentre nella versione precedente erano dei normali TD, il cui contenuto veniva evidenziato con lo stile grassetto. L'uso di TH aggiunge un'informazione strutturale in più: dice a qualsiasi programma utente, anche non visuale, che il suo contenuto è un'intestazione, un titolo.
La tabella d'esempio resa accessibile viene dunque divisa in celle d'intestazione, che ci dicono che tipo d'informazioni contengono le varie colonne, e celle di dati (marcate da elementi TD), che contengono i dati veri e propri. Sorge a questo punto una domanda: come fa l'utente non vedente, a cui la tabella viene di solito letta serialmente - cioè una cella dopo l'altra da sinistra a destra e una riga dopo l'altra dall'alto in basso - a ricostruire con la sola memoria la relazione che intercorre tra le celle di intestazione e le celle di dati? Come fa, in altri termini, a ricordare a quale cella d'intestazione, cioè a quale colonna, fa riferimento il contenuto di una qualsiasi cella di dati che gli viene letta in un certo momento?
Gli vengono in aiuto appositi ausili di accessibilità. Ne esiste più d'uno. Nell'esempio precedente la relazione tra celle d'intestazione e celle di dati è resa esplicita per mezzo dell'attributo " scope". La parola "scope" significa in inglese "estensione, raggio": quest'attributo indica quindi qual è l'estensione di celle per cui valgono come informazioni d'intestazione quelle contenute nella cella marcata con l'attributo "scope".
Nel frammento di codice sopra riportato compaiono tre valori di "scope":
Manca solo l'ultimo valore possibile di questo attributo, cioè rowgroup: quando utilizzato, indica che le informazioni di intestazione si applicano all'intero raggrupamento di righe a cui appartiene la cella marcata da "scope".
E' da notare che le celle di dati della prima colonna (marcate da elementi TD) fungono anche da celle d'intestazione per la riga a cui appartengono. Ecco perché contengono a loro volta un attributo "scope".
Come funziona in pratica una lettura accessibile basata sull'utilizzo dei valori di "scope"? Il sintetizzatore vocale dovrebbe premettere alla lettura del contenuto di una qualsiasi cella di dati il contenuto della relativa cella d'intestazione. Per esempio, nella tabella sopra riportata, dovrebbe premettere "nome del corso" alla lettura della cella contenente "Dopo la guerra civile", in modo da far capire all'ascoltatore a quale colonna appartiene quella cella di dati.
Tuttavia, soprattutto per tabelle molto lunghe, questo meccanismo può diventare estenuante da ascoltare ripetutamente. Ecco allora che entra in gioco un nuovo attributo, " abbr", che ha lo scopo di fornire una forma abbreviata del contenuto di una cella. Così, avendo inserito un opportuno attributo "abbr" nella cella "Nome del corso", il sintetizzatore vocale potrà premettere semplicemente "corso" (il valore di "abbr") alla lettura delle celle di dati della prima colonna.
Al di là di quanto questi accorgimenti siano supportati dai programmi esistenti (in verità molto poco fino ad oggi), chi desidera sviluppare tabelle di dati accessibili deve preoccuparsi innanzitutto di chiarire quali sono le celle d'intestazione e, secondariamente, di rendere esplicita la relazione tra celle d'intestazione e celle di dati.
Leggi:
Stabilire relazioni tra le celle usando gli attributi 'headers' e 'id'
Vai a:
Diodati.org
> Guide, articoli, scritti
> Siti ad elevata accessibilità
Scrivi: info@diodati.org
Ultima modifica: 15/7/2004 ore 15:39