Skip to content
Commit 7a18ad58 authored by Benjamin Beaudry's avatar Benjamin Beaudry Committed by Chromium LUCI CQ
Browse files

[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: default avatarDaniel Libby <dlibby@microsoft.com>
Commit-Queue: Benjamin Beaudry <benjamin.beaudry@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#975322}
parent 48921ca6
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment