Vai al contenuto
SilktideAiuto

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

  1. 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>.
  2. 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

  1. Individua ogni elemento della pagina con un attributo role, ignorando i ruoli sconosciuti o astratti (che vengono segnalati da Ruolo ARIA non valido).
  2. Confronta il ruolo con le combinazioni consentite dalla specifica ARIA in HTML per quell'elemento e segnala i ruoli che l'elemento non consente.
  3. Segnala i ruoli che duplicano il ruolo implicito dell'elemento.
  4. 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.

Per saperne di più

Ultimo aggiornamento

Questa pagina è stata utile?