Fokusrekkefølge
Silktide finner elementer som overstyrer rekkefølgen tastaturbrukere beveger
seg gjennom siden i. Som standard går Tab-tasten gjennom lenker og
skjemakontroller i den rekkefølgen de vises i sidens kode. Et positivt
tabindex-attributt tvinger frem en egendefinert rekkefølge, noe som nesten
alltid er en feil.
<!-- Tvinger dette feltet til å bli nådd før alt annet på siden -->
<input tabindex="1" name="search">
Hvorfor dette er viktig
Tastaturbrukere forventer at Tab-tasten flytter seg gjennom en side i en
forutsigbar rekkefølge som samsvarer med det de ser. Et positivt tabindex
kaprer denne rekkefølgen: Fokus hopper først til de nummererte elementene og
så tilbake til alt annet, noe som kan sende
hoppende rundt på siden. Det er også sårbart – hvis du legger til ett nytt
element senere, må alt nummereres på nytt – og det slutter ofte å fungere når
sidene endres.
Slik løser du det
- Fjern positive
tabindex-verdier, og la den naturlige rekkefølgen i bestemme tab-rekkefølgen. - Hvis den naturlige rekkefølgen er forvirrende, kan du endre rekkefølgen på
elementene i HTML-en (bruk CSS for visuell utforming) i stedet for å dekke
over problemet med
tabindex. - De andre
tabindex-verdiene er fortsatt i orden og blir ikke flagget:tabindex="0"gjør et element mulig å fokusere på med tastaturet på sin naturlige plassering, noe som er nyttig for egendefinerte kontroller.tabindex="-1"fjerner et element fra Tab-navigasjonen, noe som er nyttig for elementer som får fokus via skript, for eksempel dialogbokser.
Slik tester Silktide dette
- Finn alle elementer på siden med et eksplisitt
tabindex-attributt. - Flagg hvert element der
tabindexer større enn 0, som et mulig problem du må bekrefte. - Verdier på 0 eller lavere blir ikke flagget.
Feilsøking
Vi bruker positive tabindex-verdier med hensikt
I sjeldne tilfeller kan rekkefølgen i sidens kode faktisk ikke samsvare med den
logiske rekkefølgen, og positive tabindex-verdier er den eneste løsningen.
Hvis du har bekreftet at tab-rekkefølgen er fornuftig ved å tabbe deg gjennom
siden, kan du merke funnet som kontrollert.