Ruolo ARIA in conflitto
Silktide controlla gli elementi che dichiarano un ruolo esplicito rispetto al significato a loro già attribuito in HTML. Segnala i ruoli non consentiti per quell'elemento e i ruoli che si limitano a ripetere ciò che l'elemento significa già.
<!-- Problema: un elemento nav non può essere un button -->
<nav role="button">…</nav>
<!-- Problema: ridondante, nav ha già questo ruolo -->
<nav role="navigation">…</nav>
<!-- Correzione: lascia che sia l'elemento a esprimere il proprio significato -->
<nav>…</nav>
Perché è importante
Ogni elemento ha un significato integrato su cui fanno affidamento le . Un ruolo in conflitto con quel significato crea un elemento che appare come una cosa ma viene annunciato come un'altra: un utente di potrebbe sentire "collegamento" per qualcosa che si comporta come un pulsante, con scorciatoie da tastiera e aspettative che non corrispondono più. I ruoli ridondanti sono meno dannosi, ma aggiungono rumore, favoriscono errori futuri e indicano che ARIA viene usato dove non è necessario.
Come correggere il problema
- Per un ruolo in conflitto, rimuovi il ruolo oppure passa a un elemento
che esprima davvero il significato desiderato: se deve comportarsi come un
pulsante, usa
<button>. - Per un ruolo ridondante, come
<nav role="navigation">o<button role="button">, elimina l'attributo role. L'elemento espone già quel ruolo autonomamente.
Come Silktide esegue questo controllo
- Individua ogni elemento della pagina con un attributo
role, ignorando i ruoli sconosciuti o astratti (che vengono segnalati da Ruolo ARIA non valido). - Confronta il ruolo con le combinazioni consentite dalla specifica ARIA in HTML per quell'elemento e segnala i ruoli che l'elemento non consente.
- Segnala i ruoli che duplicano il ruolo implicito dell'elemento.
- Quando un attributo role elenca diversi ruoli, viene considerato solo il primo.
I risultati distinguono i due casi, così puoi dare priorità ai conflitti rispetto alla ridondanza.
Risoluzione dei problemi
Il ruolo ridondante è presente per i browser meno recenti
In passato i ruoli espliciti delle aree di riferimento, come role="navigation", erano consigliati come
misura di sicurezza per le tecnologie assistive meno recenti. Il supporto per gli elementi nativi
è universale da anni e il ruolo duplicato ora comporta più costi di manutenzione
di quanti siano i vantaggi che offre. Rimuovilo oppure
il risultato se la tua politica di supporto
richiede di mantenerlo.
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.