Hopp til innhold
SilktideHjelp

Tastatursnarveier med tegn

Silktide finner sider som registrerer en tastaturlytter på hele siden – dokumentet, vinduet eller <body>/<html> – og ber deg kontrollere om snarveier med enkelttegn trenger en måte å deaktiveres på.

Kjente eksempler er å trykke på j for å rulle ned, / for å fokusere på søk, eller g og deretter h for å gå hjem.

Dette er en : En global tastaturlytter er en reell grunn til å undersøke saken, men Silktide kan ikke se ut fra registreringen alene om behandleren implementerer en snarvei med ett enkelt tegn. Sider uten en global tastaturlytter blir ikke flagget.

Hvorfor dette er viktig

To grupper rammes særlig hardt av snarveier med enkelttegn som alltid er aktive:

  • Brukere av taleinndata dikterer tekst og kommandoer høyt. Programvare gjør talen deres om til tastetrykk, slik at en vanlig setning blir til en strøm av utilsiktede aktiveringer av snarveier – sider kan hoppe, dialogbokser kan åpnes, og handlinger kan utløses midt i en setning.
  • Personer med nedsatt fingerferdighet eller skjelvinger treffer ofte taster de ikke hadde til hensikt å trykke på, og enhver enkelt tast kan utløse en handling.

Suksesskriterium 2.1.4 (nivå A) i krever derfor at snarveier med enkelttegn kan slås av, tilordnes på nytt slik at de inkluderer en modifikatortast som Ctrl eller Alt, eller bare utløses mens den relevante kontrollen har .

Slik løser du det

For hver globale tastaturbehandler som implementerer en snarvei med enkelttegn, gjør du ett av følgende:

  1. Tilby en innstilling som slår av snarveiene.
  2. Krev en modifikatortast, slik at snarveien for eksempel blir Ctrl+K i stedet for k.
  3. Håndter tasten bare mens den relevante kontrollen har fokus – snarveier som er avgrenset til en kontroll med fokus, er uttrykkelig tillatt.
// Utløses hver gang "k" trykkes, hvor som helst på siden
document.addEventListener('keydown', (e) => {
  if (e.key === 'k') openSearch();
});

// Rettet: krever at Ctrl (eller Cmd) holdes inne
document.addEventListener('keydown', (e) => {
  if (e.key === 'k' && (e.ctrlKey || e.metaKey)) openSearch();
});

Hvis en flagget lytter ikke har snarveier med enkelttegn – eller allerede tilbyr en av disse måtene å deaktivere dem på – funnet.

Slik tester Silktide dette

  1. Samle inn tastatur- som siden registrerer i nettleseren.
  2. Behold bare lyttere som gjelder hele siden – de som er koblet til dokumentet, vinduet eller <body>/<html>-elementet. Lyttere på individuelle kontroller fritas, fordi de bare utløses mens den aktuelle kontrollen har fokus.
  3. Rapporter hver gjenværende lytter slik at du kan bekrefte den. Silktide skraper ikke kildekoden til behandleren etter mønstre som e.key === '…' – det er for skjørt overfor minifisert kode og rammeverkskode. Tilstedeværelsen av en global tastaturlytter er signalet; gjennomgangen din er avgjørelsen.

Feilsøking

Lytteren er ikke en snarvei med enkelttegn

Mange globale tastaturbehandlere overvåker bare Escape, piltaster eller kombinasjoner med modifikatortaster. Hvis din ikke har snarveier med enkelttegn, godkjenn funnet.

Snarveien kan allerede deaktiveres eller tilordnes på nytt

Silktide kan se registreringen av lytteren, men kan ikke se om nettstedet ditt tilbyr en innstilling for dette. Hvis det gjør det, oppfyller siden kravene – godkjenn funnet.

Snarveier fra tredjepartsskript

Chatkomponenter, videospillere og Analytics-verktøy registrerer noen ganger sine egne globale tastaturlyttere. De teller likevel med på siden din; undersøk leverandørens tilgjengelighetsinnstillinger eller ta saken opp med leverandøren.

Snarveier opprettet med accesskey-attributtet

Disse dekkes separat av kontrollen Accesskey-attributt; denne kontrollen gjelder snarveier som er implementert i skript.

Les mer

Sist oppdatert

Var denne siden nyttig?

Tastatursnarveier med tegn | Silktide Hjelp