Hopp til innhold
SilktideHjelp

Konfliktende ARIA-rolle

Silktide kontrollerer elementer som deklarerer en eksplisitt rolle, opp mot betydningen de allerede har i HTML. Den rapporterer roller som ikke er tillatt for det aktuelle elementet, og roller som bare gjentar det elementet allerede betyr.

<!-- Problem: et nav-element kan ikke være en knapp -->
<nav role="button">…</nav>

<!-- Problem: overflødig, nav har allerede denne rollen -->
<nav role="navigation">…</nav>

<!-- Løsning: la elementet tale for seg selv -->
<nav>…</nav>

Hvorfor dette er viktig

Alle -elementer har en innebygd betydning som er avhengig av. En -rolle som er i konflikt med denne betydningen, oppretter et element som ser ut som én ting, men presenterer seg som noe annet – en -bruker kan høre «lenke» for noe som oppfører seg som en knapp, med hurtigtaster og forventninger som ikke lenger stemmer. Overflødige roller er mindre skadelige, men tilfører støy, inviterer til fremtidige feil og signaliserer at ARIA brukes der det ikke trengs.

Slik løser du det

  1. For en konfliktende rolle kan du enten fjerne rollen eller bytte til et element som faktisk har betydningen du ønsker – hvis det skal fungere som en knapp, bruker du <button>.
  2. For en overflødig rolle, for eksempel <nav role="navigation"> eller <button role="button">, sletter du role-attributtet. Elementet eksponerer allerede denne rollen på egen hånd.

Slik tester Silktide dette

  1. Finn alle elementer på siden med et role-attributt, og hopp over roller som er ukjente eller abstrakte (disse rapporteres av Ugyldig ARIA-rolle).
  2. Sammenlign rollen med kombinasjonene ARIA in HTML-spesifikasjonen tillater for elementet, og rapporter roller elementet ikke tillater.
  3. Rapporter roller som dupliserer elementets egen implisitte rolle.
  4. Når et role-attributt viser flere roller, tas bare den første i betraktning.

Funnene skiller mellom de to tilfellene, slik at du kan prioritere konflikter fremfor overflødige roller.

Feilsøking

Den overflødige rollen finnes der for eldre nettlesere

Eksplisitte landemerkeroller som role="navigation" ble tidligere anbefalt som et sikkerhetsnett for gammel kompenserende teknologi. Støtte for de innebygde elementene har vært universell i mange år, og den dupliserte rollen koster nå mer i vedlikehold enn den gir tilbake. Fjern den, eller funnet hvis støttepolicyen din krever at den beholdes.

Denne kontrollen rapporterer ingenting, selv om jeg forventer funn

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

Les mer

Sist oppdatert

Var denne siden nyttig?