Closed Bug 1518315 Opened 2 years ago Closed 2 years ago

Support clearing accessibility focus API

Categories

(Core :: Disability Access APIs, enhancement)

All
Android
enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla66
Tracking Status
firefox66 --- fixed

People

(Reporter: eeejay, Assigned: eeejay)

Details

Attachments

(1 file)

Accessibility services in Android rely an accessible cache that refreshes certain nodes on events[1]. We need to correctly dispatch an a11y focus cleared event if ACTION_CLEAR_ACCESSIBILITY_FOCUS is explicitly called on that node.

Android's root view knows to clear accessibility focus[2] on the previously focused node when a new node is in focus, so we shouldn't be doing that ourselves.

We also need to dispatch the cleared event each time, even if the node does not currently have focus. This is to support out-of-sync caches and appease them with an event.

  1. https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/view/accessibility/AccessibilityCache.java
  2. https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/view/ViewRootImpl.java#3731
Pushed by eisaacson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/a7f3a2c57318
Clear accessibility focus correctly. r=yzen
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla66
You need to log in before you can comment on or make changes to this bug.