New issue
Advanced search Search tips

Issue 707974 link

Starred by 3 users

Issue metadata

Status: Verified
Owner:
Closed: Jun 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug
Team-Accessibility



Sign in to add a comment

Automation API not updating node locations when screen resized

Project Member Reported by elichtenberg@google.com, Apr 3 2017

Issue description

Chrome Version: 59.0.3062.0
OS: Chrome OS

The locations of various AutomationNodes appear not to be updating when the Chrome OS emulator screen is resized. Specifically, nodes in the Chrome Inspector, the Status Tray, and the Infobar do not appear to be holding their actual location. Occasionally happens with regular browser window too. This sometimes happens even when the screen isn't resized, but I've noticed this happen more regularly when the screen is resized.

Also, when focused on a node in one browser tab and then changing the tab, the node in the hidden tab will still be focused, and you can still move among its siblings and descendants. But once leaving nodes from the hidden browser tab, you can't return to those nodes without reopening the tab. Seems like the subtree representing that tab becomes detached from the rest of the accessibility tree.

What steps will reproduce the problem?
(1) Resize the screen
(2) Move among focusable nodes using keys 1 and 2 when switch access is enabled. Some nodes' locations will update correctly, but usually, there are some that don't update correctly.

What is the expected result?
Focus ring highlights node in correct location.

What happens instead?
Focus ring highlights the wrong location.

 
Components: UI>Accessibility
Project Member

Comment 2 by bugdroid1@chromium.org, Jun 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2410fc6b7d05f26bca8b649aded31e959060ea3b

commit 2410fc6b7d05f26bca8b649aded31e959060ea3b
Author: Dominic Mazzoni <dmazzoni@chromium.org>
Date: Sat Jun 10 00:00:37 2017

Remove duplicate code to compute bounds in AX tree.

This is intended to be just a pure refactoring that
removes a lot of duplicate code and adds some tests.

We had several places in the code that get the
absolute bounding box of a node in an accessibility
tree, which requires walking up the tree and applying
offsets and transforms.

Share as much code as possible by moving it into
ax_tree.cc, and add a unit test.

An improvement would be if we could actually cross
frame boundaries within ui/accessibility, so let's
consider that for a future change.

In addition to the new unit test, this change already
has a lot of existing test coverage; when I started
writing it plenty of tests broke, which makes me
more confident this is safe. :)

Even if this breaks something, consolidating more
of the logic in one place is definitely good!

BUG= 707974 

Change-Id: I6bf88c24cf1596fd9118d931153b14f0909dc591
Reviewed-on: https://chromium-review.googlesource.com/521686
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Alice Boxhall <aboxhall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#478469}
[modify] https://crrev.com/2410fc6b7d05f26bca8b649aded31e959060ea3b/chrome/renderer/extensions/automation_internal_custom_bindings.cc
[modify] https://crrev.com/2410fc6b7d05f26bca8b649aded31e959060ea3b/content/browser/accessibility/browser_accessibility.cc
[modify] https://crrev.com/2410fc6b7d05f26bca8b649aded31e959060ea3b/content/browser/accessibility/browser_accessibility.h
[modify] https://crrev.com/2410fc6b7d05f26bca8b649aded31e959060ea3b/content/browser/accessibility/browser_accessibility_manager.h
[add] https://crrev.com/2410fc6b7d05f26bca8b649aded31e959060ea3b/content/test/data/accessibility/aria/aria-owns-list-expected-blink.txt
[modify] https://crrev.com/2410fc6b7d05f26bca8b649aded31e959060ea3b/content/test/data/accessibility/aria/aria-owns-list.html
[modify] https://crrev.com/2410fc6b7d05f26bca8b649aded31e959060ea3b/ui/accessibility/ax_tree.cc
[modify] https://crrev.com/2410fc6b7d05f26bca8b649aded31e959060ea3b/ui/accessibility/ax_tree.h
[modify] https://crrev.com/2410fc6b7d05f26bca8b649aded31e959060ea3b/ui/accessibility/ax_tree_unittest.cc
[modify] https://crrev.com/2410fc6b7d05f26bca8b649aded31e959060ea3b/ui/accessibility/platform/ax_snapshot_node_android_platform.cc

Status: Fixed (was: Untriaged)
Status: Verified (was: Fixed)

Sign in to add a comment