New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 810762 link

Starred by 3 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug-Regression
Team-Accessibility

Blocking:
issue 676428



Sign in to add a comment

IAccessible2::accLocation() returns incorrect location for off-screen objects.

Project Member Reported by mike.hil...@gmail.com, Feb 9 2018

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36

Steps to reproduce the problem:
If an object on a page is not in view - so it could be visible if the page or frame was scrolled, then the rect reported by IAccessible2::accLocation to 3rd party AT products is incorrect. The rectangle reported has the wrong height and width (depending on which way the frame scrolls) and is reported at the wrong location.

What is the expected behavior?
the width and height should be the size of the object.
The location should be off screen, at a position where it is still relative to the page based on the scrolling ammount. 

What went wrong?
component:UI>Accessibility>Compatibility

The rectangle reported seems to have been moved and clipped to a 1 pixel sized object at the edge of the frame. This contradicts the specification for IAccessible::accLocation().

This means that an AT aid no longer can tell if an object is off-screen because it's not reported with an off screen rectangle, also an AT aid can not calculate correct values for IAccessible2::scrollToPoint() because it doesn't know where the object is or it's size.

Did this work before? Yes 63 (not sure what minor version)

Chrome version: 64.0.3282.140  Channel: stable
OS Version: 10.0
Flash Version: Shockwave Flash 28.0 r0

This is a critical regression. We are going to have to recommend that customers use Firefox until this is fixed.
 
Components: UI>Accessibility
Components: -UI>Accessibility Blink>Accessibility
Labels: Needs-Bisect Needs-Triage-M64
Cc: sindhu.chelamcherla@chromium.org
Labels: Triaged-ET Needs-Feedback
Thanks for filing the issue!!

@Reporter: Could you please provide sample test file/URL to test this issue.If possible  please guide us with a screencast to reproduce this issue with sample file. This will help in triaging the issue in a better way.

Thanks! 
Blocking: 676428
Status: Started (was: Unconfirmed)
I'm going to revert back to the old behavior of accLocation. AT definitely seems to depend on knowing the "true" bounds.

Project Member

Comment 6 by bugdroid1@chromium.org, Mar 1 2018

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

commit e091bb4fe9e5c1919c5f1a88b6e2a1bc9a27a19f
Author: Dominic Mazzoni <dmazzoni@chromium.org>
Date: Thu Mar 01 07:47:52 2018

accLocation should return unclipped bounds.

See bug for motivation. Adds separate AXPlatformNodeDelegate interfaces
for clipped and unclipped for maximum code clarity.

Note that we still want clipped bounds around for hit testing.

Bug: 810762
Change-Id: I1b08977e9753fb918b6a4b41f152a238caae12e3
Reviewed-on: https://chromium-review.googlesource.com/938024
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Katie Dektar <katie@chromium.org>
Reviewed-by: Nektarios Paisios <nektar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#540094}
[modify] https://crrev.com/e091bb4fe9e5c1919c5f1a88b6e2a1bc9a27a19f/content/browser/accessibility/browser_accessibility.cc
[modify] https://crrev.com/e091bb4fe9e5c1919c5f1a88b6e2a1bc9a27a19f/content/browser/accessibility/browser_accessibility.h
[modify] https://crrev.com/e091bb4fe9e5c1919c5f1a88b6e2a1bc9a27a19f/content/browser/accessibility/browser_accessibility_com_win.cc
[modify] https://crrev.com/e091bb4fe9e5c1919c5f1a88b6e2a1bc9a27a19f/content/browser/accessibility/browser_accessibility_manager.cc
[modify] https://crrev.com/e091bb4fe9e5c1919c5f1a88b6e2a1bc9a27a19f/content/test/data/accessibility/html/iframe-coordinates-cross-process-expected-win.txt
[modify] https://crrev.com/e091bb4fe9e5c1919c5f1a88b6e2a1bc9a27a19f/content/test/data/accessibility/html/iframe-coordinates-expected-win.txt
[modify] https://crrev.com/e091bb4fe9e5c1919c5f1a88b6e2a1bc9a27a19f/ui/accessibility/platform/ax_platform_node_auralinux.cc
[modify] https://crrev.com/e091bb4fe9e5c1919c5f1a88b6e2a1bc9a27a19f/ui/accessibility/platform/ax_platform_node_base.cc
[modify] https://crrev.com/e091bb4fe9e5c1919c5f1a88b6e2a1bc9a27a19f/ui/accessibility/platform/ax_platform_node_base.h
[modify] https://crrev.com/e091bb4fe9e5c1919c5f1a88b6e2a1bc9a27a19f/ui/accessibility/platform/ax_platform_node_delegate.h
[modify] https://crrev.com/e091bb4fe9e5c1919c5f1a88b6e2a1bc9a27a19f/ui/accessibility/platform/ax_platform_node_mac.mm
[modify] https://crrev.com/e091bb4fe9e5c1919c5f1a88b6e2a1bc9a27a19f/ui/accessibility/platform/ax_platform_node_win.cc
[modify] https://crrev.com/e091bb4fe9e5c1919c5f1a88b6e2a1bc9a27a19f/ui/accessibility/platform/ax_system_caret_win.cc
[modify] https://crrev.com/e091bb4fe9e5c1919c5f1a88b6e2a1bc9a27a19f/ui/accessibility/platform/ax_system_caret_win.h
[modify] https://crrev.com/e091bb4fe9e5c1919c5f1a88b6e2a1bc9a27a19f/ui/accessibility/platform/test_ax_node_wrapper.cc
[modify] https://crrev.com/e091bb4fe9e5c1919c5f1a88b6e2a1bc9a27a19f/ui/accessibility/platform/test_ax_node_wrapper.h
[modify] https://crrev.com/e091bb4fe9e5c1919c5f1a88b6e2a1bc9a27a19f/ui/views/accessibility/native_view_accessibility_auralinux.cc
[modify] https://crrev.com/e091bb4fe9e5c1919c5f1a88b6e2a1bc9a27a19f/ui/views/accessibility/native_view_accessibility_base.cc
[modify] https://crrev.com/e091bb4fe9e5c1919c5f1a88b6e2a1bc9a27a19f/ui/views/accessibility/native_view_accessibility_base.h
[modify] https://crrev.com/e091bb4fe9e5c1919c5f1a88b6e2a1bc9a27a19f/ui/views/accessibility/native_view_accessibility_unittest.cc

Labels: -Needs-Feedback -Needs-Bisect
As fix is already been landed as per comment#6, removing Needs-Bisect and Needs-Feedback labels.

Thanks!
Status: Available (was: Started)
This issue has been marked as started, but has no owner. Making available.

Sign in to add a comment