Hopp til innhold
SilktideHjelp

Manglende overordnet ARIA-rolle

Silktide kontrollerer elementer der ARIA-rollen bare gir mening inne i en bestemt type beholder, for eksempel en fane som må ligge inne i en fanestripe, og verifiserer at den nødvendige beholderen finnes.

<!-- Problem: en fane uten en tablist rundt seg -->
<button role="tab">Overview</button>

<!-- Løsning: legg fanene i den nødvendige beholderen -->
<div role="tablist">
  <button role="tab">Overview</button>
</div>

Hvorfor dette er viktig

Elementroller i er definert av konteksten sin: en tab er den tredje av fem faner, en option er ett valg i en liste, og en row er en del av en tabell. finner posisjon, antall og navigasjonsatferd fra det overordnede widget-elementet. Uten det kan elementet bli feilidentifisert, bli lest opp uten kontekst, eller bli hoppet over fullstendig – forfatteren la til halve widgeten, og brukerne får ikke noen av delene på en pålitelig måte.

Slik løser du det

  1. Pakk elementet inn i en beholder med den nødvendige rollen – legg for eksempel elementer med role="tab" inne i en role="tablist".
  2. Hvis den overordnede rollen ikke fysisk kan pakke inn barna i koden, legger du til aria-owns på det logiske overordnede elementet for å ta dem i bruk.
  3. Hvis elementet egentlig ikke er denne typen element, fjerner eller korrigerer du rollen.

Vanlige kombinasjoner: tab trenger tablist; option trenger listbox; menuitem trenger menu eller menubar; radio i en ARIA-gruppe trenger radiogroup; treeitem trenger tree; row trenger grid, table, treegrid eller rowgroup; celler og overskrifter trenger row.

Slik tester Silktide dette

  1. Finn alle elementer der ARIA-rollen krever en bestemt overordnet rolle.
  2. Gå opp gjennom forfedrene, og følg også eventuell overtakelse via aria-owns, på jakt etter et element med en nødvendig overordnet rolle.
  3. Rapporter elementer der ingen slik forfader blir funnet.

Feilsøking

Den overordnede rollen ligger på et element med en implisitt rolle

Nettleserelementer teller: En <option> inne i en <select> trenger ingen eksplisitte roller, fordi begge har de riktige rollene implisitt. Funn vises når en eksplisitt elementrolle brukes uten en kvalifiserende overordnet rolle, eksplisitt eller implisitt.

Denne kontrollen rapporterer ingenting selv om jeg forventer funn

ARIA-testing kan slås av for hvert nettsted. Sjekk de avanserte innstillingene for nettstedet.

Les mer

Sist oppdatert

Var denne siden nyttig?