commit | 622755da132130c29d2756d5fdc9aa48d2a2c687 | [log] [tgz] |
---|---|---|
author | Jacobo Aragunde Pérez <jaragunde@igalia.com> | Fri Nov 25 06:21:46 2022 |
committer | Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri Nov 25 06:21:46 2022 |
tree | 96a03f22d68293374d50a60c32855fc5f668659d | |
parent | 3b00d21c53f99cb389676f7aceb933f939d4a4d5 [diff] |
Assign "click ancestor" default action to text nodes. Text nodes did not have any default action set by AXObject::Action(), because they don't have a backing Element object. On the other hand, ATs expect that clicking the text node inside a container has the same effect as clicking on the container, and that was the cause of crbug.com/1370076. To address the bug, we allowed ATs to run the default action on nodes that don't have any, but a better solution would have been to assign text nodes a default action, if their parent node has any. This CL makes text nodes expose a "click ancestor" default action when their parent has any default action. This is the same action that would be assigned to containers which are inside a clickable parent, e.g. in <a href="#"><div>link</div></a>, the <a> node has the action "jump" and the <div> has "click ancestor". Now, the text node inside the div would get "click ancestor", too. Alternatively, in the example <a href="#">link</a>, the <a> would expose "jump" and the text node would expose "click ancestor" after this CL. As a positive side effect, we also set the default action for nodes corresponding to pseudo elements, following the same rules. We don't revert the workaround that allows ATs to run a default action when it's "none" yet. We will address that with a DCHECK that detects other potentially problematic situations. Bug: 1382034 Change-Id: Ia99d86975486745f37860b7d3fc7fc0e39b04262 AX-relnotes: Expose default action on text nodes to AX toolkits Cq-Include-Trybots: luci.chromium.try:linux-blink-web-tests-force-accessibility-rel Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4009258 Reviewed-by: Nektarios Paisios <nektar@chromium.org> Commit-Queue: Jacobo Aragunde Pérez <jaragunde@igalia.com> Reviewed-by: David Tseng <dtseng@chromium.org> Cr-Commit-Position: refs/heads/main@{#1075708}
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.