DescriptionRe-land: Send Windows accessibility events based on tree updates.
The idea of this change is to fire Win AX events
based on the AX tree changing, rather than based
on Blink firing the right event and mapping it to a
Win event.
Store the Win-specific AX attributes (ia role,
ia state, name, value, etc.) in a struct, and when a
node is updated, compare the old value of each attribute
to the new value and fire an appropriate event for each
one (name changed, state changed, etc.).
Handle hypertext_ similarly, and properly diff the old and new hypertext in get_oldText and get_newText.
This enables all of the "event" tests that were
previously added to pass now, and it makes live regions
work correctly in NVDA and JAWS.
BUG=447962
Committed: https://crrev.com/eb691a960bef3c2aefa38627baa7cbdde480b81e
Cr-Commit-Position: refs/heads/master@{#313052}
Committed: https://crrev.com/9b381f3e36dfb3dc1fd93c46573222601b31d3d7
Cr-Commit-Position: refs/heads/master@{#313179}
Patch Set 1 #Patch Set 2 : Ready #Patch Set 3 : Remove logging #
Total comments: 17
Patch Set 4 : Rebase #Patch Set 5 : Address feedback #Patch Set 6 : Fix compile errors #Patch Set 7 : Fix Android compile #Patch Set 8 : Fix crash in unit tests #Patch Set 9 : Rebased #Patch Set 10 : Fix test flakiness #Patch Set 11 : Rebase (bad) #Patch Set 12 : Rebase #Messages
Total messages: 23 (7 generated)
|