Issue metadata
Sign in to add a comment
|
Blink accessibility selection should behave in the same way as DOM selection (or in a specified way) |
||||||||||||||||||||||
Issue descriptionCurrently, Blink selection behaves inconsistently.selection. For example: <div role="group"> <h1>a</h1> <h1>b</h1> <h1>c</h1> </div> does not resemble DOM selection when using node index selection. e.g. select anchor and focus = <div> anchor and focus offset set to 1 result: Anchor object: h1.a Focus object: h1.a expected: Ideally, we could get the container selection (so, selection would be on the div). Furthermore, selecting with anchor and focus offset set to 0, also selects h1.a and h1.a with offsets set to 0. Selecting with anchor offset 0 and focus offset 1 appears to result in the same values. There might be an off by one somewhere.
,
Apr 21 2017
,
Apr 21 2017
,
Jun 28 2017
,
Jul 27 2017
,
Aug 7 2017
,
Aug 7 2017
,
Aug 11 2017
,
Aug 11 2017
,
Sep 15 2017
The NextAction date has arrived: 2017-09-15
,
Nov 17 2017
,
Dec 10 2017
Issue 763143 has been merged into this issue.
,
Apr 4 2018
,
Apr 5 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0535a55b64a356695728927136e315e8256f0312 commit 0535a55b64a356695728927136e315e8256f0312 Author: Nektarios Paisios <nektar@chromium.org> Date: Thu Apr 05 01:24:10 2018 Switch to using new AXObject helper functions in AXPosition and AXSelection Also, dropped the word "container" from AXPosition::Create...PositionInContainerObject for better readability and faster typing. R=dmazzoni@chromium.org, aleventhal@chromium.org Bug: 639340 Change-Id: I75c10bb35435a7cad9988e30a54af60f525bb29c Reviewed-on: https://chromium-review.googlesource.com/995639 Commit-Queue: Aaron Leventhal <aleventhal@chromium.org> Commit-Queue: Nektarios Paisios <nektar@chromium.org> Reviewed-by: Aaron Leventhal <aleventhal@chromium.org> Cr-Commit-Position: refs/heads/master@{#548281} [modify] https://crrev.com/0535a55b64a356695728927136e315e8256f0312/third_party/WebKit/Source/modules/accessibility/AXPosition.cpp [modify] https://crrev.com/0535a55b64a356695728927136e315e8256f0312/third_party/WebKit/Source/modules/accessibility/AXPosition.h [modify] https://crrev.com/0535a55b64a356695728927136e315e8256f0312/third_party/WebKit/Source/modules/accessibility/AXPositionTest.cpp [modify] https://crrev.com/0535a55b64a356695728927136e315e8256f0312/third_party/WebKit/Source/modules/accessibility/AXRange.cpp [modify] https://crrev.com/0535a55b64a356695728927136e315e8256f0312/third_party/WebKit/Source/modules/accessibility/AXRangeTest.cpp [modify] https://crrev.com/0535a55b64a356695728927136e315e8256f0312/third_party/WebKit/Source/modules/accessibility/AXSelectionTest.cpp
,
Apr 6 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cf661ce64240c5e0494aa693023f82f7c514a6e5 commit cf661ce64240c5e0494aa693023f82f7c514a6e5 Author: Nektarios Paisios <nektar@chromium.org> Date: Fri Apr 06 15:18:15 2018 Switch to using the new AXRange class for spelling markers and word boundaries This patch begins using the new AXPosition and AXRange classes in a relatively simple part of the codebase in order to avoid regressions. It also takes the opportunity to rename AXObject::AXRange to AXSelection in preparation of the use of the new AXSelection class in a subsequent patch. The C++ Style Guide allows the use of initializer lists {...} when returning from or when calling functions, hence this patch switches to the new style in all the selection related functions. This will make the switch to the new AXSelection class in a subsequent patch easier since a rename at the point of construction will not be needed. The patch makes some functions that are using the AXRange class not inline because the Style Guide dictates that virtual functions should not be inlined. R=dmazzoni@chromium.org Bug: 639340 Change-Id: I8e19986b0937fd6a954dfe1f5631064c5a9c42a2 Reviewed-on: https://chromium-review.googlesource.com/995976 Reviewed-by: Nektarios Paisios <nektar@chromium.org> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Reviewed-by: Aaron Leventhal <aleventhal@chromium.org> Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org> Commit-Queue: Nektarios Paisios <nektar@chromium.org> Cr-Commit-Position: refs/heads/master@{#548779} [modify] https://crrev.com/cf661ce64240c5e0494aa693023f82f7c514a6e5/third_party/WebKit/Source/modules/accessibility/AXInlineTextBox.cpp [modify] https://crrev.com/cf661ce64240c5e0494aa693023f82f7c514a6e5/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.cpp [modify] https://crrev.com/cf661ce64240c5e0494aa693023f82f7c514a6e5/third_party/WebKit/Source/modules/accessibility/AXLayoutObject.h [modify] https://crrev.com/cf661ce64240c5e0494aa693023f82f7c514a6e5/third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp [modify] https://crrev.com/cf661ce64240c5e0494aa693023f82f7c514a6e5/third_party/WebKit/Source/modules/accessibility/AXObject.cpp [modify] https://crrev.com/cf661ce64240c5e0494aa693023f82f7c514a6e5/third_party/WebKit/Source/modules/accessibility/AXObject.h [modify] https://crrev.com/cf661ce64240c5e0494aa693023f82f7c514a6e5/third_party/WebKit/Source/modules/exported/WebAXObject.cpp
,
Nov 13
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/bd596425bd7a3bb64aeeb16a08c6bfb3506cb60b commit bd596425bd7a3bb64aeeb16a08c6bfb3506cb60b Author: Nektarios Paisios <nektar@chromium.org> Date: Tue Nov 13 00:40:08 2018 Handles list markers (including NG) when finding the containing DOM node of an AXLayoutObject that has no associated node We need to have a generic function that given an AXLayoutObject will return either the associate DOM Node, or if the layout object has no node attached, the containing DOM node. This functionality is required in cases such as the following: 1. An accessibility selection has one of its endpoints at a list marker and the user asks us to select the closest DOM selection possible. We need to move the endpoint that is on the list marker to an object that has a DOM node attached, e.g. the containing DOM node of the AXLayoutObject representing the list marker. 2. A user wants to know if a layout object is editable. We need to find if the attached or containing block node is editable. R=aboxhall@chromium.org, dmazzoni@chromium.org Change-Id: I4572b7b024f61518b7da61a61e6916c623d4d3dc Bug: 639340 Reviewed-on: https://chromium-review.googlesource.com/c/1331131 Commit-Queue: Nektarios Paisios <nektar@chromium.org> Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org> Reviewed-by: Aaron Leventhal <aleventhal@chromium.org> Cr-Commit-Position: refs/heads/master@{#607392} [modify] https://crrev.com/bd596425bd7a3bb64aeeb16a08c6bfb3506cb60b/content/test/data/accessibility/html/contenteditable-descendants-expected-auralinux.txt [modify] https://crrev.com/bd596425bd7a3bb64aeeb16a08c6bfb3506cb60b/content/test/data/accessibility/html/contenteditable-descendants-expected-blink.txt [modify] https://crrev.com/bd596425bd7a3bb64aeeb16a08c6bfb3506cb60b/content/test/data/accessibility/html/contenteditable-descendants-expected-win.txt [modify] https://crrev.com/bd596425bd7a3bb64aeeb16a08c6bfb3506cb60b/content/test/data/accessibility/html/contenteditable-descendants-with-selection-expected-auralinux.txt [modify] https://crrev.com/bd596425bd7a3bb64aeeb16a08c6bfb3506cb60b/content/test/data/accessibility/html/contenteditable-descendants-with-selection-expected-blink.txt [modify] https://crrev.com/bd596425bd7a3bb64aeeb16a08c6bfb3506cb60b/content/test/data/accessibility/html/contenteditable-descendants-with-selection-expected-win.txt [modify] https://crrev.com/bd596425bd7a3bb64aeeb16a08c6bfb3506cb60b/third_party/blink/renderer/modules/accessibility/ax_layout_object.cc
,
Nov 13
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0272e9b93d5a932b5e844e4d31ba5442b6c9f577 commit 0272e9b93d5a932b5e844e4d31ba5442b6c9f577 Author: Nektarios Paisios <nektar@chromium.org> Date: Tue Nov 13 17:23:12 2018 AXSelection: Added declarative test for aria-hidden and strengthened tests for aria-hidden and list bullets Tests now check the results of both shrinking a selection as well as extending a selection. In the case of aria-hidden, we want to check whether a DOM selection on aria-hidden endpoints would be correctly extended or shrunk when converted to an equivalent AX selection, since aria-hidden objects are an example of an object that is ignored in the accessibility tree. In the case of a list bullet, we want to check whether an AXSelection that has an endpoint on a list bullet, would be correctly extended or shrunk when converted to a DOM selection, since list bullets are an example of an object not present in the DOM tree. R=dmazzoni@chromium.org Bug: 639340 Change-Id: Ia9e7dee6efe5c0059faae101a1a07b5d7d35ef5c Reviewed-on: https://chromium-review.googlesource.com/c/1327221 Commit-Queue: Nektarios Paisios <nektar@chromium.org> Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org> Cr-Commit-Position: refs/heads/master@{#607631} [modify] https://crrev.com/0272e9b93d5a932b5e844e4d31ba5442b6c9f577/third_party/blink/renderer/modules/accessibility/ax_position.cc [modify] https://crrev.com/0272e9b93d5a932b5e844e4d31ba5442b6c9f577/third_party/blink/renderer/modules/accessibility/ax_position_test.cc [modify] https://crrev.com/0272e9b93d5a932b5e844e4d31ba5442b6c9f577/third_party/blink/renderer/modules/accessibility/ax_selection.cc [modify] https://crrev.com/0272e9b93d5a932b5e844e4d31ba5442b6c9f577/third_party/blink/renderer/modules/accessibility/ax_selection.h [modify] https://crrev.com/0272e9b93d5a932b5e844e4d31ba5442b6c9f577/third_party/blink/renderer/modules/accessibility/ax_selection_test.cc [modify] https://crrev.com/0272e9b93d5a932b5e844e4d31ba5442b6c9f577/third_party/blink/renderer/modules/accessibility/testing/accessibility_selection_test.cc [modify] https://crrev.com/0272e9b93d5a932b5e844e4d31ba5442b6c9f577/third_party/blink/renderer/modules/accessibility/testing/accessibility_selection_test.h [add] https://crrev.com/0272e9b93d5a932b5e844e4d31ba5442b6c9f577/third_party/blink/renderer/modules/accessibility/testing/data/selection/aria-hidden-ax.txt [add] https://crrev.com/0272e9b93d5a932b5e844e4d31ba5442b6c9f577/third_party/blink/renderer/modules/accessibility/testing/data/selection/aria-hidden.html
,
Nov 24
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/23a510ae6c849a4624f9e81eff8df37f61392d1d commit 23a510ae6c849a4624f9e81eff8df37f61392d1d Author: Nektarios Paisios <nektar@chromium.org> Date: Sat Nov 24 22:10:40 2018 AXSelection: Added methods for retrieving and clearing the current selection Also, fixed a few bugs in the Select() method, namely selection should not occur if it is unavailable in the current document and the cached range should be cleared and re-set. R=dmazzoni@chromium.org Change-Id: I214ff808af402f379c12ae533fea8e9c2a3888ec Bug: 639340 Reviewed-on: https://chromium-review.googlesource.com/c/1340639 Commit-Queue: Nektarios Paisios <nektar@chromium.org> Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org> Cr-Commit-Position: refs/heads/master@{#610712} [modify] https://crrev.com/23a510ae6c849a4624f9e81eff8df37f61392d1d/third_party/blink/renderer/modules/accessibility/ax_position.cc [modify] https://crrev.com/23a510ae6c849a4624f9e81eff8df37f61392d1d/third_party/blink/renderer/modules/accessibility/ax_position.h [modify] https://crrev.com/23a510ae6c849a4624f9e81eff8df37f61392d1d/third_party/blink/renderer/modules/accessibility/ax_selection.cc [modify] https://crrev.com/23a510ae6c849a4624f9e81eff8df37f61392d1d/third_party/blink/renderer/modules/accessibility/ax_selection.h
,
Nov 27
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/88843ebb9493e475b0d71719def2a6d410c5579b commit 88843ebb9493e475b0d71719def2a6d410c5579b Author: Nektarios Paisios <nektar@chromium.org> Date: Tue Nov 27 23:21:06 2018 AXSelection: Added the ability for a web app to cancel an accessibility SetSelection action This functionality is based on the Selection API draft specification and is already supported in Blink by other types of user initiated selection actions: https://w3c.github.io/selection-api/#selectstart-event Tests are in the following patch: https://chromium-review.googlesource.com/c/chromium/src/+/1350195/ R=dmazzoni@chromium.org Bug: 639340 Change-Id: I5a7793c71b02f2e92fafb7fb9731b6ebf288a412 Tested: with unit tests in another patch Reviewed-on: https://chromium-review.googlesource.com/c/1347214 Commit-Queue: Nektarios Paisios <nektar@chromium.org> Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org> Cr-Commit-Position: refs/heads/master@{#611400} [modify] https://crrev.com/88843ebb9493e475b0d71719def2a6d410c5579b/third_party/blink/renderer/modules/accessibility/ax_selection.cc [modify] https://crrev.com/88843ebb9493e475b0d71719def2a6d410c5579b/third_party/blink/renderer/modules/accessibility/ax_selection.h
,
Nov 28
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ca3f4f91e17a839d99fc446129a4dca62ee84141 commit ca3f4f91e17a839d99fc446129a4dca62ee84141 Author: Nektarios Paisios <nektar@chromium.org> Date: Wed Nov 28 01:48:45 2018 AXSelection: Added unit tests for retrieving and clearing the current selection, and for cancelling a selection that is in progress R=dmazzoni@chromium.org, aleventhal@chromium.org Change-Id: I9bb2589a938930e9e967525c4a627c893eecaa48 Bug: 639340 Reviewed-on: https://chromium-review.googlesource.com/c/1350195 Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org> Commit-Queue: Nektarios Paisios <nektar@chromium.org> Cr-Commit-Position: refs/heads/master@{#611502} [modify] https://crrev.com/ca3f4f91e17a839d99fc446129a4dca62ee84141/third_party/blink/renderer/modules/accessibility/ax_selection.cc [modify] https://crrev.com/ca3f4f91e17a839d99fc446129a4dca62ee84141/third_party/blink/renderer/modules/accessibility/ax_selection_test.cc
,
Dec 5
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/098ef8ec87b7f01f7b31846b0303d49fa49735ee commit 098ef8ec87b7f01f7b31846b0303d49fa49735ee Author: Nektarios Paisios <nektar@chromium.org> Date: Wed Dec 05 03:13:54 2018 AXSelection: Added the ability to select within the shadow DOM This includes both user agent shadow trees, e.g. the ones used for text fields and spin controls, as well as user generated shadow DOM trees, such as the ones created by web components. R=dmazzoni@chromium.org, aleventhal@chromium.org, aboxhall@chromium.org Change-Id: I4280035eb5f4e1f0bdcec251823266010a790ec0 Bug: 639340 Reviewed-on: https://chromium-review.googlesource.com/c/1355530 Commit-Queue: Nektarios Paisios <nektar@chromium.org> Reviewed-by: Xiaocheng Hu <xiaochengh@chromium.org> Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org> Cr-Commit-Position: refs/heads/master@{#613842} [modify] https://crrev.com/098ef8ec87b7f01f7b31846b0303d49fa49735ee/third_party/blink/renderer/modules/accessibility/ax_position.cc [modify] https://crrev.com/098ef8ec87b7f01f7b31846b0303d49fa49735ee/third_party/blink/renderer/modules/accessibility/ax_selection.cc [modify] https://crrev.com/098ef8ec87b7f01f7b31846b0303d49fa49735ee/third_party/blink/renderer/modules/accessibility/ax_selection.h [modify] https://crrev.com/098ef8ec87b7f01f7b31846b0303d49fa49735ee/third_party/blink/renderer/modules/accessibility/ax_selection_test.cc [modify] https://crrev.com/098ef8ec87b7f01f7b31846b0303d49fa49735ee/third_party/blink/renderer/modules/accessibility/testing/accessibility_test.cc [modify] https://crrev.com/098ef8ec87b7f01f7b31846b0303d49fa49735ee/third_party/blink/renderer/modules/accessibility/testing/accessibility_test.h |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by dmazz...@chromium.org
, Mar 27 2017