Entriamo ora nel vivo della guida. In queste pagine non ripeteremo la serie degli esempi e dei suggerimenti basati sull'elenco delle raccomandazioni WCAG 1.0, che sono contenuti nella guida all'accessibilità di Angela Molteni, pubblicata alcuni anni fa su HTML.it. Ci occuperemo piuttosto di approfondire alcuni concetti basilari per la realizzazione di siti ad elevata accessibilità, ricorrendo quando necessario ad esempi di buone e cattive pratiche.
Cominciamo da quello che è il requisito di partenza di uno sviluppo progettato fin dall'inizio con in mente l'obiettivo di una elevata accessibilità: la separazione del contenuto del documento dalla sua presentazione. Per capire bene di cosa si tratta, consideriamo le due seguenti definizioni tratte dalle WCAG 1.0:
«Il contenuto di un documento è ciò che questo comunica all'utente attraverso linguaggio naturale, immagini, suoni, filmati, animazioni, ecc.»
«La presentazione di un documento è il modo in cui il documento è riprodotto (ad es. come uno stampato, come una presentazione grafica bi-dimensionale, come una presentazione solo testuale, come discorso riprodotto da un sintetizzatore, come braille, ecc.)»
Ai fini dell'accessibilità, la cosa fondamentale è che tutti i possibili tipi di presentazione di un documento riescano a mostrare all'utente, se non proprio lo stesso contenuto, almeno un suo valido equivalente. Perché ciò possa avvenire, sono necessarie due condizioni:
- che siano stati preparati degli equivalenti per quei contenuti che, per loro natura, si rivolgono ad un solo canale sensoriale: per esempio dei testi alternativi come equivalenti delle immagini
- che non vi siano vincoli all'interno del documento, tali da consentire un'adeguata presentazione del contenuto solo su certi programmi utente (p.es. browser visuali di una certa marca) e sotto determinate condizioni d'uso (p.es. una data risoluzione ed una data grandezza dei caratteri), con esclusione parziale o totale di tutti gli altri programmi utente e di tutte le altre possibili condizioni d'uso.
Ci interessa qui soprattutto il secondo punto. I vincoli possono essere di vario tipo: dall'uso di elementi e attributi che favoriscono un solo tipo di presentazione (tipicamente quella visuale) e che vengono mescolati inestricabilmente ai contenuti, all'uso di soluzioni di impaginazione che rendono la pagina scarsamente leggibile se caricata in un browser senza supporto per i fogli di stile.
Il primo passo da compiere, per evitare vincoli che impediscano di ottenere adeguate presentazioni alternative di un documento, consiste nell'eliminare dal codice HTML gli elementi e gli attributi di presentazione.
Cerchiamo di capire allora cosa si intende per elementi e attributi di presentazione. Secondo la definizione contenuta nelle WCAG 1.0, «un elemento che specifica la presentazione del documento (ad es. B, font, CENTER) è chiamato un elemento di presentazione». Analogamente, un attributo che specifica un modo di presentare un certo contenuto è un attributo di presentazione (ad es. "align", "height", "bgcolor", "size", "face", "color" e simili).
Gli elementi e gli attributi di presentazione servono per determinare cose come il colore di sfondo della pagina (o di una tabella, di una riga, di una cella, di una colonna); il colore, la grandezza, il tipo di carattere e lo stile (grassetto, corsivo, sottolineato) usati per i blocchi di testo; la larghezza, l'altezza e l'allineamento degli oggetti presenti nella pagina.
Tutti questi criteri di formattazione possono oggi tranquillamente essere applicati per mezzo dei fogli di stile o CSS (acronimo di "cascading style sheets": tradotto in italiano, "fogli di stile a cascata"). A partire dalla versione 4 delle Specifiche HTML, l'uso di elementi e attributi di presentazione è stato disapprovato ("deprecated", in inglese) dal W3C in favore, appunto, dell'uso dei fogli di stile.