• Victor Fei's avatar
    Fire WIN HIDE event only on ignored ancestor · 4856b612
    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 aria-hidden="true" is set on an ancestor node, which
    would cause that node many of its descendants to be set to IGNORED
    state which triggering too many EVENT_OBJECT_HIDE and causes NVDA
    to drop the events. In reality, we only want EVENT_OBJECT_HIDE to be
    generated on the ancestor node where aria-hidden="true" is set, so
    not to flood and confuse NVDA with excessive events.
    
    This change fixes the above issue by firing EVENT_OBJECT_HIDE on the
    root should the entire subtree changes to IGNORED state.
    
    Suppressing excessive SHOW/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: I4fdabd6740630a149c1b22cdb3180d2f75807b10
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2309450
    Commit-Queue: Victor Fei <vicfei@microsoft.com>
    Reviewed-by: default avatarDominic Mazzoni <dmazzoni@chromium.org>
    Reviewed-by: default avatarAdam Ettenberger <Adam.Ettenberger@microsoft.com>
    Cr-Commit-Position: refs/heads/master@{#795017}
    4856b612
css-display-descendants.html 734 Bytes