• Brian Liu Xu's avatar
    Implement accessible actions for TreeView nodes · c657e4d7
    Brian Liu Xu authored
    Implements virtual view targeting for accessibility actions for
    |TreeView| nodes so that they may be activated using the accessibility
    review cursor. Previously, all actions were routed to the selected node,
    even if the review cursor was on a different element.
    
    Since focus is an accessible action, this changelist also includes
    improvements to how accessibility focus events get fired around virtual
    views:
    
    - If a focused virtual descendant is set when |FocusManager| gives focus
      to the owner view, the descendant (instead of the owner view's
      accessible object) now fires the accessibility focus event.
    
    - Consequently, by setting the |TreeView|'s focused virtual descendant,
      ahead of time, TreeView::OnFocus() no longer needs to redirect focus
      to a virtual view via ViewAccessibility::OverrideFocus(). This avoids
      firing multiple accessibility focus events for a single focus change.
    
                 inside tree views.
    
    AX-Relnotes: In Views, assistive technologies can now select tree items
    Bug: 811277
    Change-Id: I232c2acf2f4fec79ea30dbe82b5f077a4f9c32b3
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2135205
    Commit-Queue: Brian Liu Xu <brx@microsoft.com>
    Reviewed-by: default avatarScott Violet <sky@chromium.org>
    Reviewed-by: default avatarNektarios Paisios <nektar@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#770851}
    c657e4d7
ax_virtual_view_unittest.cc 29.9 KB