aria-hidden annidato
Silktide esegue un controllo sui contenuti contrassegnati come visibili alle all'interno di un contenitore contrassegnato come nascosto per esse. L'impostazione nascosta prevale: il contrassegno interno non ha alcun effetto e il contenuto rimane nascosto.
<!-- Problema: il paragrafo rimane nascosto nonostante aria-hidden="false" -->
<div aria-hidden="true">
<p aria-hidden="false">Contenuto importante</p>
</div>
Perché è importante
Quando un elemento ha aria-hidden="true", tutto ciò che contiene viene rimosso dall'. Lo standard non offre alcun modo per consentire a un elemento discendente di essere nuovamente incluso: aria-hidden="false" all'interno di un contenitore nascosto semplicemente non ha alcun effetto. Gli autori che usano questo modello credono di aver nuovamente reso visibile il contenuto interno; il risultato è quindi un contenuto che gli utenti vedenti possono vedere, ma che gli utenti di non possono raggiungere, senza che nessuno sia consapevole della lacuna.
Come risolvere il problema
- Ristruttura il markup in modo che il contenuto da rendere accessibile non si trovi all'interno del contenitore nascosto: spostalo all'esterno, facendolo diventare un elemento adiacente anziché discendente.
- Se tutto ciò che si trova all'interno del contenitore dovrebbe essere effettivamente disponibile, rimuovi
aria-hidden="true"dall'antenato. - Non fare mai affidamento su
aria-hidden="false"per annullare lo stato nascosto di un antenato; una volta applicata la correzione, di solito puoi eliminare anche l'attributo interno.
Come Silktide esegue il controllo
- Trova ogni elemento nella pagina con
aria-hidden="false". - Risale i suoi antenati cercando elementi con
aria-hidden="true". - Segnala ogni elemento il cui
aria-hidden="false"è intrappolato all'interno di un antenato nascosto.
Risoluzione dei problemi
Uno script attiva e disattiva aria-hidden dell'antenato
Silktide esegue il controllo della pagina durante il caricamento. Se lo stato nascosto esiste solo temporaneamente, prima che uno script lo rimuova, il risultato riflette quello stato iniziale. Tieni però presente che anche gli utenti di tecnologie assistive con connessioni lente sperimentano quello stato e che aria-hidden="false" annidato non ha alcun effetto finché lo stato permane.
Questo controllo non segnala nulla anche se mi aspetto dei risultati
I test ARIA possono essere disattivati per ogni sito web. Controlla le impostazioni avanzate del sito web.