È possibile modificare l'ordine di messa a fuoco accessibilità? Ad esempio, se ho 3 viste affiancate, con ids view1, view2 e view3, c'è un modo semplice per rendere il focus dell'accessibilità andare a view3 quando l'utente passa direttamente da view1?Modifica ordine focus accessibilità
Ecco che cosa ho provato:
Ho il seguente in un layout lineare.
<ImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:id="@+id/imageView"
android:focusable="true"
android:nextFocusUp="@+id/imageView3"
android:nextFocusDown="@+id/imageView3"
android:nextFocusRight="@+id/imageView3"
android:nextFocusLeft="@+id/imageView3"
android:nextFocusForward="@+id/imageView3"
android:src="@drawable/ic_launcher"/>
<ImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:id="@+id/imageView2"
android:focusable="true"
android:src="@drawable/ic_launcher"/>
<ImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:id="@+id/imageView3"
android:focusable="true"
android:nextFocusUp="@+id/imageView2"
android:nextFocusDown="@+id/imageView2"
android:nextFocusRight="@+id/imageView2"
android:nextFocusLeft="@+id/imageView2"
android:nextFocusForward="@+id/imageView2"
android:src="@drawable/ic_launcher"/>
Quindi, avvio questo e posiziono l'accessibilità sul primo imageView. Scorrendo verso destra per passare all'elemento successivo, mi aspetto che sposterà il focus dell'accessibilità a imageView3, ma invece andrà a imageView2.
Tecnicamente sì, è possibile specificare in modo esplicito l'ordine di attraversamento se si imposta AccessibilityDelegate e si aggiungono manualmente i nodi figlio, ma ciò causa altri problemi e non è garantito che funzioni se TalkBack cambia il modo in cui gestisce l'attraversamento del focus. È ancora una richiesta di funzionalità aperta contro il framework di accessibilità. – alanv
@alanv Ti capita di avere un collegamento alla richiesta di funzionalità in sospeso? Mi piacerebbe seguire i suoi progressi. Cambiare l'ordine di attraversamento sarebbe particolarmente utile per il nuovo pulsante di azione mobile. Se è mobile su un elenco di caricamento automatico, un utente potrebbe non trovarlo mai scorrendo verso destra. (Vedi Inbox per esempio di questo problema) –
Nevermind, sembra che sia stato appena aggiunto in API 22! Aggiunta una risposta al quesiton originale. –