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 riportato nella pagina precedente compaiono tre valori di "scope":
- colgroup – indica che le informazioni d'intestazione si applicano all'intero raggruppamento di colonne a cui appartiene la cella marcata da "scope"
- col – indica che le informazioni di intestazione si applicano alle rimanenti celle della colonna a cui appartiene la cella marcata con "scope"
- row – indica che le informazioni di intestazione si applicano alle rimanenti celle della riga a cui appartiene la cella marcata con "scope"
È 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 riportata nella pagina precedente, 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.