Al Mòdul 5 vam tancar amb un dubte incòmode: ja sabem construir components accessibles —un acordió amb aria-expanded, un modal amb focus trap, un vídeo amb <track>—, però funcionen de debò? Un aria-expanded que no se sincronitza, una trampa de focus amb fuga o un alt que sona estrany a NVDA no els descobreix el codi: els descobreix algú provant. Aquest mòdul és la fase de verificació, i comença pel més barat i el més revelador: provar a mà, tu mateix, sense llicències cares. En aquesta lliçó aprendràs a auditar la fitxa de curs de Cursalia fent servir només el teclat, un lector de pantalla gratuït, el zoom del navegador i les DevTools.
Contingut
- Per què començar pel manual
- Prova només amb teclat
- Prova amb lector de pantalla per a desenvolupadors
- Prova de zoom i reflux
- Verificació d'estructura amb DevTools
- Comprovació manual de contrast
- El patró "primer criteri que peten les presses"
- Llista de comprovació manual reutilitzable
- Per què començar pel manual
Les eines automàtiques (que veurem a la lliçó 06-02) detecten només un 30-40% dels problemes: veuen que falta un alt, però no si el text de l'alt té sentit. Les proves manuals cobreixen el judici humà que cap màquina no té: l'ordre de focus és lògic?, el nom accessible descriu el que fa el botó?, el focus visible es veu de debò?. I no necessites res més que el que ja tens a l'equip.
La regla mental: si tu no pots fer servir la pàgina amb el teclat i amb un lector de pantalla, el teu usuari tampoc.
- Prova només amb teclat
Desa el ratolí en un calaix. Molts usuaris (la Lucía, amb mobilitat reduïda) naveguen només amb teclat. Les tecles fonamentals:
| Tecla | Acció esperada |
|---|---|
Tab |
Avança a l'element interactiu següent |
Shift+Tab |
Retrocedeix |
Enter |
Activa enllaços i botons |
Espai |
Activa botons, marca checkboxes |
Esc |
Tanca modal, menú o desplegable |
| Fletxes | Es mouen dins d'un widget (tabs, radios, menú) |
Recorregut de la fitxa de curs de Cursalia
Obre la fitxa del curs "Python des de zero" i, sense tocar el ratolí, comprova:
- Focus visible: a cada
Tab, veus clarament on és el focus? Si el disseny va feroutline: nonesense substitut, aquest és el fallada número u (WCAG 2.4.7 Focus visible; i 2.4.11 Focus no ocult a WCAG 2.2). - Ordre lògic: el focus ha de seguir l'ordre de lectura: capçalera → molla de pa → títol → botó "Matricula't" → pestanyes de descripció/temari/opinions → footer. Un
tabindexpositiu sol trencar-lo. - Sense trampes de teclat: entra al reproductor de vídeo o al modal de matrícula. Pots sortir amb
TaboEsc, o et quedes "atrapat"? (WCAG 2.1.2 Sense trampes per al focus del teclat). - Skip link: en prémer
Tabjust en carregar, apareix un enllaç "Salta al contingut"? S'ha de fer visible en rebre focus i portar al<main>. - Operar el filtre del catàleg: els checkboxes de categoria i el selector de nivell s'han de marcar amb
Espai/fletxes i aplicar-se sense necessitat de clic. - Operar el modal de matrícula: en obrir-lo, el focus ha d'entrar al modal;
Escel tanca; i el focus ha de tornar al botó que el va obrir.
Consell: recorre la pàgina sencera dues vegades, endavant i endarrere. Moltes trampes només apareixen amb Shift+Tab.
- Prova amb lector de pantalla per a desenvolupadors
No cal ser expert per detectar problemes grossos. La Marta fa servir NVDA cada dia; tu pots arrencar-lo 10 minuts i aprendre molt.
- Windows: instal·la NVDA (gratuït, nvaccess.org). Arrenca amb
Ctrl+Alt+N. La teclaInsertés la "tecla NVDA". - Mac: VoiceOver ja ve inclòs. Activa'l amb
Cmd+F5. La combinacióCtrl+Optés la "tecla VO".
Ordres bàsiques per a desenvolupadors:
| Objectiu | NVDA (Windows) | VoiceOver (Mac) |
|---|---|---|
| Llegir element següent | ↓ |
VO+→ |
| Saltar per encapçalaments | H |
VO+Cmd+H |
| Llistar landmarks/regions | D |
rotor VO+U |
| Anar a camps de formulari | F |
rotor VO+U |
| Obrir llista d'elements | Insert+F7 |
rotor VO+U |
| Silenciar la veu | Ctrl |
Ctrl |
Què escoltar a la fitxa de Cursalia
- Navega pels encapçalaments (
H): l'<h1>és el títol del curs? La jerarquia baixa de manera lògica (h1 → h2 → h3) sense salts? - Navega pels landmarks (
D): s'anuncienbanner,navigation,main,contentinfo? - Ves al botó "Matricula't": NVDA llegeix un nom accessible clar ("Matricula't a Python des de zero, botó") o només "botó" sense res més?
- Escolta les imatges: l'
altde la foto del professor, sona natural o diu "IMG_2043.jpg"? - Obre l'acordió de temari: en expandir, anuncia "expandit/contret"? Aquí comproves l'
aria-expandeddel Mòdul 5 sonant de debò.
Tanca els ulls un minut i intenta completar la matrícula només amb l'oïda. És incòmode, i aquesta incomoditat és exactament la troballa.
- Prova de zoom i reflux
La Sofía té baixa visió i navega amb zoom. Dues comprovacions diferents:
- Zoom del navegador al 200% (
Ctrl/Cmd++): WCAG 1.4.4 (Redimensionament de text) exigeix que el text escali al 200% sense pèrdua de contingut ni funcionalitat. Puja fins al 400%. - Reflux a 320px (WCAG 1.4.10 Reflux): redueix la finestra a 320 CSS px d'amplada (o zoom 400% en 1280px) i comprova que no apareix scroll horitzontal i que res no se solapa ni es talla. El contingut ha de "refluir" a una sola columna.
Què falla típicament a Cursalia: la barra de filtres que se surt per la dreta, el preu que se superposa al botó, o un text en píxels fixos que no creix. Si necessites fer scroll en dues direccions per llegir un paràgraf, és una fallada. (El com s'arregla —unitats relatives, media queries— és al Mòdul 4).
- Verificació d'estructura amb DevTools
No necessites res extern: el navegador ja inspecciona l'arbre d'accessibilitat (el que vam veure al Mòdul 2).
- Chrome/Edge: DevTools → pestanya Elements → panell Accessibility. Selecciona el botó "Matricula't" i llegeix-ne el Computed name, el Role i els estats. Allà veus si el nom accessible que vas sentir a NVDA ve del text, d'un
aria-labelo d'un<label>. - Firefox: DevTools → pestanya Accessibility. Té comprovacions integrades de contrast i de teclat, i mostra l'arbre com a llista navegable.
Comprova l'estructura d'encapçalaments i landmarks de manera visual: un arbre amb un sol main, un h1 únic i una jerarquia sense salts. Si l'arbre mostra un botó "sense nom" (name buit), acabes de trobar el que a NVDA sonava a "botó" pelat.
- Comprovació manual de contrast
Per a un cas puntual —el preu en gris clar sobre blanc, el text del botó— no cal escanejar tota la pàgina. Fes servir el comptagotes de contrast de les DevTools (Chrome mostra el ràtio en inspeccionar color, amb un ✓/✗ davant d'AA/AAA) o un color picker que doni el ràtio. Recorda els llindars del Mòdul 4:
- Text normal: 4.5:1 (AA).
- Text gran (≥24px, o ≥18.66px en negreta): 3:1 (AA).
- Components d'interfície i estats de focus: 3:1 (WCAG 1.4.11 Contrast no textual).
- El patró "primer criteri que peten les presses"
Quan un equip va amb presses, gairebé sempre cau el mateix primer. Tingue'l al radar:
- Focus visible eliminat (
outline: none"perquè quedava lleig"). - Botons sense nom accessible (icones sense text: la lupa de cercar, la X de tancar).
- Imatges amb
altbuit o brossa en imatges informatives. - Ordre de focus trencat per
tabindexpositius o per maquetar movent l'ordre visual amb CSS. - Modal sense gestió de focus (no entra, no atrapa, no torna).
Si només tens 15 minuts, revisa aquests cinc: són els que afecten més usuaris per menys esforç.
- Llista de comprovació manual reutilitzable
LLISTA DE COMPROVACIÓ DE PROVA MANUAL — pàgina: ______________________ data: ______
TECLAT
[ ] Focus visible a TOT element interactiu
[ ] Ordre de focus lògic (endavant i amb Shift+Tab)
[ ] Sense trampes de teclat (Esc/Tab sempre surten)
[ ] Skip link visible en enfocar i funcional
[ ] Tots els controls operables (filtres, tabs, acordió, modal)
[ ] Modal: el focus entra, queda atrapat i torna al disparador
LECTOR DE PANTALLA (NVDA / VoiceOver)
[ ] h1 únic i jerarquia d'encapçalaments sense salts
[ ] Landmarks anunciats (banner, nav, main, contentinfo)
[ ] Botons/enllaços amb nom accessible clar
[ ] Imatges amb alt amb sentit (o buit si són decoratives)
[ ] Estats anunciats (expandit/contret, seleccionat)
[ ] Formulari de matrícula: cada camp anuncia la seva etiqueta
VISUAL
[ ] Zoom 200% sense pèrdua de contingut
[ ] Reflux a 320px sense scroll horitzontal ni solapaments
[ ] Contrast AA en textos i components clau
ESTRUCTURA (DevTools)
[ ] Arbre d'accessibilitat sense rols/noms buits
[ ] Un sol <main>, landmarks correctesDesa aquesta llista de comprovació com a plantilla: és la teva primera línia de defensa abans de tocar qualsevol eina automàtica.
Errors Comuns i Consells
- Provar amb ratolí "per costum": si toques el ratolí, ja no estàs fent prova de teclat. Sigues estricte.
- Confondre "jo, desenvolupador, amb NVDA" amb "un usuari real d'NVDA": tu saps on és tot. Això detecta fallades tècniques, no d'usabilitat (això és la lliçó 06-03).
- Provar només el "camí feliç": prova també errors de formulari, estats buits i el modal obert/tancat diverses vegades.
- Refiar-te del focus en un sol navegador: el focus visible i el reflux varien; revisa com a mínim Chrome i Firefox.
- Consell: automatitza el repetitiu (06-02) i reserva el teu temps manual per al judici (ordre, noms, sentit de l'
alt).
Exercicis
Exercici 1. Recorres amb Tab la fitxa de curs de Cursalia i detectes que, en obrir el modal de matrícula, el focus no hi entra i es queda darrere, a la pàgina. Quin criteri WCAG s'incompleix i a quines persones afecta més?
Exercici 2. Amb NVDA navegues per encapçalaments (H) al catàleg i sents: h1, després h3, després h2. Quin problema hi ha i per què importa per a la Marta?
Exercici 3. Dissenya una mini-sessió de 15 minuts per revisar el reproductor de vídeo de Cursalia només amb teclat i lector de pantalla. Llista 4 comprovacions concretes.
Solucions
Solució 1. S'incompleix 2.4.3 Ordre del focus (i la gestió de focus del patró modal del Mòdul 5): en obrir el modal el focus s'hi ha de moure. Afecta sobretot la Lucía (només teclat) i la Marta (lector de pantalla), que queden "fora" del diàleg sense saber que s'ha obert. L'arranjament és al patró de modal del Mòdul 5.
Solució 2. Hi ha un salt de nivell d'encapçalament (h1 → h3 → h2): la jerarquia no és coherent. Incompleix l'ús correcte d'encapçalaments (1.3.1 Informació i relacions). La Marta fa servir els encapçalaments com a índex per saltar per la pàgina; una jerarquia trencada li dona un mapa mental equivocat de l'estructura.
Solució 3. Exemple: (1) S'arriba al botó Play amb Tab i s'activa amb Enter/Espai? (2) Els controls (volum, subtítols, barra de temps) són operables per teclat i anuncien el seu nom a NVDA? (3) El botó de subtítols anuncia el seu estat activat/desactivat? (4) El focus és visible sobre els controls i no queda atrapat dins del vídeo?
Conclusió
Les proves manuals són la teva xarxa de seguretat més barata i més honesta: amb teclat, lector de pantalla, zoom i DevTools detectes la majoria dels problemes greus abans d'escriure una línia de test. Però són lentes i depenen de la teva disciplina. A la lliçó següent, 06-02 Eines de Proves Automatitzades, veurem com delegar a les màquines la part repetitiva i objectiva —recordant sempre que l'automàtic només cobreix un 30-40% i mai no substitueix el que acabes d'aprendre aquí.
Curs d'Accessibilitat Web
Mòdul 1: Introducció a l'Accessibilitat Web
- Què és l'Accessibilitat Web?
- La Importància de l'Accessibilitat Web
- Visió General de les Lleis i Normes d'Accessibilitat
- Introducció a les WCAG
Mòdul 2: Comprensió de les Discapacitats i les Tecnologies d'Assistència
- Tipus de Discapacitats
- Visió General de les Tecnologies d'Assistència
- Com Utilitzen la Web les Persones amb Discapacitat
Mòdul 3: Principis del Disseny Accessible
- Perceptible: Fer el Contingut Disponible als Sentits
- Operable: Interfície d'Usuari i Navegació
- Comprensible: Informació i Operació
- Robust: Compatibilitat amb Tecnologies Actuals i Futures
Mòdul 4: Implementació de l'Accessibilitat en HTML i CSS
- HTML Semàntic
- Formularis Accessibles
- Ús de Rols i Propietats ARIA
- Contrast de Color i Redimensionament del Text
Mòdul 5: Accessibilitat en JavaScript i Multimèdia
- Creació de Widgets de JavaScript Accessibles
- Accessibilitat del Teclat
- Contingut de Vídeo i Àudio Accessible
- Proporcionar Alternatives de Text per a les Imatges
Mòdul 6: Proves i Avaluació de l'Accessibilitat
- Tècniques de Proves Manuals
- Eines de Proves Automatitzades
- Proves d'Usuari amb Tecnologies d'Assistència
- Interpretació d'Informes d'Accessibilitat
