commit | a2123b3d800a41b180e75398b3e3c91a00a6d508 | [log] [tgz] |
---|---|---|
author | Nektarios Paisios <nektar@chromium.org> | Mon Aug 16 12:31:57 2021 |
committer | Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Aug 16 12:31:57 2021 |
tree | 0c13896716134ac1b6884b6782531efc3c47131a | |
parent | 60fd59622b22fd58dc9fa5df296126736c279bec [diff] |
Adds a predicate for finding empty paragraphs and uses it for defining a new paragraph boundary for UIA In AXPosition, we add a new predicate that defines the "empty paragraph" and we then use this in order to be able to skip all trailing empty paragraphs that come after a non-empty paragraph. This is because according to the Microsoft developer documentation, for UI Automation, all trailing empty lines should be merged with the previous paragraph when searching for the next paragraph. Meanwhile, this patch makes certain necessary parallel fixes: 1. If two lines or two paragraphs are separated by multiple line / paragraph boundaries that are ignored in the accessibility tree, treat them as one. This could happen when multiple consecutive boundaries are hidden via aria-hidden. 2. If the next / previous boundary is requested while on an ignored node, skip to the next / previous unignored node, so as not to prematurely stop searching for the next / previous boundary: <div>Paragraph 1</div> <div aria-hidden="true">Ignored paragraph</div> <div>Paragraph 2</div> If we are searching for the previous paragraph start boundary while being on "Paragraph 2", if we don't skip the "Ignored paragraph" we will prematurely stop there, and would then adjust to the next unignored position, therefore returning back to "Paragraph 2". This is certainly erronious. Similar issues arise for format and line boundaries, in addition to paragraph ones. Lastly, this patch modifies a few comments that describe the various line / paragraph predicates to explain their behavior better. Split out from: https://chromium-review.googlesource.com/c/chromium/src/+/3001275/ R=dmazzoni@chromium.org AX-Relnotes: n/a. Change-Id: I88335ab06b56cfd6d4f55adc62fb8c05b29652c7 Bug: 1135589, 1147543, 1027753, 1015408 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3063058 Commit-Queue: Nektarios Paisios <nektar@chromium.org> Auto-Submit: Nektarios Paisios <nektar@chromium.org> Reviewed-by: Adam Ettenberger <Adam.Ettenberger@microsoft.com> Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org> Cr-Commit-Position: refs/heads/master@{#912135}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
To check out the source code locally, don't use git clone
! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.
If you found a bug, please file it at https://crbug.com/new.