New issue
Advanced search Search tips

Issue 638701 link

Starred by 7 users

Issue metadata

Status: Verified
Owner:
Closed: Oct 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug
Team-Accessibility

Blocked on:
issue 641574
issue 650440



Sign in to add a comment

[CVox Next] Focus ring location issues

Project Member Reported by lpalmaro@chromium.org, Aug 17 2016

Issue description

Chrome OS: 54.0.2830.0

The focus ring appears to be working well on the Chrome toolbar, the shelf, and status tray. However, when navigating a webpage, the location of the ring is pretty  far off. It seems that the focus ring is far off to the right, and below where it should be (at times, not even appearing on the screen). Let me know if you'd like more details. 
 
Cc: -dmazz...@chromium.org
Owner: dmazz...@chromium.org
Is this happening on a Pixel?

There might be a recent regression where this happens on high-dpi screens like the Pixel, while lower-resolution screen Chromebooks would be unaffected.

It'd help to know if that's consistent with what you're seeing.

Project Member

Comment 2 by bugdroid1@chromium.org, Aug 23 2016

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

commit 2400c46083215ca8dcaecb6393397d13eedc4e2f
Author: dmazzoni <dmazzoni@chromium.org>
Date: Tue Aug 23 15:07:13 2016

Pass accessible location change messages to the automation API.

The only "new" code is in
RenderFrameHostImpl::OnAccessibilityLocationChanges and
AutomationInternalCustomBindings::OnAccessibilityLocationChange, and they're
very straightforward. Everything else is just plumbing to get the message
from point A to point B.

It'd be nice if we didn't require so much duplicate code to accomplish this,
but it's not clear what we could do.

BUG= 638701 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation
TBR=alokp@chromium.org

Review-Url: https://codereview.chromium.org/2255093005
Cr-Commit-Position: refs/heads/master@{#413738}

[modify] https://crrev.com/2400c46083215ca8dcaecb6393397d13eedc4e2f/chrome/browser/extensions/api/automation_internal/automation_event_router.cc
[modify] https://crrev.com/2400c46083215ca8dcaecb6393397d13eedc4e2f/chrome/browser/extensions/api/automation_internal/automation_event_router.h
[modify] https://crrev.com/2400c46083215ca8dcaecb6393397d13eedc4e2f/chrome/browser/extensions/api/automation_internal/automation_internal_api.cc
[modify] https://crrev.com/2400c46083215ca8dcaecb6393397d13eedc4e2f/chrome/common/extensions/chrome_extension_messages.h
[modify] https://crrev.com/2400c46083215ca8dcaecb6393397d13eedc4e2f/chrome/renderer/extensions/automation_internal_custom_bindings.cc
[modify] https://crrev.com/2400c46083215ca8dcaecb6393397d13eedc4e2f/chrome/renderer/extensions/automation_internal_custom_bindings.h
[modify] https://crrev.com/2400c46083215ca8dcaecb6393397d13eedc4e2f/chromecast/chromecast.gyp
[modify] https://crrev.com/2400c46083215ca8dcaecb6393397d13eedc4e2f/chromecast/renderer/media/BUILD.gn
[modify] https://crrev.com/2400c46083215ca8dcaecb6393397d13eedc4e2f/content/browser/frame_host/render_frame_host_delegate.h
[modify] https://crrev.com/2400c46083215ca8dcaecb6393397d13eedc4e2f/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/2400c46083215ca8dcaecb6393397d13eedc4e2f/content/browser/web_contents/web_contents_impl.cc
[modify] https://crrev.com/2400c46083215ca8dcaecb6393397d13eedc4e2f/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/2400c46083215ca8dcaecb6393397d13eedc4e2f/content/common/accessibility_messages.h
[modify] https://crrev.com/2400c46083215ca8dcaecb6393397d13eedc4e2f/content/public/browser/ax_event_notification_details.cc
[modify] https://crrev.com/2400c46083215ca8dcaecb6393397d13eedc4e2f/content/public/browser/ax_event_notification_details.h
[modify] https://crrev.com/2400c46083215ca8dcaecb6393397d13eedc4e2f/content/public/browser/web_contents_observer.h
[modify] https://crrev.com/2400c46083215ca8dcaecb6393397d13eedc4e2f/content/public/common/common_param_traits_macros.h
[modify] https://crrev.com/2400c46083215ca8dcaecb6393397d13eedc4e2f/content/renderer/accessibility/render_accessibility_impl.cc

Sorry for the delay - yes, this is on Pixel. I've also seen it on other devices, like the new convertible device -- Kevin -- which has stylus support. Will check on other models. 
Cc: dmazz...@chromium.org
 Issue 626674  has been merged into this issue.
Just tested on an Acer C720 and the focus ring alignment is actually much better than on the Pixel, yet there are still a few issues. Here are a few examples. 

Google Search results page: the "Result details button" spoken feedback has a small focus ring that is way off to the right of the result. 

news.google.com: the focus rings don't appear to be centered. The text is actually at the bottom of the rectangle, not the center. 

Chrome://settings: the ring is off for the search field and the about settings. 
News focus ring - out of sync.jpg
1.6 MB View Download
Google Search Focus Ring.jpg
5.2 MB View Download
Chrome Settings Focus Ring.jpg
2.9 MB View Download
Blockedon: 641574
Blockedon: 650440
Status: Started (was: Assigned)
All known issues are fixed or in progress

Project Member

Comment 8 by bugdroid1@chromium.org, Sep 29 2016

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

commit 855770d4a1e3c30a3d08f512043b9c04966922e2
Author: dmazzoni <dmazzoni@chromium.org>
Date: Thu Sep 29 21:21:17 2016

Account for device scale factor in automation API bounding boxes.

Bounding boxes from web pages were including the device scale factor
and all other bounding boxes were not. Fix this in the automation API
so that everything ChromeVox deals with is consistently "CSS pixels",
i.e. without the device scale factor applied.

Since we want to apply this factor for some AX trees but not others,
I took this opportunity to consolidate a few "magic constants" and
have a single shared constant for the desktop tree across the
automation API.

BUG= 638701 

Review-Url: https://codereview.chromium.org/2372253003
Cr-Commit-Position: refs/heads/master@{#421937}

[modify] https://crrev.com/855770d4a1e3c30a3d08f512043b9c04966922e2/chrome/browser/extensions/api/automation_internal/automation_event_router.cc
[modify] https://crrev.com/855770d4a1e3c30a3d08f512043b9c04966922e2/chrome/browser/extensions/api/automation_internal/automation_internal_api.cc
[add] https://crrev.com/855770d4a1e3c30a3d08f512043b9c04966922e2/chrome/common/extensions/api/automation_api_constants.h
[modify] https://crrev.com/855770d4a1e3c30a3d08f512043b9c04966922e2/chrome/renderer/extensions/automation_internal_custom_bindings.cc

Status: Fixed (was: Started)
Components: UI>Accessibility
Labels: VerifyIn-55
Status: Verified (was: Fixed)
Focus ring is working fine on 55.0.2883.30 . Will file new defects for any minor issues

Sign in to add a comment