Els formularis són una part essencial de moltes aplicacions web, ja que permeten als usuaris introduir i enviar informació. Assegurar-se que els formularis siguin accessibles és crucial per garantir que tots els usuaris, incloses les persones amb discapacitats, puguin interactuar amb ells de manera efectiva.
Conceptes Clau
- 
Etiquetes (Labels) Clarament Associades:
- Cada camp de formulari ha de tenir una etiqueta (
<label>) clarament associada. Això ajuda els usuaris de lectors de pantalla a entendre el propòsit de cada camp. - Exemple:
<label for="email">Correu Electrònic:</label> <input type="email" id="email" name="email"> 
 - Cada camp de formulari ha de tenir una etiqueta (
 - 
Ordre de Navegació Lògic:
- L'ordre de navegació amb el teclat ha de seguir una seqüència lògica. Utilitza l'atribut 
tabindexnomés quan sigui necessari per corregir l'ordre natural. - Evita l'ús excessiu de 
tabindexper no complicar la navegació. 
 - L'ordre de navegació amb el teclat ha de seguir una seqüència lògica. Utilitza l'atribut 
 - 
Indicadors de Requeriment:
- Indica clarament quins camps són obligatoris. Això es pot fer visualment i mitjançant atributs com 
aria-required. - Exemple:
<label for="name">Nom: <span aria-hidden="true">*</span></label> <input type="text" id="name" name="name" aria-required="true"> 
 - Indica clarament quins camps són obligatoris. Això es pot fer visualment i mitjançant atributs com 
 - 
Missatges d'Error Accessibles:
- Proporciona missatges d'error clars i accessibles quan es produeixen errors de validació.
 - Utilitza 
aria-liveper assegurar-te que els lectors de pantalla notifiquin els usuaris dels errors. - Exemple:
<div aria-live="assertive" id="error-message" style="color: red;"> <!-- Missatge d'error aquí --> </div> 
 - 
Descripcions Addicionals:
- Utilitza 
aria-describedbyper proporcionar informació addicional sobre un camp de formulari. - Exemple:
<label for="password">Contrasenya:</label> <input type="password" id="password" name="password" aria-describedby="password-help"> <small id="password-help">La contrasenya ha de tenir almenys 8 caràcters.</small> 
 - Utilitza 
 
Exercicis Pràctics
Exercici 1: Crear un Formulari Accessible
Crea un formulari de registre amb els següents camps: Nom, Correu Electrònic, Contrasenya i Confirmació de Contrasenya. Assegura't que el formulari sigui accessible seguint els conceptes clau esmentats.
Solució Proposada:
<form>
  <div>
    <label for="name">Nom: <span aria-hidden="true">*</span></label>
    <input type="text" id="name" name="name" aria-required="true">
  </div>
  <div>
    <label for="email">Correu Electrònic: <span aria-hidden="true">*</span></label>
    <input type="email" id="email" name="email" aria-required="true">
  </div>
  <div>
    <label for="password">Contrasenya: <span aria-hidden="true">*</span></label>
    <input type="password" id="password" name="password" aria-required="true" aria-describedby="password-help">
    <small id="password-help">La contrasenya ha de tenir almenys 8 caràcters.</small>
  </div>
  <div>
    <label for="confirm-password">Confirmació de Contrasenya: <span aria-hidden="true">*</span></label>
    <input type="password" id="confirm-password" name="confirm-password" aria-required="true">
  </div>
  <button type="submit">Registrar-se</button>
</form>Exercici 2: Afegir Missatges d'Error Accessibles
Modifica el formulari anterior per incloure missatges d'error accessibles quan els camps obligatoris no es completen correctament.
Solució Proposada:
<form>
  <div>
    <label for="name">Nom: <span aria-hidden="true">*</span></label>
    <input type="text" id="name" name="name" aria-required="true">
    <div id="name-error" aria-live="assertive" style="color: red;"></div>
  </div>
  <div>
    <label for="email">Correu Electrònic: <span aria-hidden="true">*</span></label>
    <input type="email" id="email" name="email" aria-required="true">
    <div id="email-error" aria-live="assertive" style="color: red;"></div>
  </div>
  <div>
    <label for="password">Contrasenya: <span aria-hidden="true">*</span></label>
    <input type="password" id="password" name="password" aria-required="true" aria-describedby="password-help">
    <small id="password-help">La contrasenya ha de tenir almenys 8 caràcters.</small>
    <div id="password-error" aria-live="assertive" style="color: red;"></div>
  </div>
  <div>
    <label for="confirm-password">Confirmació de Contrasenya: <span aria-hidden="true">*</span></label>
    <input type="password" id="confirm-password" name="confirm-password" aria-required="true">
    <div id="confirm-password-error" aria-live="assertive" style="color: red;"></div>
  </div>
  <button type="submit">Registrar-se</button>
</form>Conclusió
Els formularis accessibles són essencials per garantir que tots els usuaris puguin interactuar amb les aplicacions web de manera efectiva. Mitjançant l'ús d'etiquetes clares, missatges d'error accessibles i una navegació lògica, podem millorar significativament l'experiència d'usuari per a persones amb discapacitats. Practicar aquests principis en els teus projectes t'ajudarà a crear aplicacions més inclusives i accessibles.
Curs d'Accessibilitat Web
Mòdul 1: Introducció a l'Accessibilitat Web
- Què és l'Accessibilitat Web?
 - Importància de l'Accessibilitat Web
 - Visió General de les Lleis i Estàndards d'Accessibilitat
 - Introducció a WCAG
 
Mòdul 2: Comprensió de les Discapacitats i les Tecnologies Assistencials
- Tipus de Discapacitats
 - Visió General de les Tecnologies Assistencials
 - Com les Persones amb Discapacitats Utilitzen la Web
 
Mòdul 3: Principis del Disseny Accessible
- Perceptible: Fer el Contingut Accessible 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 de Text
 
Mòdul 5: Accessibilitat en JavaScript i Multimèdia
- Creació de Ginys JavaScript Accessibles
 - Accessibilitat del Teclat
 - Contingut de Vídeo i Àudio Accessible
 - Proporcionar Alternatives de Text per a Imatges
 
Mòdul 6: Prova i Avaluació de l'Accessibilitat
- Tècniques de Prova Manual
 - Eines de Prova Automatitzades
 - Prova d'Usuari amb Tecnologies Assistencials
 - Interpretació d'Informes d'Accessibilitat
 
