• Brian Liu Xu's avatar
    Add support for kIgnored in AXVirtualView · 75373457
    Brian Liu Xu authored
    Implements support for |kIgnored| in |AXVirtualView| so that elements with role or state |kIgnored| are hidden from the accessibility tree without affecting their contents. When an element has |kIgnored| set, that means that its accessible node should not be exposed to the platform. Thus, the accessibility tree shows its descendants instead of the ignored node.
    
    |kIgnored| should not be confused with |kInvisible|. Invisible nodes can still appear in the accessibility tree, and the invisible state is inherited by descendant nodes; they are hidden in the sense that a special state is reported to screen readers that understand it. In contrast, ignored nodes do not appear in the accessibility tree, and the state is not inherited; they are hidden in the sense that they are not exposed at all to the platform.
    
    This change is a prerequisite to eliminating the hidden root node of |TreeView| so that screen reader users can access descendant nodes using the review cursor. |TreeView| currently uses |kInvisible| to hide the root node, but that results in the entire subtree becoming invisible to screen reader users. We plan to make a subsequent change to move the root node from |kInvisible| to |kIgnored|.
    
    Bug: 811277
    Change-Id: I9f30c6cc479c64919d1a3c4397a9455d4f1f1988
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2103714
    Commit-Queue: Nektarios Paisios <nektar@chromium.org>
    Reviewed-by: default avatarNektarios Paisios <nektar@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#750951}
    75373457
ax_virtual_view.h 7.94 KB