Hopp til innhold
SilktideHjelp

Samtidig inndata

Silktide ser etter stiler som slår av berøringsinndata for hele siden, eller som skjuler knapper og lenker for personer som bruker en bestemt type peker, for eksempel en mus eller en berøringsskjerm. Sider bør la besøkende bruke den inndatametoden enheten deres tilbyr.

Hvorfor dette er viktig

Folk bytter stadig mellom inndatametoder: en bærbar PC med berøringsskjerm, et nettbrett med tilkoblet tastatur eller en stasjonær PC med en pekepenn. Andre er avhengige av én bestemt inndatametode på grunn av en funksjonsnedsettelse – en person med skjelvinger kan synes berøring er enklere enn en mus, mens noen som bruker en munnpinne, kanskje bare bruker et tastatur. En side som deaktiverer berøring, eller som skjuler kontroller med mindre du kan holde musepekeren over dem, utelukker disse besøkende fra funksjoner som resten av målgruppen kan bruke.

Dette er bakgrunnen for suksesskriterium 2.5.6 i , (Samtidige inndatamekanismer), et krav på .

Slik løser du det

  1. Fjern touch-action: none fra html- eller body-elementet. Hvis du trenger det for å støtte en egendefinert bevegelse, bruker du det bare på det bestemte elementet som håndterer bevegelsen, for eksempel et kart eller en glidebryter, ikke på hele siden.
  2. Når en mediespørring som @media (hover: none) eller @media (pointer: coarse) skjuler en knapp eller lenke, må du sørge for at den samme handlingen fortsatt er tilgjengelig på en annen måte for disse besøkende. Tilpass kontroller for berøring i stedet for å fjerne dem.
  3. Hvis den flaggede stilen faktisk er ufarlig – for eksempel hvis den skjuler en kontroll som har en tilsvarende kontroll som er synlig for alle – kan du funnet.
/* Problem: deaktiverer berøringsinndata for hele siden */
body {
  touch-action: none;
}

/* Bedre: begrens det til elementet som trenger egendefinerte bevegelser */
.map-canvas {
  touch-action: none;
}

Slik tester Silktide dette

  1. Leser som er skrevet direkte inn på hver side, både <style>-blokker og style-attributter på html- og body-elementene.
  2. Rapporterer en side når den deaktiverer berøring globalt, med touch-action: none brukt på html, body eller rotelementet.
  3. Rapporterer en side når en mediespørring som tester sveve- eller pekertype (for eksempel hover: hover eller pointer: coarse) skjuler et interaktivt element som en knapp, lenke eller skjemafelt med display: none.
  4. Rapporterer høyst ett funn per side. Fordi disse mønstrene noen ganger har legitime bruksområder, flagges funnene for bekreftelse i stedet for å telles som bekreftede feil.

Feilsøking

Den flaggede stilen er tilsiktet

Noen sider har et reelt behov for disse mønstrene – et tegneverktøy kan deaktivere innebygde berøringsbevegelser, eller en funksjon som bare er laget for stasjonære PC-er, kan skjule en meny som vises ved musepeking på berøringsenheter, samtidig som det finnes en annen vei til det samme innholdet. Hvis du bekrefter at det finnes en tilsvarende inndatavei, kan du godkjenne funnet.

Siden min begrenser inndata, men ble ikke flagget

Silktide leser bare CSS som er skrevet inn på selve siden. Regler i separat koblede stilark skannes ikke av denne kontrollen. Den kan heller ikke se inndatabegrensninger som brukes gjennom , for eksempel skript som ignorerer berøringshendelser på bestemte enheter. At siden består denne kontrollen, garanterer ikke at den oppfyller suksesskriteriet.

Finn ut mer

Sist oppdatert

Var denne siden nyttig?

Samtidig inndata | Silktide Hjelp