Hopp til innhold
SilktideHjelp

Ved fokus

Det å flytte fokus til et element, for eksempel ved å trykke på Tab, skal aldri utløse en større endring, som å laste inn en ny side, sende inn et skjema eller åpne en popup.

Dette er en : Automatisering kan ikke pålitelig avgjøre ut fra minifisert JavaScript eller JavaScript fra rammeverk om en fokushåndterer endrer konteksten. Derfor viser Silktide spørsmålet på hver side, og en person bekrefter dette ved å navigere med Tab.

Hvorfor dette er viktig

Tastaturbrukere flytter fokus gjennom en side for å utforske den, på samme måte som musebrukere flytter pekeren – å nå en kontroll er ikke det samme som å velge å bruke den. Hvis det å tabbe til et søkefelt bare laster inn siden på nytt, eller det å nå en knapp åpner en dialogboks, blir tastatur- og -brukere ført til et sted de ikke ba om å gå til, og mister ofte oversikten og arbeidet sitt. Personer med motoriske funksjonsnedsettelser som navigerer sakte, element for element, møter stadig disse fellene.

Dette er suksesskriterium 3.2.1 i (Ved fokus), et krav på – en del av det mest grunnleggende samsvarsnivået.

Hva som skal kontrolleres

  1. Naviger med Tab gjennom alle fokuserbare kontroller på siden.
  2. Bekreft at fokus alene aldri navigerer, sender inn et skjema eller åpner en dialogboks eller et nytt vindu.
  3. Fokushåndterere som bare fremhever et felt, viser et tips eller klargjør data i bakgrunnen, er i orden.

Hvis fokus aldri endrer konteksten, funnet.

Slik løser du det

  1. Flytt handlingen ut av fokushåndtereren. Navigering, innsending og dialogbokser skal utløses av en eksplisitt handling, for eksempel click, Enter eller en endring den besøkende bekrefter.
  2. Bruk fokushåndterere bare til effekter som ikke forstyrrer.
// Problem: det å nå feltet navigerer umiddelbart
searchBox.addEventListener('focus', () => {
  window.location.href = '/search';
});

// Løsning: naviger bare når brukeren velger å handle
searchBox.addEventListener('keydown', (event) => {
  if (event.key === 'Enter') {
    window.location.href = '/search';
  }
});

Slik tester Silktide dette

Silktide kan ikke pålitelig oppdage kontekstendringer som utløses av fokus, ved å inspisere kildekoden til lyttere – rammeverk og minifisering gjør dette upålitelig. Derfor viser denne kontrollen ett spørsmål om gjennomgang per side, som beskriver hva som skal bekreftes ved å navigere med Tab.

Les mer

Sist oppdatert

Var denne siden nyttig?