Open Bug 1916578 Opened 16 days ago Updated 16 days ago

Minimize macOS cache domain requests not originated by an AT

Categories

(Core :: Disability Access APIs, enhancement)

enhancement

Tracking

()

People

(Reporter: nlapre, Unassigned)

Details

macOS code can call RemoteAccessible functions that cause cache domain requests. For instance, maybePostLiveRegionChanged can cause caching of NameAndDescription and Text domains, even if neither was requested by an AT, as detailed here, before doc load complete. It seems we can also do this for the Table domain, though I haven't narrowed down a call stack for that. To avoid flakiness, we're not running certain caching granularity tests on macOS because of this.

I think that we should try to minimize the possibility of platform code on macOS triggering caching of more domains than we strictly need. If we determine that we actually do need to cache that information to run a functional platform layer, that's okay, but I'm not sure that we know that.

For the live region case specifically, the extra cache domain retrieval comes from the need to figure out whether an Accessible is "ignored" in order to walk ancestors. But do we really need to answer that question when doing an ancestor walk in this case? Should a live region ever be "ignored"? I wonder whether we might need an argument to moxFindAncestor which allows it to walk the raw tree, rather than walking the unignored tree? That might be a terrible idea for reasons I'm currently unaware of, but I thought it worth raising.

You need to log in before you can comment on or make changes to this bug.