[UIA] Don't fire generated LiveRegionChanged events
We have this bug where Narrator announces all LiveRegions (alerts) in a page when we expand a combobox for the first time. We tracked it down and the source appears to be that we fire generated LiveRegionChanged events whenever a new AT (that uses UIA) attaches itself to an AXFragmentRootWin for the first time. In the case of the combobox being expanded, a new window shows up and it gets its own AXFragmentRootWin. Narrator attaches itself to it. Since it's the first AT that listens for events on that AXFragmentRootWin, we fire LiveRegionChanged events to *all UIA clients* so that this new client (usually Narrator) can announce the LiveRegions. I've searched through the specs and the UIA documentation and couldn't find a reason why this was implemented. The history behind that change that Microsoft did is that it was implemented like that in EdgeHTML, but we can't remember why we did that over there. Furthermore, it doesn't make much sense to fire fake LiveRegionChanged events when a screen reader is launched just to force the screen reader to announce the alert - if this is the expected behavior, then the screen reader should implement this behavior. We are removing this code in order to fix the bug that is caused by a hack. Bug: n/a Change-Id: I49e619a52275ca3c104def65286861ed0ef6d2c1 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3489813 Reviewed-by:Daniel Libby <dlibby@microsoft.com> Commit-Queue: Benjamin Beaudry <benjamin.beaudry@microsoft.com> Cr-Commit-Position: refs/heads/main@{#975322}
Loading
Please register or sign in to comment