Standardit · WCAG 2.2

SC 2.1.1 Taso A WCAG 2.0

Näppäimistö

Jokaisen sivun toiminnon on oltava käytettävissä pelkällä näppäimistöllä — ei vaadita hiiren liikkeitä, raahauksia tai tiettyjä ajoituksia. Ruudunlukuohjelma-, kytkin- ja ääniohjausten käyttäjät ovat kaikki riippuvaisia tästä perusvaatimuksesta.

Mitä vaaditaan

Kaiken sisällön toiminnallisuuden on oltava käytettävissä näppäimistöliittymän kautta ilman, että yksittäisiltä näppäinpainalluksilta vaaditaan tiettyjä ajoituksia. Käyttäjän on pystyttävä siirtymään jokaiseen interaktiiviseen elementtiin Sarkain-näppäimellä, aktivoimaan se Enter- tai Välilyönti-näppäimellä sekä käyttämään monimutkaisia widgettejä nuolinäppäimillä ja muilla vakioyhdistelmillä.

On kaksi kapeaa poikkeusta: syöte, joka riippuu käyttäjän liikkeen polusta (vapaapiirros, asiakirjan allekirjoittaminen) eikä vain päätepisteistä, sekä syöte, joka jäljittelee analogista reaalimaailman toimintoa, jossa polku on merkityksellinen.

Miten täyttää vaatimus

  • Käytä natiiveja interaktiivisia elementtejä (<button>, <a href>, <input>, <select>) — ne ovat oletuksena näppäimistöllä käytettäviä.
  • Mukautetuissa widgeteissä, jotka on rakennettu <div>- tai <span>-elementeistä, lisää role, tabindex="0" sekä näppäimistökäsittelijät Enter-, Välilyönti-, Escape- ja nuolinäppäimille kulloisenkin mallin mukaisesti.
  • Noudata ARIA Authoring Practices Guidea valikoille, välilehdille, yhdistelmälaatikoille, valintaikkunoille ja puunäkymille — kullakin on määritelty näppäimistövuorovaikutusmalli.
  • Tarjoa näppäimistövastine jokaiselle vain hiirellä tehtävälle eleelle: raahaa-ja-pudota tarvitsee järjestä-painikkeilla-tehtävän vaihtoehdon, vain hoverilla avautuvat valikot tarvitsevat napsautuksella avautumisen, pyyhkäisykarusellit tarvitsevat edellinen/seuraava-painikkeet.
  • Testaa irrottamalla hiiri ja käymällä koko kulku läpi.

Yleisiä virheitä

  • <div onclick> ilman role="button", tabindex="0" tai näppäimistökäsittelijää — näppäimistökäyttäjille täysin näkymätön.
  • Mukautetut pudotusvalikot, joissa käynnistin on saavutettavissa mutta vaihtoehtoja ei voi selata nuolinäppäimillä.
  • Raahaa-ja-pudota-kanban-taulut, tiedostojen lataustyökalut tai canvas-pohjaiset työkalut ilman näppäimistövaihtoehtoa.
  • Modaali-ikkunoiden sulkemispainikkeet ovat olemassa, mutta Escape-näppäintä ei käsitellä.
  • Vain hoverilla näkyvät työkaluvihjeet ja valikot, jotka eivät koskaan näy näppäimistön kohdistuksen aikana.
  • Karusellit ja kuvagalleriat, joita voi käyttää vain pyyhkäisemällä tai napsauttamalla ilmaisimia, joilla ei ole tabindex-arvoa.

axe ja Lighthouse merkitsevät puuttuvan tabindex-arvon ja puuttuvan saavutettavan nimen, mutta eivät voi kertoa, vastaako mukautettu pudotusvalikko nuolinäppäimiin — se on testattava manuaalisesti.

Miksi tämä on tärkeää

Tämä on yksittäisistä operatiivisuuden onnistumiskriteereistä tärkein. Ruudunlukuohjelman käyttäjät navigoivat näppäimistöllä. Kytkinkäyttäjät emuloivat näppäimistöä. Ääniohjauksen käyttäjät antavat komentoja, jotka vastaavat näppäimistötapahtumia. RSI-ongelmista kärsivät tehokäyttäjät tukeutuvat siihen. Sivusto, joka ei täytä 2.1.1-vaatimusta, sulkee tehokkaasti pois kaikki, jotka eivät pysty käyttämään hiirtä — ja kyseinen ryhmä on paljon suurempi kuin ilmiselvin.