SlideShare une entreprise Scribd logo
1  sur  42
3° Workshop 
Accessibilità: 
“primi passi per un mondo fruibile da tutti” 
TECNICHE E VALIDAZIONE 
dott. Dario Santarelli 
e-Lios s.r.l. (Area Sviluppo) 
Email: dario.santarelli@unicam.it 
Mobile: +39 333 3742535 
WeBlog: http://www.dariosantarelli.wordpress.com
Sommario 
Introduzione 
 Accessibilità: un fatto tecnico? 
Separazione tra presentazione e contenuto 
 XHTML e CSS 
 Il supporto dei browser 
WAI WCAG 1.0 
 Alcune Demo 
WAI WCAG 2.0 
 Confronto con il passato 
Validazione dell’ accessibilità 
 I migliori strumenti 
Conclusioni
Introduzione
Accessibilità: un fatto tecnico? 
Schiacciante verità: un sito può essere tecnicamente accessibile, ma 
di fatto non fruibile per un disabile… La vera sfida del Web è l’ usabilità! 
Dov’è il Problema? 
 L'accessibilità, così come è concepita dalle attuali WCAG 1.0, rivolge le sue 
raccomandazioni al "content developer” (Someone who authors Web 
pages or designs Web sites“) 
 Progettista/Web Designer 
 Sviluppatore 
 L’autore dei contenuti 
 Alcune raccomandazioni delle WCAG 1.0 hanno a che vedere con 
l’usabilità, ma non forniscono metodologie. 
Il primo passo per creare siti accessibili è creare siti che siano 
accessibili alle macchine. La migliore chance per ottenere ciò è usare 
linguaggi di markup standard.
Separazione tra 
Contenuto e Presentazione 
XHTML + CSS
Separare il contenuto dalla Presentazione 
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 
 (es. stampato, presentazione grafica bi-dimensionale, presentazione solo 
testuale, discorso riprodotto da un sintetizzatore, braille, ecc.) 
Tutti i possibili tipi di presentazione di un documento 
dovrebbero mostrare contenuti equivalenti 
 Prevedere più canali sensoriali 
 Non prevedere vincoli su parametri di utilizzo di un 
determinato “user agent”
Separare il contenuto dalla Presentazione 
Primo passo da compiere: eliminare dal codice HTML gli 
elementi e gli attributi di presentazione. 
 A partire dalla versione 4 delle specifiche HTML, l'uso di elementi 
e attributi di presentazione è stato disapprovato dal W3C in 
favore, appunto, dell'uso dei fogli di stile. 
Presentazione: Impatto dei CSS sul Web 
 Riduzione del peso medio di una pagina del 50-60%. 
 Possibilità di presentazioni alternative, ciascuna adatta alla 
riproduzione su una differente periferica (schermo, stampa, 
sintetizzatori vocali, ecc.) 
 Ottenimento di un codice (x)HTML più lineare e pulito, senza il 
ricorso ad artifici sconsigliati per l'accessibilità
Presentazioni alternative 
Più dispositivi = Più presentazioni 
 I browser non offrono un supporto uniforme 
