• Aaron Leventhal's avatar
    Reland#2: Improve name calc handling of hidden objects, relation traversal · 47718162
    Aaron Leventhal authored
    - Display: none objects should not get an accessible name.
    - EnsureComputedStyle() should not be called during a potentially unsafe
      time. This is fixed by calling it during Init(), in cases where it
      will likely be needed (inside a display:none subtree).
    - Remove unnecessary and often incorrect heuristic for determining when
      inside an aria-labelledby or aria-describedy calculation. This flag is
      already passed in via recursion when following that kind of relation.
    - Do not recurse into children that are explicitly hidden
    - Improve explicitly hidden computation for CSS visibility. Explicitly
      hidden means that the element was specifically hidden, and that it
      didn't just inherit the fact that it's hidden.
    - Improve results in name-calc-visibility, where an element explicitly
      referenced by aria-labelledby wasn't included in the name because it
      was visibility:hidden element. Elements that are explicitly referenced
      must be included in a name or description even if they are hidden.
    
    TBR: dmazzoni@chromium.org
    Bug: 1130436
    Change-Id: I49095f64940e4c3695382797b2ecf93277d0b56c
    Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2435332Reviewed-by: default avatarDominic Mazzoni <dmazzoni@chromium.org>
    Commit-Queue: Aaron Leventhal <aleventhal@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#811738}
    47718162
visibility-hidden-changed-expected-uia-win.txt 102 Bytes