Yash52
Yash52

Reputation: 11

Android Accessibility issues

I have couple of issues in the process of making my app accessibility compliant.

  1. I have a spinner with some items in it, after I select one of the item, spinner closes and focus is moving to the top of the page action bar but I want the focus to remain on the last used element i.e, the spinner. Tried:

    spinnerId.requestfocus(); or spinnerId.performAccessibilityAction(AccessibilityNodeInfo.ACTION_ACCESSIBILITY_FOCUS,null); in the code but nothing worked.

2.How can I set the focus to last accessed element even if onResume(); is called to refresh the data ?

3.Page reverse order doesn't work all the time when I scroll back through the elements.

4.I have a listview with elements populated dynamically, accessibility doesn't scroll the page all the times instead it goes to right fragment( i have left and right fragments in my tablet) skipping the elements below the screen.

Upvotes: 1

Views: 2300

Answers (1)

Renaud Boulard
Renaud Boulard

Reputation: 709

As your spinner is already focus, you have to clear this focus, send this event to Accessibility and request it again:

yourView.clearFocus();
yourView.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED);
yourView.requestFocus();
yourView.setFocusableInTouchMode(true);

He took me awhile to find this tricks, but we used it in few different place in our app, and it work well.

Upvotes: 0

Related Questions