Több kattintható elem egy helyen

Ha egy képernyőn több interaktív elem látható ugyanazon a helyen, az megnehezítheti a felhasználónak az alkalmazással való interakciót. Egyes kisegítő szolgáltatások – mint például a kapcsolóalapú hozzáférés – is nehézségekbe ütközhetnek abban, hogy egyértelműen mutassák be a felhasználóknak, hogy milyen elemeken végezhetnek műveleteket.

Megvalósítás

View

Ha OnClickListener és OnLongClickListener metódust valósít meg, ellenőrizze, hogy a kattintható View rendelkezik-e olyan elődelemmel vagy leszármazó elemmel, amely kattintható, és a képernyő ugyanazon helyét foglalja el. Jól megvalósított kezelőfelületen a kattintható elemek különállóan jelennek meg.

Kattintható View elemek megvalósításakor vegye figyelembe a következőket:

  • Bizonyos View elemtípusok, például a Button alapértelmezés szerint kattinthatóként vannak megjelölve. Alkalmazásában távolítsa el vagy állítsa android:clickable="false" értékűre az OnClickListener metódust, ha a View nem kattintható, illetve kattintásra nem hajt végre műveletet. Így közölheti a kisegítő lehetőségek szolgáltatásaival, hogy tekintsék a View elemet nem kattinthatónak.
  • Összetettebb kezelőfelületek esetében több View elem között alá-/fölérendeltségi viszony lehet a megjelenési hierarchiában. Beágyazott kattintható View elemek esetében úgy valósítsa meg a kattintáskezelést, hogy minden egyes műveletnél kizárólag egyetlen View kezelje a kattintásokat.
Létrehozás

A Modifier.clickable és a Modifier.combinedClickable objektumok onClick vagy onLongClick tulajdonságának megvalósítása esetén ellenőrizze, hogy van-e olyan elődelem vagy leszármazó elem, amely kattintható, és ugyanott van a képernyőn. Jól megvalósított kezelőfelületen a kattintható elemek különállóan jelennek meg.

  • Egyes alacsony szintű alkotóelemeknek, amilyen például a Button, alapértelmezés szerint kattintható a szemantikájuk. Ha az Ön alkalmazásban nem kattintható az alkotóelem, vagy nem végez semmilyen műveletet, amikor rákattintanak, távolítsa el a kattinthatósági szemantikáját a Modifier.clearAndSetSemantics objektummal.
  • Összetettebb kezelőfelületek esetében több kattintható alkotóelem között alá-/fölérendeltségi viszony lehet a megjelenési hierarchiában. 
    • A beágyazott kattintható alkotóelemek esetében úgy valósítsa meg a kattintáskezelést, hogy minden egyes műveletnél kizárólag egyetlen alkotóelem kezelje a kattintásokat.

Kialakítás

Mindegyik kattintható elem céljának egyértelműnek kell lennie, a felhasználó számára pedig lehetővé kell tenni, hogy felkészüljön arra a műveletre, amelyet a rendszer az elemre való kattintás vagy hosszú kattintás esetén végrehajt. A művelet végrehajtására szolgáló elemeknek egyben megfelelő méretű érintési célpontnak kell lenniük.

Tesztelés

A következőképpen ellenőrizhető manuálisan, hogy az alkalmazás kezelőfelülete nem tartalmaz-e több kattintható elemet egy helyen:

  1. Kapcsolja be a kapcsolóalapú hozzáférést Androidhoz, és állítsa be a kétkapcsolós lépcsős keresést.
  2. Nyissa meg az alkalmazást.
  3. A „Következő” művelethez rendelt kapcsolóval haladjon végig a felületen, elemről elemre áthelyezve a kapcsolóalapú hozzáférés fókuszát.
  4. Ha valamelyik elem többször is fókuszba kerül, akkor előfordulhat, hogy a felület több kattintható elemet tartalmaz egy helyen.

Az Android automatizált tesztelőeszközei képesek az egy helyen lévő kattintható View elemek észlelésére. Fontolja meg az androidos Accessibility Scanner használatát az alkalmazás manuális tesztelésére valamely eszközön. Automatizált tesztek elvégzéséhez kapcsolja be a kisegítő lehetőségek ellenőrzését az Espresso és a Robolectric eszközökben.

Keresés
Keresés törlése
A keresés bezárása
Főmenü
4973910049291748008
true
Keresés a Súgóoldalakon
true
true
true
true
true
717068
false
false