ID aria-owns mancante
Silktide controlla ogni attributo aria-owns nelle tue pagine e verifica che gli ID degli elementi elencati esistano realmente. Questo attributo adotta elementi presenti in un'altra parte della pagina come elementi figlio di un widget, anche se il codice li colloca altrove.
<!-- Problema: nessun elemento nella pagina ha id="menu-items" -->
<div role="menu" aria-owns="menu-items">…</div>
Perché è importante
L'attributo aria-owns riconfigura l': gli elementi a cui fa riferimento vengono trattati come elementi figlio dell'elemento proprietario, indipendentemente dalla loro posizione nel codice. Quando un riferimento non è valido, questo collegamento fallisce senza segnalazioni: un menu o un albero può apparire completamente vuoto a un , anche se i suoi elementi sono chiaramente visibili sullo schermo. Poiché visivamente non sembra esserci nulla di errato, questi problemi spesso persistono fino a quando qualcuno non esegue un test con una .
Come risolvere il problema
- Fai in modo che ogni ID elencato in
aria-ownscorrisponda all'iddi un elemento reale nella stessa pagina. - Se il contenuto proprietario è stato spostato o rinominato, aggiorna il riferimento nella stessa modifica; oppure, meglio ancora, ristruttura il codice in modo che gli elementi figlio si trovino naturalmente all'interno del genitore e che
aria-ownsnon sia necessario. - Assicurati che nessun elemento sia proprietario di più riferimenti: un
idpuò comparire in un soloaria-ownsnella pagina.
Come Silktide esegue questo controllo
- Individua ogni elemento nella pagina con un attributo
aria-owns. - Verifica ogni ID a cui fa riferimento confrontandolo con gli ID degli elementi presenti nella pagina.
- Segnala ogni riferimento che non corrisponde ad alcun elemento.
Risoluzione dei problemi
L'elemento proprietario viene creato in seguito da uno script
Silktide esegue il controllo mentre la pagina viene caricata. Se il contenuto proprietario esiste solo dopo un'interazione dell'utente, il widget viene annunciato come vuoto fino a quel momento: esegui il rendering del contenuto nascosto fin dall'inizio oppure imposta aria-owns quando il contenuto esiste.
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.