Attributo ARIA vietato
Silktide controlla che ogni attributo ARIA nelle tue pagine sia supportato dal ruolo effettivo dell'elemento. Gli attributi non supportati da un ruolo e gli attributi che non fanno parte dello standard ARIA vengono ignorati dai browser: il comportamento previsto dall'autore non si verifica mai.
<!-- Problema: aria-checked non ha alcun effetto su un pulsante -->
<button aria-checked="true">Bold</button>
<!-- Soluzione: usa un ruolo che supporti lo stato necessario -->
<button role="switch" aria-checked="true">Bold</button>
Perché è importante
Ogni ruolo supporta un insieme specifico di stati
e proprietà, e i browser ignorano tutto ciò che non rientra in tale insieme. La pagina
sembra quindi corretta durante la revisione del codice, mentre gli utenti di
non ricevono
nulla: lo stato di un interruttore non viene mai annunciato, una descrizione non
viene mai letta. Questa categoria rileva anche gli attributi scritti in modo errato, come
aria-lable: il caso più dannoso, perché l'autore crede che esista un'etichetta
e un utente di non riceve
alcuna informazione.
Come risolvere il problema
- Correggi i nomi degli attributi scritti in modo errato (
aria-labledovrebbe esserearia-label,aria-labeledbydovrebbe esserearia-labelledby). - Se l'attributo è corretto ma non supportato, cambia il ruolo dell'elemento impostandolo su uno che lo supporti oppure valuta se un elemento nativo fornisca già questo comportamento.
- Se l'attributo non svolge alcuna funzione utile, rimuovilo.
Come Silktide esegue il controllo
- Trova ogni elemento della pagina che contiene almeno un attributo
aria-. - Determina l'insieme degli attributi ARIA validi per quell'elemento: gli attributi
globali che funzionano ovunque (come
aria-labelearia-hidden), oltre agli attributi supportati dal ruolo dell'elemento. - Segnala i nomi degli attributi che non fanno parte di ARIA 1.2, in genere a causa di errori di battitura.
- Segnala gli attributi riconosciuti usati su un elemento il cui ruolo non li supporta o che richiedono un ruolo che l'elemento non possiede.
Gli attributi deprecati vengono segnalati separatamente da Attributo ARIA deprecato, mentre i valori degli attributi vengono convalidati da Valore dell'attributo ARIA non valido.
Risoluzione dei problemi
L'attributo funziona nei miei test
Alcune combinazioni di screen reader e browser tollerano combinazioni non standard che altre ignorano. La conformità allo standard è ciò che rende il comportamento prevedibile sulle tecnologie assistive che non puoi testare.
Questo controllo non segnala nulla, anche se mi aspetto dei risultati
Il test ARIA può essere disattivato per ogni sito web. Controlla le impostazioni avanzate del sito web.