Closed Bug 1738032 Opened 3 years ago Closed 3 years ago

Push initial states to the cache and update using events

Categories

(Core :: Disability Access APIs, task)

task

Tracking

()

RESOLVED FIXED
96 Branch
Tracking Status
firefox96 --- fixed

People

(Reporter: Jamie, Assigned: Jamie)

References

Details

Attachments

(6 files)

In the initial cache push, we need to include states. We can then keep this up to date using state change events, since they include all the necessary info.

This isn't going to be perfect initially because some of our state change events are flawed, which is being addressed in bug 1733188. On the other hand, lack of any state support makes progress in some areas difficult on Windows; e.g. links can't be reported, editable text can't be recognised, etc.

Rather than cache updates thereafter, state will be kept up to date using state change events.

This patch includes XPCOM support.
Unfortunately, LocalAccessible::State isn't const, so the base method can't be const for now either.

For example, when disabling an HTML input, we get an event for SUPPORTS_AUTOCOMPLETION among others.
If we continue with the test after that state change and there hasn't been an ENABLED/UNAVAILABLE state change, the cache won't be up to date.
Unfortunately, we can't use untilCacheOk here because we don't do a cache push for state changes.

Blocks: 1738051
Pushed by jteh@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/aea47dd76bc9
part 1: Support uint64_t as a value type for AccAttributes. r=eeejay
https://hg.mozilla.org/integration/autoland/rev/da55cab72787
part 2: Push a11y state in the initial cache push. r=eeejay
https://hg.mozilla.org/integration/autoland/rev/3b7dd1588920
part 3: Move LocalAccessible::State to Accessible. r=eeejay
https://hg.mozilla.org/integration/autoland/rev/6d715aea99bf
part 4: Use the cache for RemoteAccessible state. r=eeejay
https://hg.mozilla.org/integration/autoland/rev/a3b8dd0dbe3c
part 5: Use the unified Accessible::State on Windows to support cached RemoteAccessible. r=morgan
https://hg.mozilla.org/integration/autoland/rev/f07c7d4ac124
part 6: browser_caching_states.js: Ignore state changes for states we aren't interested in. r=eeejay
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: