Quando TalkBack è abilitato, esiste un modo per impostare il manuale di messa a fuoco per accessibilità su una vista specifica? Ad esempio, quando viene avviata la mia attività, voglio che TalkBack si concentri automaticamente su un determinato pulsante (riquadro giallo attorno alla vista) e legga la sua descrizione del contenuto.Android: imposta lo stato attivo di accessibilità TalkBack a una vista specifica
Quello che ho provato finora:
myButton.setFocusable(true);
myButton.setFocusableInTouchMode(true);
myButton.requestFocus();
requestFocus(), a quanto pare, è che richiede solo attivo per l'input e non ha nulla a che fare con il fuoco accessibilità. Ho anche provato:
myButton.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED);
myButton.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
myButton.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED);
myButton.announceForAccessibility("accessibility test");
myButton.performAccessibilityAction(64, null); // Equivalent to ACTION_ACCESSIBILITY_FOCUS
AccessibilityManager manager = (AccessibilityManager) getSystemService(Context.ACCESSIBILITY_SERVICE);
if (manager.isEnabled()) {
AccessibilityEvent e = AccessibilityEvent.obtain();
e.setSource(myButton);
e.setEventType(AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED);
e.setClassName(getClass().getName());
e.setPackageName(getPackageName());
e.getText().add("another accessibility test");
manager.sendAccessibilityEvent(e);
}
Nulla di tutto ciò sembra funzionare.
"All'avvio del talkback". Vuoi dire come in, quando talkback è attivo sulla mia vista. Oppure, quando qualcuno attiva il talkback mentre la tua vista è attiva? – ChrisCM
Né. Se TalkBack è abilitato nelle Impostazioni e viene avviata un'attività della mia app, voglio che l'accessibilità si concentri su un determinato pulsante all'interno della mia attività – Skywalker10
Ah, okay, quindi quando l'attività si carica, vorresti controllare quale elemento è inizialmente focalizzato da talkback (Android "focus" che significa qualcosa di diverso dal focus del talkback). Solo per scopi di accessibilità. – ChrisCM