Osoittimen peruuttaminen
Silktide tunnistaa painikkeet ja linkit, jotka toimivat heti, kun niitä painetaan alas, sen sijaan että ne toimisivat vasta, kun painallus vapautetaan. Toimiminen vapautettaessa antaa ihmisille mahdollisuuden korjata väärän kohteen painaminen liu'uttamalla osoittimen pois ennen vapauttamista.
Miksi tämä on tärkeää
Jokainen painaa toisinaan väärää painiketta, mutta vapinasta, rajoittuneesta näppäryydestä tai heikosta näöstä kärsivät ihmiset tekevät niin paljon useammin. Yleinen palautusele on pitää painallus pohjassa, vetää osoitin pois ohjausobjektista ja vapauttaa se – tämä toimii, koska painikkeet ja linkit toimivat tavallisesti vapautettaessa. Ohjausobjekti, joka on määritetty reagoimaan ensimmäiseen painallukseen, poistaa tämän pakotien: toiminto käynnistyy välittömästi eikä sitä voi keskeyttää. Lomakkeen lähetys- tai poistopainikkeessa yksi lipsahdus muuttuu peruuttamattomaksi virheeksi.
Tämä on -menestyskriteeri 2.5.2 (Osoittimen peruuttaminen), vaatimus – osa vaatimustenmukaisuuden perustasoa.
Kuinka korjata se
- Käynnistä toiminnot
click-tapahtumasta, joka käynnistyy vapautettaessa, äläkä tapahtumistamousedown,pointerdowntaitouchstart. - Jos ohjausobjektin todella on reagoitava ensimmäiseen painallukseen – esimerkiksi musiikkisovelluksen pianon koskettimen – varmista, että ohjausobjektin ulkopuolella vapauttaminen kumoaa tai keskeyttää toiminnon, tai tarjoa kumoa-toiminto.
- Jos merkitty kuuntelija ei todellisuudessa käynnistä toimintoa (se voi esimerkiksi vain lisätä painetun tilan visuaalisen tehosteen), voit havainnon.
// Ongelma: käynnistyy heti painettaessa, ei voi peruuttaa
button.addEventListener('mousedown', submitForm);
// Korjaus: käynnistyy vapautettaessa, joten pois vetäminen peruuttaa sen
button.addEventListener('click', submitForm);
Miten Silktide testaa tämän
- Lataa jokainen sivu oikeassa selaimessa ja tallenna sen rekisteröimät -tapahtumakuuntelijat.
- Etsi painalluksen aloitustapahtumien kuuntelijat:
mousedown,pointerdownjatouchstart. - Raportoi kuuntelija, kun se on liitetty ohjausobjektiin, joka aktivoituu tavallisesti vapautettaessa: painikkeeseen, linkkiin, lähetys- tai palautussyötteeseen tai elementtiin, jolla on -rooli, kuten
button,link,menuitem,tabtaiswitch. - Ohita koko sivua koskevat kuuntelijat, joita ei ole liitetty tiettyyn ohjausobjektiin ja jotka yleensä liittyvät vierityksen tai vedä ja pudota -toiminnon käsittelyyn aktivoinnin sijaan.
- Koska Silktide ei voi päätellä, mitä kuuntelijan koodi tekee, havainnot merkitään vahvistettaviksi sen sijaan, että ne laskettaisiin vahvistetuiksi virheiksi.
Vianmääritys
Kuuntelija ei aktivoi mitään
Painalluksen aloitustapahtumien kuuntelijoita käytetään usein harmittomiin tehosteisiin: painetun tilan tyyliin, aaltoanimaatioon tai kohdistuksen hallintaan, kun varsinainen toiminto on edelleen click-tapahtumassa. Tämä täyttää kriteerin; hyväksy havainto.
Ohjausobjekti on liukusäädin tai vetokahva
Liukusäätimet, vetokahvat ja vastaavat pienoisohjelmat seuraavat perustellusti ensimmäistä painallusta. WCAG pitää painalluksen aloitustapahtumaa olennaisena näissä vuorovaikutuksissa; hyväksy havainto.