ed universale al cambio automatico del foglio di 
stile a seconda del tipo di media.. Si deve spesso 
ricorrere a Tecniche di Style Switching 
Terminali / Telescriventi / Palmari 
(media="tty” o media=“handheld”) 
Impossibile trovare un foglio di stile universalmente 
adatto 
 Braille 
(media=“braille”) 
Sono realmente supportati dai CSS? 
Uno sviluppatore vedente possiede le 
competenze per generare un tale foglio di stile? 
 Sintetizzatori vocali 
(media=“aural”) 
Praticamente nessuno sviluppatore conosce le 
esigenze di ascolto dell’utente finale.. 
CSS 2 Media Types 
all 
aural 
braille 
embossed 
handheld 
print 
projection 
screen 
tty 
tv
XHTML (eXtensible HyperText Markup Language) 
XHTML è il successore di HTML 
 XHTML 1.0 = riformulazione di HTML 4.01 in XML 1.0 
Obiettivi 
 Separazione tra la struttura del documento e la presentazione 
 utilizzare CSS preferibilmente esterni 
 Riformulare HTML come XML 
Versioni 
 XHTML 1.0 Transitional 
 XHTML 1.0 Strict 
 XHTML 1.0 Frameset 
 XHTML 1.1 
 XHTML 2.0
Creazione di pagine XHTML (1/3) 
Specificare un XHTML DOCTYPE valido 
XHTML 1.0 Transitional (default in ASP.NET 2.0) 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
XHTML 1.0 Strict 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
XHTML 1.0 Frameset 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> 
XHTML 1.1 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd"> 
XHTML 2.0 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 2.0//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml2.dtd">
Creazione di pagine XHTML (2/3) 
L’elemento root deve referenziare un namespace XHTML 
<html xmlns="http://www.w3.org/1999/xhtml" > 
Tutti gli elementi e gli attributi devono essere “lowercase” 
I valori degli attributi devono essere compresi tra “quotation 
marks” 
Gli elementi non vuoti che possiedono un tag di apertura devono 
avere un corrispondente tag di chiusura. 
 Es. <br>  <br></br> o <br /> (meglio!) 
No “tag overlapping” 
No “attribute minimization” 
 <input id=“mcb” type="checkbox" checked /> (NO) 
Usare l’attributo ‘id’ invece dell’attributo ‘name’
Creazione di pagine XHTML (3/3) 
Il contenuto di <script> e <style> all’interno di una pagina deve 
essere compreso nella sezione CDATA 
<script type="text/javascript"> 
<![CDATA[ 
function isLess(a, b) { if (a < b) return true; 
else return false; } 
]]> 
</script> 
<script type="text/javascript"> 
/* <![CDATA[ */ 
function isLess(a, b) { if (a < b) return true; 
else return false;} 
/* ]]> */ 
</script>
XHTML e MIME (Content) Types 
W3C specifica un MIME Type per i documenti XHTML 
application/xhtml+xml 
Come presentare contenuti XHTML 
 IE6+ non supporta application/xhtml+xml 
 Firefox e Opera supportano application/xhtml+xml 
Possibili Rendering Workarounds per IE6+: 
Utilizzare il MIME Type text/html (ASP.NET default) 
Utilizzare application/xml o text/xml (XML + XSL) 
Negoziazione: MIME Types differenti in base al Browser 
 ASP.NET: evento Application_PreSendRequestHeaders
Usato dai browser per effettuare il corretto rendering di siti Web 
sia standard-compliant che legacy 
QUIRKS 
Mode 
DOCTYPE Sniffing (Switching) 
ALMOST 
Standards 
Mode 
Standards 
Mode 
FULL 
Standards 
Mode 
Javascript Property document.compatMode 
BackCompat/QuirksMode 
CSS1Compat (Standards)
WAI 
WCAG 1.0
W3C WAI (Web Accessibility Initiative)
Web Content Accessibility Guidelines 1.0 
Priorità 
 Ogni checkpoint (65 in totale) ha un livello di priorità a 
seconda dell’impatto che esso possiede a livello di 
accessibilità 
 Priorità 1: must (requisiti di base) 
 Priorità 2: should (rimozione di barriere per l’accessibilità) 
 Priorità 3: may (miglioramenti per l’accessibilità) 
Conformità 
 Tutti i checkpoints con priorità 1 sono soddisfatti 
 Tutti i checkpoints con priorità 1 e 2 sono soddisfatti 
 Tutti i checkpoints con priorità 1,2 e 3 sono soddisfatti 
La dichiarazione di conformità è responsabilità del webmaster o del content provider. 
Lo spirito è quello di dimostrare l' impegno e testimoniare i risultati conseguiti.
Web Content Accessibility Guidelines 1.0 
1. Fornire alternative equivalenti al contenuto audio e 
visivo 
 “Fornire un contenuto che, quando viene presentato all'utente, gli 
trasmetta essenzialmente la stessa funzione o scopo del contenuto 
audio o visivo.” 
Considerazioni 
 La versione testuale può essere velocemente incanalato verso la 
sintesi vocale e la display braille, e può essere presentato 
visivamente (in vari formati) sul video del computer o su carta. 
 Anche fornire equivalenti non testuali (come immagini, video e 
audio pre-registrati) del testo scritto è di beneficio per alcuni utenti, 
specialmente per gli illetterati o per le persone che hanno difficoltà di 
lettura.
Web Captioning 
Caption = versione testuale di una parola pronunciata 
 Sincronizzazione: il testo dovrebbe apparire approssimativamente nello stesso istante in 
cui l’audio diventa disponibile 
 Equivalenza: il contenuto fornito nella versione testuale dovrebbe essere equivalente a 
quello pronunciato 
 Accessibilità: la versione testuale deve essere leggibile da un qualunque dispositivo 
Tecnologie 
 SMIL (Synchronized Multimedia Integration Language) 
 Quicktime e RealPlayer 
 SAMI (Synchronized Accessible Media Interchange) 
 Windows Media Player 
 Text Track 
 Quicktime 
 MAGpie 
 Creazione di “caption files” 
 Hi-Caption 
 Creazione di “caption files”
Web Content Accessibility Guidelines 1.0 
2. Non fare affidamento sul solo colore 
“Assicurarsi che il testo e la parte grafica siano comprensibili se 
consultati senza il colore.” 
 2.2 [Priorità 2 per le immagini, Priorità 3 per il testo] (Sbagliato?) 
Assicurarsi che le combinazioni fra colori dello sfondo e del primo piano forniscano un 
sufficiente contrasto se visti da qualcuno con deficit percettivi sul colore o se visti su uno 
schermo in bianco e nero. 
Considerazioni 
Tra primo piano e sfondo ci dovrebbe essere il massimo contrasto 
possibile, privilegiando la luminosità e non il tono (frequenza). 
Per gli ipovedenti, usare colori non eccessivamente luminosi e saturi, 
altrimenti possono verificarsi fastidiosi fenomeni di abbagliamento. 
Evitare sia Texture sotto il testo che il movimento disaccoppiato del 
testo rispetto all’immagine sullo sfondo
Web Content Accessibility Guidelines 1.0 
3. Usare marcatori e fogli di stile e farlo in modo 
appropriato 
 “Marcare i documenti con i corretti elementi strutturali. Controllare la 
presentazione con fogli di stile piuttosto che con elementi e attributi 
di presentazione.” 
Considerazioni 
 Un titolo = un contenuto 
 Non saltare livelli logici nell'uso delle intestazioni (H1…H6) 
 Scegliere bene gli elementi strutturali 
 Quando esiste un linguaggio di marcatori adatto, per veicolare 
informazione usare un marcatore piuttosto che le immagini (es. 
MathML – Mathematical Markup Language).
Web Content Accessibility Guidelines 1.0 
4. Chiarire l'uso di linguaggi naturali 
 “Utilizzare marcatori che facilitino la pronuncia o l'interpretazione di 
testi stranieri o abbreviati.” 
Considerazioni 
 Contrassegnare i cambiamenti di linguaggio naturale: gli screen 
reader e le periferiche braille possono selezionare automaticamente 
la nuova lingua, rendendo il documento più accessibile agli utenti 
multilingue. 
 Gli sviluppatori dovrebbero identificare il linguaggio naturale 
principale del contenuto di un documento (mediante marcatori o 
intestazioni HTTP).…  anche per i motori di ricerca! 
 quando una stessa sigla ricorre più volte, viene definita da un 
elemento ABBR o ACRONYM solo la prima volta che appare nel 
testo
Web Content Accessibility Guidelines 1.0 
5. Creare tabelle che si trasformino in maniera elegante. 
 “Assicurarsi che le tabelle abbiano la marcatura necessaria per 
essere trasformate dai browser accessibili e da altri interpreti.” 
Considerazioni 
 Le tabelle, in qualsiasi modo siano usate, presentano problemi 
particolari per gli utenti con lettori di schermo 
 Alcuni interpreti consentono agli utenti di navigare fra le celle delle 
tabelle e di accedere alle intestazioni e ad altre informazioni nelle 
celle. 
 Due tipi: tabelle dati e tabelle di impaginazione, distinguibili 
tramite relazioni semantiche (orizzontali/verticali) tra celle nella 
versione linearizzata 
 Caso critico: tabelle di impaginazione contenenti tabelle dati. 
 Le tabelle dati possono essere rese accessibili, o più accessibili, 
utilizzando un apposito codice di marcatura strutturale
Web Content Accessibility Guidelines 1.0 
6. Assicurarsi che le pagine che danno spazio a nuove 
tecnologie si trasformino in maniera elegante. 
 “Assicurarsi che le pagine siano accessibili anche quando le 
tecnologie più recenti non sono supportate o sono disabilitate”. 
Considerazioni 
 Comunicare la struttura logica unicamente per mezzo della presentazione 
visuale non è una soluzione accessibile! 
7. Assicurarsi che l'utente possa tenere sotto controllo i 
cambiamenti di contenuto nel corso del tempo. 
 “Assicurarsi che gli oggetti in movimento, lampeggianti, scorrevoli o 
che si autoaggiornano possano essere arrestati temporaneamente o 
definitivamente”.
Web Content Accessibility Guidelines 1.0 
8. Assicurare l'accessibilità diretta delle interfacce 
utente incorporate. 
 “Assicurarsi che la progettazione delle interfacce utente segua i 
principi dell'accessibilità: accesso alle diverse funzionalità 
indipendente dai dispositivi usati, possibilità di operare da tastiera, 
comandi vocali, ecc.” 
9. Progettare per garantire l'indipendenza da dispositivo 
 “Usare caratteristiche che permettono di attivare gli elementi della 
pagina attraverso una molteplicità di dispositivi di input.” 
 In genere, le pagine che permettono di interagire tramite tastiera sono accessibili 
anche tramite input vocale o interfaccia a linea di comando.
Javascript e Accessibilità 
Questioni Critiche 
Navigazione, Contenuti Nascosti, Controllo da parte 
dell’utente, Disorientamento 
Soluzioni 
 Usare Gestori di eventi indipendenti dal dispositivo (ad esempio, 
quelli che non richiedono l'uso del solo mouse) 
 Pagine web che utilizzano gli script devono essere completamente 
navigabili da tastiera 
 Javascript non dovrebbe modificare o ridefinire le normali 
funzionalità del browser 
 Nel caso in cui javascript non possa essere reso direttamente 
accessibile, deve essere predisposta un'alternativa accessibile 
 Contenuti e funzionalità devono comunque essere accessibili
Web Content Accessibility Guidelines 1.0 
10. Usare soluzioni provvisorie. 
 “Usare soluzioni provvisorie in modo che le tecnologie assistive e i 
browser più vecchi possano operare correttamente.” 
11. Usare le tecnologie e le raccomandazioni del W3C. 
 “Usare le tecnologie del W3C (in conformità con le specifiche) e 
seguire le raccomandazioni sull'accessibilità. Nei casi in cui non sia 
possibile usare una tecnologia del W3C, oppure se nell'utilizzarla si 
ottenesse materiale che non si trasforma in maniera elegante, 
fornire una versione alternativa del contenuto che sia accessibile.” 
12. Fornire informazione per la contestualizzazione e 
l'orientamento. 
 “Fornire informazione per la contestualizzazione e l'orientamento, 
per aiutare gli utenti a comprendere pagine od elementi complessi.”
Web Content Accessibility Guidelines 1.0 
13. Fornire chiari meccanismi di navigazione. 
 Identificare con chiarezza l'obiettivo di ogni collegamento 
 Creare una Mappa oppure un indice del sito 
 Usare meccanismi di navigazione in modo coerente. 
 Fornire barre di navigazione 
 Raggruppare i collegamenti correlati, identificare i gruppi (per gli interpreti) e, fornire un 
modo per saltare il gruppo. 
 Se sono fornite funzionalità di ricerca, rendere possibili diversi tipi di ricerca per differenti 
livelli di abilità e per preferenze diverse. 
14. Assicurarsi che i documenti siano chiari e semplici. 
 “Assicurarsi che i documenti siano chiari e semplici in modo che possano 
essere compresi più facilmente.” 
 Usare il linguaggio più chiaro e semplice possibile che sia adatto al contenuto di un sito. 
 Integrare il testo con presentazioni grafiche o uditive nei casi in cui esse possano 
facilitare la comprensione della pagina. 
 Creare uno stile di presentazione coerente fra le pagine.
WAI 
WCAG 2.0
Web Content Accessibility Guidelines 2.0 
Evoluzione delle WCAG 1.0 
Stessi principi ispiratori 
Struttura diversa 
Si considerano anche aspetti di qualità del sito: 
 usabilità 
 rispetto delle specifiche tecniche. 
Concetti generali da applicare ai contenuti web 
Principi di progettazione non specifici per HTML, XML, o altre 
tecnologie 
Principi da applicare a una varietà di situazioni e tecnologie, 
anche non ancora esistenti 
Attualmente a livello di Working Draft 
 (aprile 2007: Candidate Recommendation)
Web Content Accessibility Guidelines 2.0 
La struttura 
Quattro principi di progettazione 
 Percezione: il contenuto deve essere percettibile 
 Operabilità: gli elementi dell' interfaccia presenti nel contenuto 
devono essere azionabili 
 Comprensibilità: contenuto e controlli devono essere comprensibili 
 Robustezza: il contenuto deve essere abbastanza robusto da poter 
operare con le tecnologie presenti e future 
Per ogni principio, delle linee guida (13 in tutto) definiscono 
come si applica il principio in un' area specifica 
Per ogni linea guida, tre livelli di criteri di successo (“success 
criteria”), verificabili, per definire meglio le linee guida e 
determinare la conformità
Confronto tra WCAG 1.0 e WCAG 2.0 
Stato del documento 
 WCAG 1.0: unico documento stabile e referenziabile (Recommendation) 
 WCAG 2.0: documento ancora in fase di raffinamento (Working Draft) 
Conformità 
 WCAG 1.0: guideline con checkpoint. Conformità basata su checkpoint. 
 WCAG 2.0: principi, guideline e “success criteria”. Conformità basata su 
success criteria. 
Tecniche 
 WCAG 1.0: un documento contenente i link alle varie tecniche, un documento 
("Core") generale, e due documenti specifici (HTML e CSS) 
 WCAG 2.0: un documento generale, contenente link e tecniche generali, e 
vari documenti specifici (già disponibili HTML, CSS, client-side scripting, etc.) 
Checklist 
 WCAG 1.0: lista di checkpoint raggruppati per priorità 
 WCAG 2.0: lista di proposizioni verificabili che specificano cosa è richiesto 
per essere conformi alle WCAG 2.0 in quella specifica tecnologia
Validazione 
Accessibilità
Validare XHTML 
Un documento XHTML, come HTML è valido se 
Al suo inizio è dichiarata la DTD utilizzata nel documento; 
Gli elementi e gli attributi adoperati rispettano alla lettera la 
sintassi per loro definita nella DTD dichiarata all'inizio 
Markup Validator Service (http://validator.w3.org/) 
Errori comuni: 
 Elementi aperti e non chiusi o viceversa 
 Elementi incastrati invece che annidati (p.es. <b><i> ... </b></i>, 
invece di <b><i> ... </i></b>) 
 Uso di elementi e attributi non consentiti dalla Dtd adoperata 
 Uso del carattere ‘&' in una stringa di query invece di ‘&amp;' 
 Uso di valori di attributo non consentiti 
 Il testo di <noscript> deve essere incluso in un elemento strutturale 
 lang invece di xml:lang 
 L’attributo language non può essere usato per <script> e <style>
Validare CSS 
CSS Validator (http://jigsaw.w3.org/css-validator/) 
CSS Check (http://www.htmlhelp.com/tools/csscheck/) 
Errori Comuni 
 Mancanza del punto e virgola finale che chiude la dichiarazione di una 
proprietà 
 Mancanza della parentesi graffa che chiude un elenco di proprietà 
 Un colore dichiarato in valori esadecimali non preceduti dal simbolo ‘#' 
 ‘Sans-serif' scritto senza il trattino separatore 
 Nomi di classe e id non validi 
 Un commento (/* ... */) aperto e non chiuso, o viceversa 
Risolvere gli avvertimenti (warning) 
 Mancata indicazione di una famiglia di caratteri generica (Sans-Serif) 
 Mancata definizione del colore di primo piano se è stato definito il colore di 
sfondo, e viceversa 
 Uso di dimensionamenti fissi in luogo di quelli relativi e percentuali
Validazione dell’accessibilità (W3C) 
WCAG 1.0 – Appendice A 
 “Verificate l'accessibilità per mezzo di strumenti automatici e della 
revisione umana. I metodi automatici sono in genere rapidi e 
convenienti ma non possono identificare tutti i problemi di accessibilità. 
La revisione umana può aiutare a garantire la chiarezza del linguaggio 
e la semplicità della navigazione” 
Consigli W3C 
Controllare con strumenti automatici la validità della sintassi (x)HTML 
e CSS, nonché le misure prese per favorire l'accessibilità. 
 Nessun controllo automatico è in grado di valutare al 100% l'accessibilità di 
una pagina web 
Verificare la percepibilità dei contenuti per mezzo della vista e 
dell'udito nelle più disparate condizioni d'uso 
Controllare l’ortografia e valutare la leggibilità, eventualmente con 
strumenti automatici 
Ricorrere al giudizio possibilmente di persone con disabilità
Dichiarare la conformità alle WCAG 1.0 
La guerra dei bollini 
 Una pretesa di conformità spesso senza certificazione 
 Di fatto è una truffa per l’utente che non ha bisogno di bollini, ma di 
accessibilità 
 Senza revisori umani l’accessibilità non esiste 
 Esporre soltanto le dichiarazioni di conformità di cui si è 
assolutamente sicuri e che possono essere verificate dall'utente 
 Predisporre nel sito una pagina, in cui dichiarate quali controlli di 
revisione umana sono stati effettuati in aggiunta ai test automatici, e 
quando e come sono stati eseguiti l'ultima volta. 
Portale “Spazio Europa della regione Emilia Romagna” 
 Conformità ad HTML 4.01, CSS 2.0, Bobby AAA e Bobby Section 
508, WCAG 1.0 AAA … NOOOO! 
 Diffidare di siti con abbondanza di bollini, soprattutto se sono 
teoricamente incompatibili
I migliori strumenti automatici 
AIS (Web Accessibility Toolbar) IE 
Web Developer (Firefox) 
Internet Explorer Developer Toolbar IE 
Lynx Browser/Viewer 
Fang (Firefox) 
HTML Tidy 
 strumento a linea di comando molto potente: è in grado di individuare e correggere 
errori di sintassi (X)HTML e di fornire utili suggerimenti per il miglioramento 
dell'accessibilità. Ora su Source Forge 
A-Prompt 
 Un valutatore dell'accessibilità sviluppato dall'Università di Toronto, da scaricare in 
locale: è in grado di fornire indicazioni di conformità sia alla Section 508 sia alle 
WCAG 1.0. 
Wikipedia (Paragone tra Screen Reader) 
 ( http://en.wikipedia.org/wiki/List_of_screen_readers )
I migliori strumenti automatici 
WebXact (http://webxact.watchfire.com) 
 Strumento di validazione on line della Watchfire, la stessa casa produttrice di Bobby. 
Offre all'incirca le stesse informazioni di Bobby, ma in un modo più organizzato ed 
usabile. 
Cynthia Says portal (http://www.contentquality.com) 
 Consente una valutazione dell'accessibilità che si estende in qualche misura anche 
alla proprietà dei testi alternativi: valuta per esempio la lunghezza dei testi ALT e se 
questi ripetono il nome dell'immagine a cui si riferiscono. 
Torquemada (http://www.webxtutti.it) 
 Valutatore automatico dell'accessibilità tutto italiano, sviluppato dalla Fondazione Ugo 
Bordoni. 
WAVE 3.5 Accessibility Tool (development version) ( 
http://dev.wave.webaim.org) 
 I risultati della validazione sono rappresentati graficamente e gli avvertimenti sono 
contestuali alla posizione di rilevamento. 
Web Accessibility Checker (http://checker.atrc.utoronto.ca) 
 Supporto alla Legge Stanca
Conclusioni 
Consigli Finali per una buona accessibilità 
Separare SEMPRE la presentazione dal contenuto 
Usare DTD rigorose (es. XHTML 1.1 o XHTML 1.0 Strict) 
Mai basarsi sul colore per fornire informazioni 
Evidenziare la struttura logica dei contenuti testuali 
 H1,H2,H3 etc. 
Realizzare moduli accessibili 
 FIELDSET, LEGEND, LABEL etc. + CSS 
Massima attenzione alle tabelle dati 
 TH, SUMMARY, CAPTION etc. 
Occhio alla linearizzazione dei contenuti (sostituire le tabelle usate 
a scopo di impaginazione con soluzioni basate sui CSS) 
 Scrivere testi accessibili e non dipendenti da un ambito
Conclusioni 
Consigli Finali per una buona accessibilità 
Non usare i FRAME 
Assicurarsi di scrivere XHTML e CSS validi 
Usare revisione automatiche per gli errori di accessibilità legati 
al codice 
Usare la revisione umana 
Porsi come obiettivo il raggiungimento di un'accessibilità 
reale
Grazie per l’attenzione… 
FINE

Contenu connexe

Similaire à Accessibilità: tecniche e validazione

Html e Css - 1 | WebMaster & WebDesigner
Html e Css - 1 | WebMaster & WebDesigner Html e Css - 1 | WebMaster & WebDesigner
Html e Css - 1 | WebMaster & WebDesigner Matteo Magni
 
Html e Css - 1 | WebMaster & WebDesigner
Html e Css - 1 | WebMaster & WebDesignerHtml e Css - 1 | WebMaster & WebDesigner
Html e Css - 1 | WebMaster & WebDesignerMatteo Magni
 
Corso di Formazione: Redattore di Sito Web Dipartimentale
Corso di Formazione: Redattore di Sito Web DipartimentaleCorso di Formazione: Redattore di Sito Web Dipartimentale
Corso di Formazione: Redattore di Sito Web DipartimentaleUniversity of Padua
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web DesignSimone Viani
 
accessibilità_web - valeria_neri
accessibilità_web - valeria_neriaccessibilità_web - valeria_neri
accessibilità_web - valeria_nerineri & neri
 
Accessibilità dei Contenuti per il Web secondo il W3C: Introduzione alle WCAG...
Accessibilità dei Contenuti per il Web secondo il W3C: Introduzione alle WCAG...Accessibilità dei Contenuti per il Web secondo il W3C: Introduzione alle WCAG...
Accessibilità dei Contenuti per il Web secondo il W3C: Introduzione alle WCAG...Simone Onofri
 
Siti Web: parola visuale, analisi del lettore, usability dei testi ed accessi...
Siti Web: parola visuale, analisi del lettore, usability dei testi ed accessi...Siti Web: parola visuale, analisi del lettore, usability dei testi ed accessi...
Siti Web: parola visuale, analisi del lettore, usability dei testi ed accessi...bsdlover
 
Accessibilità del Web 2.0 - SMAU 2008
Accessibilità del Web 2.0 - SMAU 2008Accessibilità del Web 2.0 - SMAU 2008
Accessibilità del Web 2.0 - SMAU 2008Roberto Castaldo
 
5 - Introduzione al Web (2/2) - 16/17
5 - Introduzione al Web (2/2) - 16/175 - Introduzione al Web (2/2) - 16/17
5 - Introduzione al Web (2/2) - 16/17Giuseppe Vizzari
 
Thesis: browser MHP-XHTML on DVB-T decoder
Thesis: browser MHP-XHTML on DVB-T decoderThesis: browser MHP-XHTML on DVB-T decoder
Thesis: browser MHP-XHTML on DVB-T decoderguest263043
 
Html e Css - 2 | WebMaster & WebDesigner
 Html e Css - 2 | WebMaster & WebDesigner Html e Css - 2 | WebMaster & WebDesigner
Html e Css - 2 | WebMaster & WebDesignerMatteo Magni
 
Html e Css - 2 | WebMaster & WebDesigner
Html e Css - 2 | WebMaster & WebDesignerHtml e Css - 2 | WebMaster & WebDesigner
Html e Css - 2 | WebMaster & WebDesignerMatteo Magni
 
7. Applicazioni web e CMS
7. Applicazioni web e CMS7. Applicazioni web e CMS
7. Applicazioni web e CMSRoberto Polillo
 
•Blog: quali tecnologie per il futuro?
•Blog: quali tecnologie per il futuro?•Blog: quali tecnologie per il futuro?
•Blog: quali tecnologie per il futuro?IWA
 
Introduzione a Internet
Introduzione a InternetIntroduzione a Internet
Introduzione a Internetdadahtml
 
Introduzione al web writing
Introduzione al web writingIntroduzione al web writing
Introduzione al web writingAndrea Spila
 

Similaire à Accessibilità: tecniche e validazione (20)

Html5
Html5Html5
Html5
 
Html e Css - 1 | WebMaster & WebDesigner
Html e Css - 1 | WebMaster & WebDesigner Html e Css - 1 | WebMaster & WebDesigner
Html e Css - 1 | WebMaster & WebDesigner
 
Html e Css - 1 | WebMaster & WebDesigner
Html e Css - 1 | WebMaster & WebDesignerHtml e Css - 1 | WebMaster & WebDesigner
Html e Css - 1 | WebMaster & WebDesigner
 
2 accessibilità web
2 accessibilità web2 accessibilità web
2 accessibilità web
 
Corso di Formazione: Redattore di Sito Web Dipartimentale
Corso di Formazione: Redattore di Sito Web DipartimentaleCorso di Formazione: Redattore di Sito Web Dipartimentale
Corso di Formazione: Redattore di Sito Web Dipartimentale
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
accessibilità_web - valeria_neri
accessibilità_web - valeria_neriaccessibilità_web - valeria_neri
accessibilità_web - valeria_neri
 
Accessibilità dei Contenuti per il Web secondo il W3C: Introduzione alle WCAG...
Accessibilità dei Contenuti per il Web secondo il W3C: Introduzione alle WCAG...Accessibilità dei Contenuti per il Web secondo il W3C: Introduzione alle WCAG...
Accessibilità dei Contenuti per il Web secondo il W3C: Introduzione alle WCAG...
 
Siti Web: parola visuale, analisi del lettore, usability dei testi ed accessi...
Siti Web: parola visuale, analisi del lettore, usability dei testi ed accessi...Siti Web: parola visuale, analisi del lettore, usability dei testi ed accessi...
Siti Web: parola visuale, analisi del lettore, usability dei testi ed accessi...
 
Accessibilità del Web 2.0 - SMAU 2008
Accessibilità del Web 2.0 - SMAU 2008Accessibilità del Web 2.0 - SMAU 2008
Accessibilità del Web 2.0 - SMAU 2008
 
8. Architetture web
8. Architetture web8. Architetture web
8. Architetture web
 
5 - Introduzione al Web (2/2) - 16/17
5 - Introduzione al Web (2/2) - 16/175 - Introduzione al Web (2/2) - 16/17
5 - Introduzione al Web (2/2) - 16/17
 
Thesis: browser MHP-XHTML on DVB-T decoder
Thesis: browser MHP-XHTML on DVB-T decoderThesis: browser MHP-XHTML on DVB-T decoder
Thesis: browser MHP-XHTML on DVB-T decoder
 
Html e Css - 2 | WebMaster & WebDesigner
 Html e Css - 2 | WebMaster & WebDesigner Html e Css - 2 | WebMaster & WebDesigner
Html e Css - 2 | WebMaster & WebDesigner
 
Html e Css - 2 | WebMaster & WebDesigner
Html e Css - 2 | WebMaster & WebDesignerHtml e Css - 2 | WebMaster & WebDesigner
Html e Css - 2 | WebMaster & WebDesigner
 
7. Applicazioni web e CMS
7. Applicazioni web e CMS7. Applicazioni web e CMS
7. Applicazioni web e CMS
 
Accessibilità dei siti web
Accessibilità dei siti webAccessibilità dei siti web
Accessibilità dei siti web
 
•Blog: quali tecnologie per il futuro?
•Blog: quali tecnologie per il futuro?•Blog: quali tecnologie per il futuro?
•Blog: quali tecnologie per il futuro?
 
Introduzione a Internet
Introduzione a InternetIntroduzione a Internet
Introduzione a Internet
 
Introduzione al web writing
Introduzione al web writingIntroduzione al web writing
Introduzione al web writing
 

Plus de DotNetMarche

Creare una community dal basso ed arrivare ad un'azienda milionaria - Emanue...
Creare una community dal basso ed arrivare ad un'azienda milionaria  - Emanue...Creare una community dal basso ed arrivare ad un'azienda milionaria  - Emanue...
Creare una community dal basso ed arrivare ad un'azienda milionaria - Emanue...DotNetMarche
 
Metriche per Zombie Communities: come "iniettare vita" in tribù di morti vive...
Metriche per Zombie Communities: come "iniettare vita" in tribù di morti vive...Metriche per Zombie Communities: come "iniettare vita" in tribù di morti vive...
Metriche per Zombie Communities: come "iniettare vita" in tribù di morti vive...DotNetMarche
 
UI Composition - Prism
UI Composition - PrismUI Composition - Prism
UI Composition - PrismDotNetMarche
 
Model-View-ViewModel
Model-View-ViewModelModel-View-ViewModel
Model-View-ViewModelDotNetMarche
 
Refactoring ASP.NET and beyond
Refactoring ASP.NET and beyondRefactoring ASP.NET and beyond
Refactoring ASP.NET and beyondDotNetMarche
 
Refactoring 2TheMax (con ReSharper)
Refactoring 2TheMax (con ReSharper)Refactoring 2TheMax (con ReSharper)
Refactoring 2TheMax (con ReSharper)DotNetMarche
 
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in ActionDotNetMarche
 
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in ActionDotNetMarche
 
Soluzioni Microsoft per l'e-Learning
Soluzioni Microsoft per l'e-LearningSoluzioni Microsoft per l'e-Learning
Soluzioni Microsoft per l'e-LearningDotNetMarche
 
Installing and Administering MOSS
Installing and Administering MOSSInstalling and Administering MOSS
Installing and Administering MOSSDotNetMarche
 
Microsoft SharePoint Server 2007 Technical Overview
Microsoft SharePoint Server 2007 Technical OverviewMicrosoft SharePoint Server 2007 Technical Overview
Microsoft SharePoint Server 2007 Technical OverviewDotNetMarche
 
[Hands on] testing asp.net mvc
[Hands on] testing asp.net mvc[Hands on] testing asp.net mvc
[Hands on] testing asp.net mvcDotNetMarche
 
Asp.NET MVC Framework
Asp.NET MVC FrameworkAsp.NET MVC Framework
Asp.NET MVC FrameworkDotNetMarche
 
Introduzione al Testing
Introduzione al TestingIntroduzione al Testing
Introduzione al TestingDotNetMarche
 
Introduzione a CardSpace
Introduzione a CardSpaceIntroduzione a CardSpace
Introduzione a CardSpaceDotNetMarche
 

Plus de DotNetMarche (20)

Creare una community dal basso ed arrivare ad un'azienda milionaria - Emanue...
Creare una community dal basso ed arrivare ad un'azienda milionaria  - Emanue...Creare una community dal basso ed arrivare ad un'azienda milionaria  - Emanue...
Creare una community dal basso ed arrivare ad un'azienda milionaria - Emanue...
 
Metriche per Zombie Communities: come "iniettare vita" in tribù di morti vive...
Metriche per Zombie Communities: come "iniettare vita" in tribù di morti vive...Metriche per Zombie Communities: come "iniettare vita" in tribù di morti vive...
Metriche per Zombie Communities: come "iniettare vita" in tribù di morti vive...
 
WPF 4 fun
WPF 4 funWPF 4 fun
WPF 4 fun
 
UI Composition - Prism
UI Composition - PrismUI Composition - Prism
UI Composition - Prism
 
UI Composition
UI CompositionUI Composition
UI Composition
 
Model-View-ViewModel
Model-View-ViewModelModel-View-ViewModel
Model-View-ViewModel
 
WPF basics
WPF basicsWPF basics
WPF basics
 
Refactoring ASP.NET and beyond
Refactoring ASP.NET and beyondRefactoring ASP.NET and beyond
Refactoring ASP.NET and beyond
 
Refactoring 2TheMax (con ReSharper)
Refactoring 2TheMax (con ReSharper)Refactoring 2TheMax (con ReSharper)
Refactoring 2TheMax (con ReSharper)
 
jQuery Loves You
jQuery Loves YoujQuery Loves You
jQuery Loves You
 
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in Action
 
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in Action
 
Open XML & MOSS
Open XML & MOSSOpen XML & MOSS
Open XML & MOSS
 
Soluzioni Microsoft per l'e-Learning
Soluzioni Microsoft per l'e-LearningSoluzioni Microsoft per l'e-Learning
Soluzioni Microsoft per l'e-Learning
 
Installing and Administering MOSS
Installing and Administering MOSSInstalling and Administering MOSS
Installing and Administering MOSS
 
Microsoft SharePoint Server 2007 Technical Overview
Microsoft SharePoint Server 2007 Technical OverviewMicrosoft SharePoint Server 2007 Technical Overview
Microsoft SharePoint Server 2007 Technical Overview
 
[Hands on] testing asp.net mvc
[Hands on] testing asp.net mvc[Hands on] testing asp.net mvc
[Hands on] testing asp.net mvc
 
Asp.NET MVC Framework
Asp.NET MVC FrameworkAsp.NET MVC Framework
Asp.NET MVC Framework
 
Introduzione al Testing
Introduzione al TestingIntroduzione al Testing
Introduzione al Testing
 
Introduzione a CardSpace
Introduzione a CardSpaceIntroduzione a CardSpace
Introduzione a CardSpace
 

Accessibilità: tecniche e validazione

  • 1. 3° Workshop Accessibilità: “primi passi per un mondo fruibile da tutti” TECNICHE E VALIDAZIONE dott. Dario Santarelli e-Lios s.r.l. (Area Sviluppo) Email: dario.santarelli@unicam.it Mobile: +39 333 3742535 WeBlog: http://www.dariosantarelli.wordpress.com
  • 2. Sommario Introduzione  Accessibilità: un fatto tecnico? Separazione tra presentazione e contenuto  XHTML e CSS  Il supporto dei browser WAI WCAG 1.0  Alcune Demo WAI WCAG 2.0  Confronto con il passato Validazione dell’ accessibilità  I migliori strumenti Conclusioni
  • 4. Accessibilità: un fatto tecnico? Schiacciante verità: un sito può essere tecnicamente accessibile, ma di fatto non fruibile per un disabile… La vera sfida del Web è l’ usabilità! Dov’è il Problema?  L'accessibilità, così come è concepita dalle attuali WCAG 1.0, rivolge le sue raccomandazioni al "content developer” (Someone who authors Web pages or designs Web sites“)  Progettista/Web Designer  Sviluppatore  L’autore dei contenuti  Alcune raccomandazioni delle WCAG 1.0 hanno a che vedere con l’usabilità, ma non forniscono metodologie. Il primo passo per creare siti accessibili è creare siti che siano accessibili alle macchine. La migliore chance per ottenere ciò è usare linguaggi di markup standard.
  • 5. Separazione tra Contenuto e Presentazione XHTML + CSS
  • 6. Separare il contenuto dalla Presentazione 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  (es. stampato, presentazione grafica bi-dimensionale, presentazione solo testuale, discorso riprodotto da un sintetizzatore, braille, ecc.) Tutti i possibili tipi di presentazione di un documento dovrebbero mostrare contenuti equivalenti  Prevedere più canali sensoriali  Non prevedere vincoli su parametri di utilizzo di un determinato “user agent”
  • 7. Separare il contenuto dalla Presentazione Primo passo da compiere: eliminare dal codice HTML gli elementi e gli attributi di presentazione.  A partire dalla versione 4 delle specifiche HTML, l'uso di elementi e attributi di presentazione è stato disapprovato dal W3C in favore, appunto, dell'uso dei fogli di stile. Presentazione: Impatto dei CSS sul Web  Riduzione del peso medio di una pagina del 50-60%.  Possibilità di presentazioni alternative, ciascuna adatta alla riproduzione su una differente periferica (schermo, stampa, sintetizzatori vocali, ecc.)  Ottenimento di un codice (x)HTML più lineare e pulito, senza il ricorso ad artifici sconsigliati per l'accessibilità
  • 8. Presentazioni alternative Più dispositivi = Più presentazioni  I browser non offrono un supporto uniforme ed universale al cambio automatico del foglio di stile a seconda del tipo di media.. Si deve spesso ricorrere a Tecniche di Style Switching Terminali / Telescriventi / Palmari (media="tty” o media=“handheld”) Impossibile trovare un foglio di stile universalmente adatto  Braille (media=“braille”) Sono realmente supportati dai CSS? Uno sviluppatore vedente possiede le competenze per generare un tale foglio di stile?  Sintetizzatori vocali (media=“aural”) Praticamente nessuno sviluppatore conosce le esigenze di ascolto dell’utente finale.. CSS 2 Media Types all aural braille embossed handheld print projection screen tty tv
  • 9. XHTML (eXtensible HyperText Markup Language) XHTML è il successore di HTML  XHTML 1.0 = riformulazione di HTML 4.01 in XML 1.0 Obiettivi  Separazione tra la struttura del documento e la presentazione  utilizzare CSS preferibilmente esterni  Riformulare HTML come XML Versioni  XHTML 1.0 Transitional  XHTML 1.0 Strict  XHTML 1.0 Frameset  XHTML 1.1  XHTML 2.0
  • 10. Creazione di pagine XHTML (1/3) Specificare un XHTML DOCTYPE valido XHTML 1.0 Transitional (default in ASP.NET 2.0) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> XHTML 1.0 Strict <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> XHTML 1.0 Frameset <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> XHTML 1.1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd"> XHTML 2.0 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 2.0//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml2.dtd">
  • 11. Creazione di pagine XHTML (2/3) L’elemento root deve referenziare un namespace XHTML <html xmlns="http://www.w3.org/1999/xhtml" > Tutti gli elementi e gli attributi devono essere “lowercase” I valori degli attributi devono essere compresi tra “quotation marks” Gli elementi non vuoti che possiedono un tag di apertura devono avere un corrispondente tag di chiusura.  Es. <br>  <br></br> o <br /> (meglio!) No “tag overlapping” No “attribute minimization”  <input id=“mcb” type="checkbox" checked /> (NO) Usare l’attributo ‘id’ invece dell’attributo ‘name’
  • 12. Creazione di pagine XHTML (3/3) Il contenuto di <script> e <style> all’interno di una pagina deve essere compreso nella sezione CDATA <script type="text/javascript"> <![CDATA[ function isLess(a, b) { if (a < b) return true; else return false; } ]]> </script> <script type="text/javascript"> /* <![CDATA[ */ function isLess(a, b) { if (a < b) return true; else return false;} /* ]]> */ </script>
  • 13. XHTML e MIME (Content) Types W3C specifica un MIME Type per i documenti XHTML application/xhtml+xml Come presentare contenuti XHTML  IE6+ non supporta application/xhtml+xml  Firefox e Opera supportano application/xhtml+xml Possibili Rendering Workarounds per IE6+: Utilizzare il MIME Type text/html (ASP.NET default) Utilizzare application/xml o text/xml (XML + XSL) Negoziazione: MIME Types differenti in base al Browser  ASP.NET: evento Application_PreSendRequestHeaders
  • 14. Usato dai browser per effettuare il corretto rendering di siti Web sia standard-compliant che legacy QUIRKS Mode DOCTYPE Sniffing (Switching) ALMOST Standards Mode Standards Mode FULL Standards Mode Javascript Property document.compatMode BackCompat/QuirksMode CSS1Compat (Standards)
  • 16. W3C WAI (Web Accessibility Initiative)
  • 17. Web Content Accessibility Guidelines 1.0 Priorità  Ogni checkpoint (65 in totale) ha un livello di priorità a seconda dell’impatto che esso possiede a livello di accessibilità  Priorità 1: must (requisiti di base)  Priorità 2: should (rimozione di barriere per l’accessibilità)  Priorità 3: may (miglioramenti per l’accessibilità) Conformità  Tutti i checkpoints con priorità 1 sono soddisfatti  Tutti i checkpoints con priorità 1 e 2 sono soddisfatti  Tutti i checkpoints con priorità 1,2 e 3 sono soddisfatti La dichiarazione di conformità è responsabilità del webmaster o del content provider. Lo spirito è quello di dimostrare l' impegno e testimoniare i risultati conseguiti.
  • 18. Web Content Accessibility Guidelines 1.0 1. Fornire alternative equivalenti al contenuto audio e visivo  “Fornire un contenuto che, quando viene presentato all'utente, gli trasmetta essenzialmente la stessa funzione o scopo del contenuto audio o visivo.” Considerazioni  La versione testuale può essere velocemente incanalato verso la sintesi vocale e la display braille, e può essere presentato visivamente (in vari formati) sul video del computer o su carta.  Anche fornire equivalenti non testuali (come immagini, video e audio pre-registrati) del testo scritto è di beneficio per alcuni utenti, specialmente per gli illetterati o per le persone che hanno difficoltà di lettura.
  • 19. Web Captioning Caption = versione testuale di una parola pronunciata  Sincronizzazione: il testo dovrebbe apparire approssimativamente nello stesso istante in cui l’audio diventa disponibile  Equivalenza: il contenuto fornito nella versione testuale dovrebbe essere equivalente a quello pronunciato  Accessibilità: la versione testuale deve essere leggibile da un qualunque dispositivo Tecnologie  SMIL (Synchronized Multimedia Integration Language)  Quicktime e RealPlayer  SAMI (Synchronized Accessible Media Interchange)  Windows Media Player  Text Track  Quicktime  MAGpie  Creazione di “caption files”  Hi-Caption  Creazione di “caption files”
  • 20. Web Content Accessibility Guidelines 1.0 2. Non fare affidamento sul solo colore “Assicurarsi che il testo e la parte grafica siano comprensibili se consultati senza il colore.”  2.2 [Priorità 2 per le immagini, Priorità 3 per il testo] (Sbagliato?) Assicurarsi che le combinazioni fra colori dello sfondo e del primo piano forniscano un sufficiente contrasto se visti da qualcuno con deficit percettivi sul colore o se visti su uno schermo in bianco e nero. Considerazioni Tra primo piano e sfondo ci dovrebbe essere il massimo contrasto possibile, privilegiando la luminosità e non il tono (frequenza). Per gli ipovedenti, usare colori non eccessivamente luminosi e saturi, altrimenti possono verificarsi fastidiosi fenomeni di abbagliamento. Evitare sia Texture sotto il testo che il movimento disaccoppiato del testo rispetto all’immagine sullo sfondo
  • 21. Web Content Accessibility Guidelines 1.0 3. Usare marcatori e fogli di stile e farlo in modo appropriato  “Marcare i documenti con i corretti elementi strutturali. Controllare la presentazione con fogli di stile piuttosto che con elementi e attributi di presentazione.” Considerazioni  Un titolo = un contenuto  Non saltare livelli logici nell'uso delle intestazioni (H1…H6)  Scegliere bene gli elementi strutturali  Quando esiste un linguaggio di marcatori adatto, per veicolare informazione usare un marcatore piuttosto che le immagini (es. MathML – Mathematical Markup Language).
  • 22. Web Content Accessibility Guidelines 1.0 4. Chiarire l'uso di linguaggi naturali  “Utilizzare marcatori che facilitino la pronuncia o l'interpretazione di testi stranieri o abbreviati.” Considerazioni  Contrassegnare i cambiamenti di linguaggio naturale: gli screen reader e le periferiche braille possono selezionare automaticamente la nuova lingua, rendendo il documento più accessibile agli utenti multilingue.  Gli sviluppatori dovrebbero identificare il linguaggio naturale principale del contenuto di un documento (mediante marcatori o intestazioni HTTP).…  anche per i motori di ricerca!  quando una stessa sigla ricorre più volte, viene definita da un elemento ABBR o ACRONYM solo la prima volta che appare nel testo
  • 23. Web Content Accessibility Guidelines 1.0 5. Creare tabelle che si trasformino in maniera elegante.  “Assicurarsi che le tabelle abbiano la marcatura necessaria per essere trasformate dai browser accessibili e da altri interpreti.” Considerazioni  Le tabelle, in qualsiasi modo siano usate, presentano problemi particolari per gli utenti con lettori di schermo  Alcuni interpreti consentono agli utenti di navigare fra le celle delle tabelle e di accedere alle intestazioni e ad altre informazioni nelle celle.  Due tipi: tabelle dati e tabelle di impaginazione, distinguibili tramite relazioni semantiche (orizzontali/verticali) tra celle nella versione linearizzata  Caso critico: tabelle di impaginazione contenenti tabelle dati.  Le tabelle dati possono essere rese accessibili, o più accessibili, utilizzando un apposito codice di marcatura strutturale
  • 24. Web Content Accessibility Guidelines 1.0 6. Assicurarsi che le pagine che danno spazio a nuove tecnologie si trasformino in maniera elegante.  “Assicurarsi che le pagine siano accessibili anche quando le tecnologie più recenti non sono supportate o sono disabilitate”. Considerazioni  Comunicare la struttura logica unicamente per mezzo della presentazione visuale non è una soluzione accessibile! 7. Assicurarsi che l'utente possa tenere sotto controllo i cambiamenti di contenuto nel corso del tempo.  “Assicurarsi che gli oggetti in movimento, lampeggianti, scorrevoli o che si autoaggiornano possano essere arrestati temporaneamente o definitivamente”.
  • 25. Web Content Accessibility Guidelines 1.0 8. Assicurare l'accessibilità diretta delle interfacce utente incorporate.  “Assicurarsi che la progettazione delle interfacce utente segua i principi dell'accessibilità: accesso alle diverse funzionalità indipendente dai dispositivi usati, possibilità di operare da tastiera, comandi vocali, ecc.” 9. Progettare per garantire l'indipendenza da dispositivo  “Usare caratteristiche che permettono di attivare gli elementi della pagina attraverso una molteplicità di dispositivi di input.”  In genere, le pagine che permettono di interagire tramite tastiera sono accessibili anche tramite input vocale o interfaccia a linea di comando.
  • 26. Javascript e Accessibilità Questioni Critiche Navigazione, Contenuti Nascosti, Controllo da parte dell’utente, Disorientamento Soluzioni  Usare Gestori di eventi indipendenti dal dispositivo (ad esempio, quelli che non richiedono l'uso del solo mouse)  Pagine web che utilizzano gli script devono essere completamente navigabili da tastiera  Javascript non dovrebbe modificare o ridefinire le normali funzionalità del browser  Nel caso in cui javascript non possa essere reso direttamente accessibile, deve essere predisposta un'alternativa accessibile  Contenuti e funzionalità devono comunque essere accessibili
  • 27. Web Content Accessibility Guidelines 1.0 10. Usare soluzioni provvisorie.  “Usare soluzioni provvisorie in modo che le tecnologie assistive e i browser più vecchi possano operare correttamente.” 11. Usare le tecnologie e le raccomandazioni del W3C.  “Usare le tecnologie del W3C (in conformità con le specifiche) e seguire le raccomandazioni sull'accessibilità. Nei casi in cui non sia possibile usare una tecnologia del W3C, oppure se nell'utilizzarla si ottenesse materiale che non si trasforma in maniera elegante, fornire una versione alternativa del contenuto che sia accessibile.” 12. Fornire informazione per la contestualizzazione e l'orientamento.  “Fornire informazione per la contestualizzazione e l'orientamento, per aiutare gli utenti a comprendere pagine od elementi complessi.”
  • 28. Web Content Accessibility Guidelines 1.0 13. Fornire chiari meccanismi di navigazione.  Identificare con chiarezza l'obiettivo di ogni collegamento  Creare una Mappa oppure un indice del sito  Usare meccanismi di navigazione in modo coerente.  Fornire barre di navigazione  Raggruppare i collegamenti correlati, identificare i gruppi (per gli interpreti) e, fornire un modo per saltare il gruppo.  Se sono fornite funzionalità di ricerca, rendere possibili diversi tipi di ricerca per differenti livelli di abilità e per preferenze diverse. 14. Assicurarsi che i documenti siano chiari e semplici.  “Assicurarsi che i documenti siano chiari e semplici in modo che possano essere compresi più facilmente.”  Usare il linguaggio più chiaro e semplice possibile che sia adatto al contenuto di un sito.  Integrare il testo con presentazioni grafiche o uditive nei casi in cui esse possano facilitare la comprensione della pagina.  Creare uno stile di presentazione coerente fra le pagine.
  • 30. Web Content Accessibility Guidelines 2.0 Evoluzione delle WCAG 1.0 Stessi principi ispiratori Struttura diversa Si considerano anche aspetti di qualità del sito:  usabilità  rispetto delle specifiche tecniche. Concetti generali da applicare ai contenuti web Principi di progettazione non specifici per HTML, XML, o altre tecnologie Principi da applicare a una varietà di situazioni e tecnologie, anche non ancora esistenti Attualmente a livello di Working Draft  (aprile 2007: Candidate Recommendation)
  • 31. Web Content Accessibility Guidelines 2.0 La struttura Quattro principi di progettazione  Percezione: il contenuto deve essere percettibile  Operabilità: gli elementi dell' interfaccia presenti nel contenuto devono essere azionabili  Comprensibilità: contenuto e controlli devono essere comprensibili  Robustezza: il contenuto deve essere abbastanza robusto da poter operare con le tecnologie presenti e future Per ogni principio, delle linee guida (13 in tutto) definiscono come si applica il principio in un' area specifica Per ogni linea guida, tre livelli di criteri di successo (“success criteria”), verificabili, per definire meglio le linee guida e determinare la conformità
  • 32. Confronto tra WCAG 1.0 e WCAG 2.0 Stato del documento  WCAG 1.0: unico documento stabile e referenziabile (Recommendation)  WCAG 2.0: documento ancora in fase di raffinamento (Working Draft) Conformità  WCAG 1.0: guideline con checkpoint. Conformità basata su checkpoint.  WCAG 2.0: principi, guideline e “success criteria”. Conformità basata su success criteria. Tecniche  WCAG 1.0: un documento contenente i link alle varie tecniche, un documento ("Core") generale, e due documenti specifici (HTML e CSS)  WCAG 2.0: un documento generale, contenente link e tecniche generali, e vari documenti specifici (già disponibili HTML, CSS, client-side scripting, etc.) Checklist  WCAG 1.0: lista di checkpoint raggruppati per priorità  WCAG 2.0: lista di proposizioni verificabili che specificano cosa è richiesto per essere conformi alle WCAG 2.0 in quella specifica tecnologia
  • 34. Validare XHTML Un documento XHTML, come HTML è valido se Al suo inizio è dichiarata la DTD utilizzata nel documento; Gli elementi e gli attributi adoperati rispettano alla lettera la sintassi per loro definita nella DTD dichiarata all'inizio Markup Validator Service (http://validator.w3.org/) Errori comuni:  Elementi aperti e non chiusi o viceversa  Elementi incastrati invece che annidati (p.es. <b><i> ... </b></i>, invece di <b><i> ... </i></b>)  Uso di elementi e attributi non consentiti dalla Dtd adoperata  Uso del carattere ‘&' in una stringa di query invece di ‘&amp;'  Uso di valori di attributo non consentiti  Il testo di <noscript> deve essere incluso in un elemento strutturale  lang invece di xml:lang  L’attributo language non può essere usato per <script> e <style>
  • 35. Validare CSS CSS Validator (http://jigsaw.w3.org/css-validator/) CSS Check (http://www.htmlhelp.com/tools/csscheck/) Errori Comuni  Mancanza del punto e virgola finale che chiude la dichiarazione di una proprietà  Mancanza della parentesi graffa che chiude un elenco di proprietà  Un colore dichiarato in valori esadecimali non preceduti dal simbolo ‘#'  ‘Sans-serif' scritto senza il trattino separatore  Nomi di classe e id non validi  Un commento (/* ... */) aperto e non chiuso, o viceversa Risolvere gli avvertimenti (warning)  Mancata indicazione di una famiglia di caratteri generica (Sans-Serif)  Mancata definizione del colore di primo piano se è stato definito il colore di sfondo, e viceversa  Uso di dimensionamenti fissi in luogo di quelli relativi e percentuali
  • 36. Validazione dell’accessibilità (W3C) WCAG 1.0 – Appendice A  “Verificate l'accessibilità per mezzo di strumenti automatici e della revisione umana. I metodi automatici sono in genere rapidi e convenienti ma non possono identificare tutti i problemi di accessibilità. La revisione umana può aiutare a garantire la chiarezza del linguaggio e la semplicità della navigazione” Consigli W3C Controllare con strumenti automatici la validità della sintassi (x)HTML e CSS, nonché le misure prese per favorire l'accessibilità.  Nessun controllo automatico è in grado di valutare al 100% l'accessibilità di una pagina web Verificare la percepibilità dei contenuti per mezzo della vista e dell'udito nelle più disparate condizioni d'uso Controllare l’ortografia e valutare la leggibilità, eventualmente con strumenti automatici Ricorrere al giudizio possibilmente di persone con disabilità
  • 37. Dichiarare la conformità alle WCAG 1.0 La guerra dei bollini  Una pretesa di conformità spesso senza certificazione  Di fatto è una truffa per l’utente che non ha bisogno di bollini, ma di accessibilità  Senza revisori umani l’accessibilità non esiste  Esporre soltanto le dichiarazioni di conformità di cui si è assolutamente sicuri e che possono essere verificate dall'utente  Predisporre nel sito una pagina, in cui dichiarate quali controlli di revisione umana sono stati effettuati in aggiunta ai test automatici, e quando e come sono stati eseguiti l'ultima volta. Portale “Spazio Europa della regione Emilia Romagna”  Conformità ad HTML 4.01, CSS 2.0, Bobby AAA e Bobby Section 508, WCAG 1.0 AAA … NOOOO!  Diffidare di siti con abbondanza di bollini, soprattutto se sono teoricamente incompatibili
  • 38. I migliori strumenti automatici AIS (Web Accessibility Toolbar) IE Web Developer (Firefox) Internet Explorer Developer Toolbar IE Lynx Browser/Viewer Fang (Firefox) HTML Tidy  strumento a linea di comando molto potente: è in grado di individuare e correggere errori di sintassi (X)HTML e di fornire utili suggerimenti per il miglioramento dell'accessibilità. Ora su Source Forge A-Prompt  Un valutatore dell'accessibilità sviluppato dall'Università di Toronto, da scaricare in locale: è in grado di fornire indicazioni di conformità sia alla Section 508 sia alle WCAG 1.0. Wikipedia (Paragone tra Screen Reader)  ( http://en.wikipedia.org/wiki/List_of_screen_readers )
  • 39. I migliori strumenti automatici WebXact (http://webxact.watchfire.com)  Strumento di validazione on line della Watchfire, la stessa casa produttrice di Bobby. Offre all'incirca le stesse informazioni di Bobby, ma in un modo più organizzato ed usabile. Cynthia Says portal (http://www.contentquality.com)  Consente una valutazione dell'accessibilità che si estende in qualche misura anche alla proprietà dei testi alternativi: valuta per esempio la lunghezza dei testi ALT e se questi ripetono il nome dell'immagine a cui si riferiscono. Torquemada (http://www.webxtutti.it)  Valutatore automatico dell'accessibilità tutto italiano, sviluppato dalla Fondazione Ugo Bordoni. WAVE 3.5 Accessibility Tool (development version) ( http://dev.wave.webaim.org)  I risultati della validazione sono rappresentati graficamente e gli avvertimenti sono contestuali alla posizione di rilevamento. Web Accessibility Checker (http://checker.atrc.utoronto.ca)  Supporto alla Legge Stanca
  • 40. Conclusioni Consigli Finali per una buona accessibilità Separare SEMPRE la presentazione dal contenuto Usare DTD rigorose (es. XHTML 1.1 o XHTML 1.0 Strict) Mai basarsi sul colore per fornire informazioni Evidenziare la struttura logica dei contenuti testuali  H1,H2,H3 etc. Realizzare moduli accessibili  FIELDSET, LEGEND, LABEL etc. + CSS Massima attenzione alle tabelle dati  TH, SUMMARY, CAPTION etc. Occhio alla linearizzazione dei contenuti (sostituire le tabelle usate a scopo di impaginazione con soluzioni basate sui CSS)  Scrivere testi accessibili e non dipendenti da un ambito
  • 41. Conclusioni Consigli Finali per una buona accessibilità Non usare i FRAME Assicurarsi di scrivere XHTML e CSS validi Usare revisione automatiche per gli errori di accessibilità legati al codice Usare la revisione umana Porsi come obiettivo il raggiungimento di un'accessibilità reale

Notes de l'éditeur

  1. &amp;lt;number&amp;gt;
  2. &amp;lt;number&amp;gt;
  3. - Se negli obiettivi delle due discipline si ha in certi casi una più o meno ampia sovrapposizione, la differenza tra accessibilità e usabilità diviene più chiara quando si guarda ai rispettivi metodi Il primo passo per creare siti accessibili è creare siti che siano accessibili alle macchine. La migliore chance per ottenere ciò è usare HTML standard Insomma, rendere una pagina web accessibile alle macchine (computer e browser) e flessibile nella struttura sono gli obiettivi principali a cui evidentemente puntano le raccomandazioni di accessibilità. In ciò la differenza con l&amp;apos;usabilità è grande: quest&amp;apos;ultima infatti lavora essenzialmente sull&amp;apos;interazione tra la pagina e gli utenti, anzi le specifiche categorie di utenti considerate come pubblico di riferimento dei siti da testare. &amp;lt;number&amp;gt;
  4. Ai fini dell&amp;apos;accessibilità, la cosa fondamentale è che tutti i possibili tipi di presentazione di un documento riescano a mostrare all&amp;apos;utente, se non proprio lo stesso contenuto, almeno un suo valido equivalente Ci interessa qui soprattutto il secondo punto. I vincoli possono essere di vario tipo: dall&amp;apos;uso di elementi e attributi che favoriscono un solo tipo di presentazione (tipicamente quella visuale) e che vengono mescolati inestricabilmente ai contenuti, all&amp;apos;uso di soluzioni di impaginazione che rendono la pagina scarsamente leggibile se caricata in un browser senza supporto per i fogli di stile. &amp;lt;number&amp;gt;
  5. I criteri di formattazione possono oggi tranquillamente essere applicati per mezzo dei fogli di stile o CSS (acronimo di &amp;quot;cascading style sheets&amp;quot;: tradotto in italiano, &amp;quot;fogli di stile a cascata&amp;quot;). A partire dalla versione 4 delle Specifiche HTML, l&amp;apos;uso di elementi e attributi di presentazione è stato disapprovato (&amp;quot;deprecated&amp;quot;, in inglese) dal W3C in favore, appunto, dell&amp;apos;uso dei fogli di stile. In primo luogo, definire la presentazione per mezzo dei CSS consente di ridurre il peso della pagina, talvolta del 50-60% o anche più: già questo rappresenta un grosso vantaggio per l&amp;apos;accessibilità. In secondo luogo, l&amp;apos;uso dei CSS consente di specificare una serie di presentazioni alternative, ciascuna adatta alla riproduzione su una differente periferica (schermo, stampa, sintetizzatori vocali, ecc.), mentre l&amp;apos;uso di elementi e attributi di presentazione dell&amp;apos;HTML favorisce essenzialmente la sola riproduzione su schermo. In terzo luogo, demandare la presentazione ai CSS consente di ottenere un codice HTML più lineare e pulito, e di evitare per esempio il ricorso ad artifici sconsigliati per l&amp;apos;accessibilità, quali le tabelle usate a scopo di impaginazione. &amp;lt;number&amp;gt;
  6. La conclusione di Joe Clark è che, con ogni probabilità, gli estensori delle specifiche CSS2 hanno progettato in modo totalmente teorico le caratteristiche di alcuni &amp;quot;media type&amp;quot;: infatti la conoscenza concreta dei dispositivi che ricadono sotto le categorie elencate dalle specifiche porta in luce una serie di problemi di non facile o impossibile soluzione, che inducono l&amp;apos;autore a suggerire ai suoi lettori che i &amp;quot;media type&amp;quot; hanno in fondo, ai fini dell&amp;apos;accessibilità, un&amp;apos;importanza del tutto trascurabile. Questo non vuol dire – sia ben chiaro – che non è possibile costruire grazie ai CSS valide versioni alternative di un documento. Al contrario: i fogli di stile sono uno strumento ottimo per produrre versioni alternative dotate di caratteristiche in grado di migliorare, per esempio, la leggibilità dei documenti da parte di utenti ipovedenti. Solo che, per rendere veramente funzionale l&amp;apos;uso di queste versioni alternative, servono sistemi diversi dai &amp;quot;media type&amp;quot; previsti dalle specifiche CSS2. In effetti bisogna riconoscere che l&amp;apos;introduzione dei &amp;quot;media type&amp;quot; nei CSS2 si è rivelata per ora una grande promessa non mantenuta per l&amp;apos;accessibilità Possiamo quindi concludere che, per siti che non generano un eccessivo volume di traffico o che sono ospitati su server molto performanti, la soluzione migliore è servire agli utenti le modifiche di presentazione per mezzo di script lato server. Invece, per siti in cui il volume di traffico generato e i tempi di risposta del server possono costituire un problema, la soluzione migliore è ricorrere a script lato client, opportunamente combinati con fogli di stile alternativi. &amp;lt;number&amp;gt;
  7. Il motivo per cui si può continuare tranquillamente (o quasi...) ad ignorare le regole di base dei linguaggi HTML e XHTML, ottenendo che le proprie pagine web errate siano visualizzate ugualmente su tutti i principali browser grafici, dipende dal fatto che i produttori di quei browser, tra cui in prima fila la Microsoft, hanno da sempre, e fino a tempi molto recenti, seguito una politica di supporto debole verso gli standard prodotti dal W3C. In altri termini, una larga parte del codice di programmazione dei browser è stata dedicata dalle case produttrici a compensare gli errori di HTML, e poi di XHTML, commessi dagli autori di pagine web: mentre un documento XML contenente violazioni alle regole di questo linguaggio semplicemente non viene riprodotto da nessun browser che supporti XML, al contrario un documento HTML o XHTML non valido - perché degli altri elementi sono intrecciati erroneamente tra loro invece che annidati - viene &amp;quot;normalmente&amp;quot; caricato da tutti i browser, che fanno anzi il massimo sforzo per interpretare ciò che l&amp;apos;autore aveva voluto &amp;quot;dire&amp;quot; con il suo codice errato. &amp;lt;number&amp;gt;
  8. Ogni pagina HTML o XHTML valida deve cominciare con un frammento di codice, che si chiama tecnicamente document type declaration. questa dichiarazione dice al browser quale è, e dove si trova, il documento che contiene le definizioni e le regole di applicazione di tutti gli elementi e gli attributi (X)HTML utilizzati in una pagina web. La prima raccomandazione destinata a chi vuole realizzare pagine accessibili è di cominciare a scrivere codice valido: inserire all’inizio della pagina la dichiarazione del tipo di documento a cui deve conformarsi tutto il resto del codice presente nella pagina. XHTML 1.0 abbiamo tre differenti Dtd: - la transitoria (&amp;quot;transitional&amp;quot;), che contiene elementi e attributi di presentazione; - la rigorosa (&amp;quot;strict&amp;quot;), che non contiene elementi e attributi di presentazione; - quella per le pagine che contengono frame (&amp;quot;frameset&amp;quot;). In un sito concepito e sviluppato in base a criteri di accessibilità, non c’è nessun obiettivo vantaggio conseguibile per mezzo di pagine basate sui frame. XHTML 1.0 Transitional La Dtd transitoria, sia in HTML sia in XHTML, va utilizzata quando desideriamo comporre pagine compatibili con i browser grafici più datati, forniti di scarso o nullo supporto per i fogli di stile. In sostanza dobbiamo ricorrere alla Dtd transitoria, quando vogliamo che le nostre pagine web siano viste più o meno allo stesso modo su Internet Explorer dalla versione 3 alla 6 e su Netscape dalla versione 3 alla 7. Ciò però significa mescolare ai contenuti della pagina, in modo inestricabile, una quantità di codice avente il solo scopo di definire la presentazione visuale dei contenuti, con una serie di controindicazioni per l’accessibilità già discusse. XHTML 1.0 Strict La nostra raccomandazione, perciò, è quella di costruire pagine web basate sulla Dtd rigorosa: è solo questa, infatti, che può assicurare la maggiore indipendenza dei contenuti della pagina dai suoi aspetti di presentazione, e quindi la possibilità di accedere debitamente ai contenuti per il maggior numero possibile di programmi utente, al limite persino Mosaic 1.0, ammesso che ci sia ancora qualcuno in Rete che lo utilizza! __________________________ Ciò non vuol dire che pagine valide secondo la Dtd transitoria di HTML 4.01 o di XHTML 1.0 non siano o non possano essere rese accessibili: vuol dire soltanto che l’uso della Dtd rigorosa è il miglior punto di partenza per il raggiungimento di una elevata accessibilità. Tuttavia, benché una pagina web conforme ad HTML 4.01 strict possa essere altrettanto accessibile della medesima pagina conforme ad XHTML 1.0 strict, il nostro consiglio è di utilizzare la Dtd rigorosa di XHTML 1.0. Il linguaggio XHTML nasce infatti per estendere all’HTML i benefici di interoperabilità e di estensibilità propri del linguaggio XML. Produrre una pagina web in XHTML 1.0 significa mantenere un piede nel passato e metterne uno nel futuro: consente infatti, da un lato, di non perdere la compatibilità con i vecchi browser, dall’altro di avere un prodotto già predisposto ad essere utilizzato da futuri programmi utente basati in modo estensivo su XML. ____________________________ Le specifiche XHTML 1.1, invece, sono basate su una serie di moduli per lo più strutturali ed eliminano completamente gli elementi e gli attributi disapprovati nelle precedenti specifiche. Come conseguenza della modularizzazione del linguaggio, sono state eliminate le tre Dtd presenti in HTML 4 e XHTML 1.0. In sostanza, l’unica Dtd di XHMTL 1.1 è una evoluzione della Dtd strict di XHTML 1.0. Se il nostro consiglio rimane quello di creare per il momento pagine web accessibili basate sulla Dtd rigorosa di XHTML 1.0 invece che sulla Dtd di XHTML 1.1, la ragione è semplicemente questa: XHTML 1.1, proseguendo il suo cammino di adeguamento al rigore formale di XML, ha reso del tutto fuori standard l’uso dell’attributo &amp;quot;name&amp;quot; negli elementi A e MAP. Ciò si traduce in una perdita di compatibilità con i vecchi browser, che eseguono il collegamento ad un segnalibro solo se questo è definito per mezzo di un attributo &amp;quot;name&amp;quot; all’interno dell’elemento A. XHTML 1.0 usa a tal proposito una soluzione di compromesso: consente che, accanto all’uso legale di specificare i segnalibri tramite l’attributo &amp;quot;id&amp;quot;, sopravviva l’uso consolidato - conforme alle vecchie versioni di HTML - di specificarli per mezzo di &amp;quot;name&amp;quot;, sia pur con alcune limitazioni (i valori di &amp;quot;name&amp;quot; devono essere unici all’interno del documento, identici a quelli dei corrispondenti valori di &amp;quot;id&amp;quot; e devono rispettare, perciò, le restrizioni di nomenclatura previste per i valori di &amp;quot;id&amp;quot;). In order to keep everyone happy, Microsoft created a new configuration option, named xhtmlConformance, that you can set in your Web site&amp;apos;s configuration file. The new configuration option enables you to specify the level of XHTML conformance of your Web pages. By default, xhtmlConformance is set to the value transitional. However, you can also set this option to the value strict or legacy. If you set the xhtmlConformance option to strict, then certain attributes will no longer be rendered by the standard ASP.NET controls. For example, the ASP.NET &amp;lt;form&amp;gt; control will no longer render a name attribute. Unless your ASP.NET pages contain (non-standards-compliant) client-side scripts, you won&amp;apos;t notice any changes when switching from transitional to strict mode. If you set the xhtmlConformance option to legacy, then the ASP.NET framework will revert to ASP.NET 1.1 rendering behavior for some elements and attributes (but not all). In this case, the ASP.NET framework will render content that is not compatible with any XHTML standard, and your pages will no longer validate against the XHTML standards. For example, in legacy mode, the &amp;lt;br&amp;gt; tag is not rendered with its required XHTML closing slash (&amp;lt;br /&amp;gt;). Setting xhtmlConformance to legacy mode only makes sense when you run into a problem migrating an existing ASP.NET 1.1 application to ASP.NET 2.0. The default behavior of the ASP.NET 2.0 framework is to render pages that validate against XHTML 1.0 Transitional. Most developers building Web sites will want to target this standard, because it is the standard that is the most compatible with existing HTML pages. However, there are situations in which this standard might be either too lax or too strict. After all, the goal of the XHTML 1.0 Transitional standard is to act as a springboard to these more restrictive standards The W3C has also published XHTML 1.1 as a recommendation (on May 31, 2001). XHTML 1.1 is very similar to XHTML 1.0 Strict. The primary difference is that XHTML 1.1 can be extended with additional modules in order to support new elements. You can, for example, build XHTML 1.1 pages that also include elements from the MathML (the Mathematical Markup Language), or SVG (the Scalable Vector Language), or a custom module of your own creation. Finally, the W3C is working on a recommendation for XHTML 2.0. Because XHTML 2.0 is still in the draft stage, and no Web browser currently supports this standard, we won&amp;apos;t discuss it in this paper. &amp;lt;number&amp;gt;
  9. &amp;lt;number&amp;gt;
  10. If you use special characters such as &amp;lt; or &amp;, or entity references such as &amp;lt; or &amp;amp; in a script or style sheet, then you&amp;apos;ll need to mark the contents of your script or style sheet as a CDATA (character data) section Notice that the JavaScript function contained in the script includes a &amp;lt; character. If you do not wrap the script in a CDATA section, then the &amp;lt; character would be interpreted as marking the start of an XHTML tag. Using a CDATA section will not work with all browsers. For example, Internet Explorer considers a CDATA section in a &amp;lt;script&amp;gt; tag a syntax error. You can avoid this problem by adding JavaScript comments JavaScript uses /* and */ to mark the beginning and end of a comment. Therefore, the CDATA section is hidden from the JavaScript, but not from the browser that parses the page. In general, it is a better idea to place your style rules and scripts in external files and reference the files from your XHTML pages. Using external style sheets and scripts enables you to avoid all of these issues &amp;lt;number&amp;gt;
  11. &amp;lt;number&amp;gt;
  12. Fortunatamente le ultime versioni dei principali browser grafici (Internet Explorer, Mozilla, Netscape, Opera) supportano dichiaratamente l&amp;apos;uso di HTML e XHTML standard. Cambiano anzi in certa misura le modalità di riproduzione della pagina, a seconda che l&amp;apos;autore dichiari oppure no all&amp;apos;inizio del documento la Dtd utilizzata. Nel secondo caso, i browser possono entrare in una modalità definita &amp;quot;quirk&amp;quot;, cioè &amp;quot;capriccio&amp;quot;... Lo scopo di tale modalità è offrire allo sviluppatore una scappatoia per scrivere codice non valido &amp;quot;alla vecchia maniera&amp;quot; e vedere come la relativa pagina viene visualizzata dal browser in modalità retrocompatibile. Mozilla Firefox 1+ supports three rendering modes: FULL STANDARDS: Any document sent with an XML MIME, XHTML 1.0 strict, HTML 4.xx ALMOST STANDARDS MODE: XHTML 1.0/HTML 4.01 Transitional/Frameset QUIRKS MODE: assenza di DOCTYPE, HTML 4.0 Transitional/Frameset, HTML &amp;lt; 4.0http://developer.mozilla.org/en/docs/Mozilla%27s_DOCTYPE_sniffing Opera 7+, IE6+,Netscape 7 supports two rendering modes: STANDARDS MODE: HTML 4.0, HTML 4.0 Strict, XHTML vX.X, Any document sent with an XML MIME QUIRKS MODE: No DOCTYPE, HTML 4.0 Transitional/Frameset, HTML &amp;lt; 4.0 &amp;lt;number&amp;gt;
  13. &amp;lt;number&amp;gt;
  14. &amp;lt;number&amp;gt;
  15. &amp;lt;number&amp;gt;
  16. SMIL (Synchronized Multimedia Integration Language) A standards-based language used by Quicktime and RealPlayer to control the layout and presentation of visual and audible items. SMIL is used to control the display, positioning, and timing of captions and audio/video multimedia. The captions themselves are stored in a Text Track file if you’re using Quicktime or a RealText file if you’re using RealPlayer. SAMI (Synchronized Accessible Media Interchange) Microsoft’s technique for adding captions for Windows Media Player. A SAMI file contains the text to be displayed within the captions and information that synchronizes individual caption displays to the multimedia presentation. Text Track Quicktime uses a Text Track file to store the caption text and synchronization (timing) information. RealText RealPlayer uses a RealText file to store the captions text and synchronization (timing) information. MAGpie Developed by the CPB/WGBH National Center for Accessible Media (NCAM), MAGpie is a free tool for creating caption files that can be utilized by media players. Hi-Caption HiSoftware&amp;apos;s Hi-Caption allows creation of captions for media players. &amp;lt;number&amp;gt;
  17. &amp;lt;number&amp;gt;
  18. &amp;lt;number&amp;gt;
  19. Quando lo sviluppatore contrassegna in un documento i cambiamenti di linguaggio naturale, le sintesi vocali e le periferiche braille possono selezionare automaticamente la nuova lingua, rendendo il documento più accessibile agli utenti multilingue. Gli sviluppatori dovrebbero identificare il linguaggio naturale principale del contenuto di un documento (mediante marcatori o intestazioni HTTP). Gli sviluppatori dovrebbero anche sciogliere le abbreviazioni e gli acronimi. Oltre a facilitare le tecnologie assistive, contrassegnare il linguaggio naturale permette ai motori di ricerca di trovare parole chiave e di identificare documenti nel linguaggio desiderato. Il contrassegno del linguaggio naturale, inoltre, consente a tutti la leggibilità del Web, compresi quelli che hanno difficoltà di apprendimento, cognitive e i sordi. Quando i cambiamenti di lingua e le abbreviazioni non vengono identificati, possono risultare indecifrabili per la lettura da parte dei dispositivi di sintesi vocale e di quelli braille. Notate inoltre che quando una stessa sigla ricorre più volte, viene definita da un elemento ABBR o ACRONYM solo la prima volta che appare nel testo: è il caso, nel nostro paragrafo di esempio, della sigla DNS. Ciò obbedisce al suggerimento contenuto nel punto di controllo 4.2 delle WCAG 1. &amp;lt;number&amp;gt;
  20. &amp;lt;number&amp;gt;
  21. Sebbene gli sviluppatori siano incoraggiati a usare nuove tecnologie che risolvano problemi creati da tecnologie esistenti, essi dovrebbero sapere come far sì che le loro pagine funzionino anche con browser più vecchi e con persone che scelgono di disabilitare alcune caratteristiche. Il punto di controllo 6.1 delle WCAG 1.0 raccomanda esplicitamente agli sviluppatori di produrre documenti che rimangano significativi anche se riprodotti senza fogli di stile: valorizzare nel modo più corretto la struttura logica dei contenuti è il modo migliore per ottenere questo risultato. Alcune persone con disabilità cognitive o visive non riescono a leggere testo in movimento con velocità sufficiente, oppure non sono in grado di leggerlo affatto. Il movimento può anche causare una distrazione tale da rendere illeggibile il resto della pagina per persone con disabilità. I lettori di schermo non sono in grado di leggere testo in movimento. Persone con disabilità fisiche potrebbero non essere in grado di muoversi con velocità o precisione sufficienti ad interagire con oggetti in movimento. Nota. Tutti i punti di controllo che seguono presuppongono un certo livello di responsabilità da parte degli sviluppatori fino a quando gli interpreti non forniranno adeguati meccanismi di controllo delle diverse caratteristiche. Nota. Gli elementi BLINK e MARQUEE non sono definiti in alcuna delle specifiche HTML del W3C e non dovrebbero essere usate &amp;lt;number&amp;gt;
  22. Quando un oggetto incorporato possiede una &amp;quot;sua propria interfaccia&amp;quot;, l&amp;apos;interfaccia -- così come l&amp;apos;interfaccia dello stesso browser -- deve essere accessibile. Se l&amp;apos;interfaccia dell&amp;apos;oggetto incorporato non può essere resa accessibile, deve essere fornita una soluzione alternativa accessibile. Nota. Per informazioni sulle interfacce accessibili, si prega di consultare le User Agent Accessibility Guidelines ([WAI-USERAGENT]) e le Authoring Tool Accessibility Guidelines ([WAI-AUTOOL]). Accesso indipendente da dispositivo significa che gli utenti possono interagire con l&amp;apos;interprete o con il documento con il dispositivo di input (output) preferito -- mouse, tastiera, voce, bacchette manovrate con la testa, o altro. Se, per esempio, il controllo di un modulo può essere attivato solo con un mouse o un altro dispositivo di puntamento, qualcuno che sta usando la pagina senza usare la vista, con input vocale o con una tastiera, oppure chi sta usando qualche altro dispositivo di input non a puntamento non riuscirà ad usare il modulo. Nota. Fornendo equivalenti testuali per immagini sensibili o per immagini usate come collegamento si dà agli utenti la possibilità di interagire con esse senza un dispositivo di puntamento. Vedi anche la Linea guida 1. In genere, le pagine che permettono di interagire tramite tastiera sono accessibili anche tramite input vocale o interfaccia a linea di comando. &amp;lt;number&amp;gt;
  23. &amp;lt;number&amp;gt;
  24. &amp;lt;number&amp;gt;
  25. Chiari e coerenti meccanismi di navigazione sono importanti per persone con invalidità cognitive o per i non vedenti, e giovano a tutti gli utenti. &amp;lt;number&amp;gt;
  26. &amp;lt;number&amp;gt;
  27. &amp;lt;number&amp;gt;
  28. &amp;lt;number&amp;gt;
  29. &amp;lt;number&amp;gt;
  30. CSS Check, presente sul sito WDG Web Design Group e analogo al CSS Validator, fornisce avvertimenti ancora più dettagliati (ha però il limite di non supportare adeguatamente le nuove proprietà introdotte dalle specifiche CSS2 rispetto alle precedenti specifiche CSS1). tra i &amp;quot;warning&amp;quot; più frequenti, ce ne sono tre in particolare di cui è utile tenere conto: la mancata indicazione di una famiglia di caratteri generica la mancata definizione del colore di primo piano se è stato definito il colore di sfondo, e viceversa l&amp;apos;uso di dimensionamenti fissi in luogo di quelli relativi e percentuali Il secondo avvertimento importante per l&amp;apos;accessibilità è quello che compare quando per un oggetto della pagina è definito il colore di primo piano e non quello di sfondo, e viceversa. La ragione per cui è importante che siano definiti entrambi i colori è che un utente potrebbe sostituire una combinazione di colori personalizzata a quella predefinita del browser o del sistema operativo. Ciò potrebbe portare, nel caso in cui nel CSS sia definito per esempio solo il colore dello sfondo di un blocco e non quello del testo, ad avere una combinazione primo piano/sfondo del tutto illeggibile, basata sul colore di sfondo definito nel CSS e sul colore di primo piano definito dallo stile personalizzato usato dall&amp;apos;utente. Il terzo tipo di avvertimento importante per l&amp;apos;accessibilità riguarda l&amp;apos;uso di dimensioni fisse piuttosto che relative. Si riceve questo avviso quando impostiamo nel CSS delle misure in punti (pt), centimetri (cm), millimetri (mm), pica (pc) o pollici (in), ovvero le misure di lunghezza assolute definite dalle specifiche CSS2. usare le misure relative– em, ex e px (pixel) – o le misure percentuali(p.es. 120%) al posto di quelle assolute. &amp;lt;number&amp;gt;
  31. &amp;lt;number&amp;gt;
  32. &amp;lt;number&amp;gt;
  33. HTML Tidy – Sviluppato da Dave Raggett, uno dei creatori del linguaggio HTML, è uno strumento a linea di comando molto potente: è in grado di individuare e correggere errori di sintassi (X)HTML e di fornire utili suggerimenti per il miglioramento dell&amp;apos;accessibilità. &amp;lt;number&amp;gt;
  34. &amp;lt;number&amp;gt;
  35. &amp;lt;number&amp;gt;
  36. &amp;lt;number&amp;gt;