Gå til indhold
SilktideHjælp

Ved fokus

Blot at flytte til et element, for eksempel ved at trykke på Tab, må aldrig udløse en væsentlig ændring som at indlæse en ny side, indsende en formular eller åbne en pop op.

Dette er en : automatisering kan ikke pålideligt afgøre ud fra minimeret eller framework-baseret JavaScript, om en fokushåndtering ændrer kontekst, så Silktide viser prompten på hver side, og en person bekræfter den ved at navigere med Tab.

Hvorfor det er vigtigt

Tastaturbrugere flytter fokus gennem en side for at udforske den, på samme måde som musebrugere flytter markøren – at nå et kontrolelement er ikke det samme som at vælge at bruge det. Hvis det blot at tabbe ind i et søgefelt genindlæser siden, eller at nå en knap åbner en dialogboks, bliver tastatur- og -brugere ført et sted hen, de ikke bad om at komme til, og mister ofte deres placering og deres arbejde. Personer med motoriske funktionsnedsættelser, som navigerer langsomt, element for element, rammer konstant disse fælder.

Dette er WCAG-succeskriterium 3.2.1 (Ved fokus), et krav på – en del af det mest grundlæggende overensstemmelsesniveau.

Hvad du skal tjekke

  1. Naviger med Tab gennem alle fokuserbare kontrolelementer på siden.
  2. Bekræft, at fokus alene aldrig navigerer, indsender en formular eller åbner en dialogboks eller et nyt vindue.
  3. Fokushåndteringer, der kun fremhæver et felt, viser et tip eller forbereder data i baggrunden, er i orden.

Hvis fokus aldrig ændrer kontekst, skal du fundet.

Sådan løser du det

  1. Flyt handlingen ud af fokushåndteringen. Navigation, indsendelse og dialogbokse bør udløses af en eksplicit handling som click, Enter eller en ændring, som den besøgende bekræfter.
  2. Brug kun fokushåndteringer til ikke-forstyrrende effekter.
// Problem: når feltet nås, navigeres der med det samme
searchBox.addEventListener('focus', () => {
  window.location.href = '/search';
});

// Løsning: naviger kun, når brugeren vælger at handle
searchBox.addEventListener('keydown', (event) => {
  if (event.key === 'Enter') {
    window.location.href = '/search';
  }
});

Sådan tester Silktide dette

Silktide kan ikke pålideligt registrere kontekstændringer, der udløses af fokus, ved at undersøge lytterens kildekode – frameworks og minimering gør det skrøbeligt – så dette tjek viser én prompt til gennemgang pr. side, der beskriver, hvad der skal verificeres ved at navigere med Tab.

Få mere at vide

Sidst opdateret

Var denne side nyttig?