Issue metadata
Sign in to add a comment
|
Expose unclipped_location in automation API to complement location |
||||||||||||||||||||||||
Issue descriptionlocation may be clipped by ancestors, whereas unclipped_location is the element's position ignoring clipping. Select-to-Speak will use location, as will ChromeVox's visual focus ring. However, ChromeVox can also use unclipped_location to determine the order of navigation to offscreen or otherwise clipped elements.
,
Nov 27 2017
David, should boundsForRange be based on |location| or |unclippedLocation|? I don't think w use boundsForRange in Select-to-Speak, so it depends on what ChromeVox wants or what makes sense. "Computes the bounding box of a subrange of this node in global screen coordinates. Returns the same as |location| if range information is not available. The start and end indices are zero-based offsets into the node's "name" string attribute." - https://developer.chrome.com/extensions/automation
,
Nov 27 2017
Re comment #2: I can add a unclippedBoundsForRange function separately. I think to get this to work I'll need to revert https://chromium-review.googlesource.com/c/chromium/src/+/783492 which disabled clipping in ax_tree. What's a good workflow to make sure that it's un-reverted in coordination with getting ChromeVox to use the new unclippedBounds? Certainly it seems like we should wait until Thursday's branch to submit anything new here.
,
Nov 28 2017
ChromeVox does not need an unclipped version of boundsForRange. It would make sense to go ahead and add |location| and |unclippedLocation| to the automation API now (for m64) and make ChromeVox use it when analyzing line information. Otherwise, ChromeVox, when drawing its focus rectangle, should use clipped (|location|). Thanks!
,
Nov 29 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/db71ad94cd95f2aada84562e571459471ec9d74d commit db71ad94cd95f2aada84562e571459471ec9d74d Author: Katie Dektar <katydek@google.com> Date: Wed Nov 29 20:07:48 2017 Adds |unclippedLocation| to the Automation API. |unclippedLocation| is the location of the node if it were not clipped by any of its ancestors. This is now used by ChromeVox to determine navigation by line, rather than the clipped location. This change reverts bf57671, submitted in https://chromium-review.googlesource.com/c/chromium/src/+/777541, which disabled clipping until the fix could be added. Bug: 788810 Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation Change-Id: I50d4df7364c32384ccfb06a04b226afce67eb091 Reviewed-on: https://chromium-review.googlesource.com/794511 Reviewed-by: Steven Bennetts <stevenjb@chromium.org> Reviewed-by: David Tseng <dtseng@chromium.org> Commit-Queue: Katie D <katie@chromium.org> Cr-Commit-Position: refs/heads/master@{#520212} [modify] https://crrev.com/db71ad94cd95f2aada84562e571459471ec9d74d/chrome/browser/resources/chromeos/chromevox/cvox2/background/automation_predicate.js [modify] https://crrev.com/db71ad94cd95f2aada84562e571459471ec9d74d/chrome/common/extensions/api/automation.idl [modify] https://crrev.com/db71ad94cd95f2aada84562e571459471ec9d74d/chrome/renderer/extensions/automation_internal_custom_bindings.cc [modify] https://crrev.com/db71ad94cd95f2aada84562e571459471ec9d74d/chrome/renderer/resources/extensions/automation/automation_node.js [modify] https://crrev.com/db71ad94cd95f2aada84562e571459471ec9d74d/content/browser/accessibility/accessibility_tree_formatter_blink.cc [modify] https://crrev.com/db71ad94cd95f2aada84562e571459471ec9d74d/content/browser/accessibility/browser_accessibility.cc [modify] https://crrev.com/db71ad94cd95f2aada84562e571459471ec9d74d/content/browser/accessibility/browser_accessibility.h [modify] https://crrev.com/db71ad94cd95f2aada84562e571459471ec9d74d/content/browser/accessibility/dump_accessibility_tree_browsertest.cc [modify] https://crrev.com/db71ad94cd95f2aada84562e571459471ec9d74d/content/test/data/accessibility/html/absolute-offscreen-expected-blink.txt [modify] https://crrev.com/db71ad94cd95f2aada84562e571459471ec9d74d/content/test/data/accessibility/html/absolute-offscreen.html [modify] https://crrev.com/db71ad94cd95f2aada84562e571459471ec9d74d/content/test/data/accessibility/html/iframe-coordinates-expected-blink.txt [modify] https://crrev.com/db71ad94cd95f2aada84562e571459471ec9d74d/content/test/data/accessibility/html/iframe-coordinates.html [modify] https://crrev.com/db71ad94cd95f2aada84562e571459471ec9d74d/third_party/closure_compiler/externs/automation.js [modify] https://crrev.com/db71ad94cd95f2aada84562e571459471ec9d74d/ui/accessibility/ax_enums.idl [modify] https://crrev.com/db71ad94cd95f2aada84562e571459471ec9d74d/ui/accessibility/ax_tree.cc [modify] https://crrev.com/db71ad94cd95f2aada84562e571459471ec9d74d/ui/accessibility/ax_tree.h [modify] https://crrev.com/db71ad94cd95f2aada84562e571459471ec9d74d/ui/accessibility/ax_tree_unittest.cc [modify] https://crrev.com/db71ad94cd95f2aada84562e571459471ec9d74d/ui/accessibility/platform/ax_platform_node_win.cc
,
Nov 29 2017
|
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by dtseng@chromium.org
, Nov 27 2017NextAction: 2017-11-27