• Victor Fei's avatar
    Fire WIN SHOW event only on ignored ancestor · 71b43088
    Victor Fei authored
    Google drive expand/collapse state is not being announced due to
    excessive HIDE/SHOW/REORDER events flooding NVDA, and NVDA end up
    discarding most events.
    
    For example, if we remove aria-hidden="true" on an ancestor node, which
    would cause that many of its descendants to remove their IGNORED
    states which triggering too many EVENT_OBJECT_SHOW and causes NVDA
    to drop the events. In reality, we only want EVENT_OBJECT_SHOW to be
    generated on the ancestor node where aria-hidden="true" is removed, so
    not to flood and confuse NVDA with excessive events.
    
    This change fixes the above issue by firing EVENT_OBJECT_SHOW on the
    root should the nodes of the entire subtree remove their IGNORED states.
    
    https://crrev.com/c/2309450 implemented suppressing excessive HIDE
    events, of which this CL is based on.
    Suppressing excessive REORDER events will be addressed in follow up
    patches.
    
    AX-RelNotes: NVDA can now announce Google drive "My Drive" expand/
    collapse state.
    
    Bug: 1019420
    Change-Id: Icecf5d998ea666db4bf21a56f8b8b0b9a1e4aaf4
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2337404
    Commit-Queue: Victor Fei <vicfei@microsoft.com>
    Reviewed-by: default avatarAaron Leventhal <aleventhal@chromium.org>
    Reviewed-by: default avatarAdam Ettenberger <Adam.Ettenberger@microsoft.com>
    Cr-Commit-Position: refs/heads/master@{#802054}
    71b43088
aria-combo-box-delay-show-list-expected-win.txt 782 Bytes