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

Issue 788696 link

Starred by 1 user

Issue metadata

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

Blocking:
issue 789157



Sign in to add a comment

IAccessible2::ScrollTo() jumps to wrong position

Project Member Reported by mike.hil...@gmail.com, Nov 27 2017

Issue description

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

Steps to reproduce the problem:
Running a screen magnifier that calls IAccessible2::ScrollTo() on various elements, the scroll into view only works correctly if the element is visibly above the middle of the window. Any elements that are below the middle of the window cause the window to scroll to the wrong location resulting int the element remaining invisible (usually off the top).

What is the expected behavior?
ScrollTo() should make the element visible.

Note that this only affects IAccessible2::ScrollTo() which is an API for 3rd party assistive technology. Calling the equivalent function from javascript on the page does work correctly.

What went wrong?
the page scrolls, but the element is not made visible.

Did this work before? No 

Chrome version: 64.0.3278.0  Channel: canary
OS Version: 10.0
Flash Version: Shockwave Flash 28.0 r0

component:UI>Accessibility>Compatibility

IAccessible2::ScrollToPoint() does work correctly - but is not a straightforward workaround as there is no way to accurately calculate the correct parameters for this function without knowing the structure of the page.
 
Cc: krajshree@chromium.org
Components: Blink>Scroll
Labels: Triaged-ET Needs-Feedback Needs-Triage-M64
Reporter@ - Thanks for filing the issue...!!

Could you please provide a sample test file to test the issue from TE-end.
This will help us in triaging the issue further.

Thanks...!!
Components: -Blink>Scroll UI>Accessibility>Compatibility
Status: Started (was: Unconfirmed)
I can confirm this bug, working on a fix.

For a manual repro, try running NVDA (free Windows screen reader) with the Focus Highlight add-on installed.

1. Open a web page that consists of only text (no focusable links, buttons, iframes, etc.) and is longer than fits in the window (i.e. you need to scroll)
2. Focus on the page then use the down-arrow key to make NVDA read one line at a time
3. When NVDA reaches test that causes scroll, the object should scroll to the center of the screen.

The bug only manifests with *non-focusable* elements. Focusable elements scroll correctly.

Project Member

Comment 4 by bugdroid1@chromium.org, Dec 4 2017

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

commit 00c26deabe0cda509e37e71498fdb4f2a97e0f9c
Author: Dominic Mazzoni <dmazzoni@chromium.org>
Date: Mon Dec 04 21:10:15 2017

The argument to SCROLL_TO_MAKE_VISIBLE takes local coordinates.

Passing the wrong coordinates was causing it to scroll to the wrong
place and sometimes bounce around. Adds a new browser test to
ensure that calling scrollTo works as expected.

Bug: 788696,  646117 
Change-Id: Ia8014c9ee96eef14a60a7f4ddebeec02e2f15db4
Reviewed-on: https://chromium-review.googlesource.com/802235
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Doug Turner <dougt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#521451}
[modify] https://crrev.com/00c26deabe0cda509e37e71498fdb4f2a97e0f9c/content/browser/accessibility/accessibility_win_browsertest.cc
[modify] https://crrev.com/00c26deabe0cda509e37e71498fdb4f2a97e0f9c/content/browser/accessibility/browser_accessibility.cc
[modify] https://crrev.com/00c26deabe0cda509e37e71498fdb4f2a97e0f9c/ui/accessibility/ax_enums.idl
[modify] https://crrev.com/00c26deabe0cda509e37e71498fdb4f2a97e0f9c/ui/accessibility/platform/ax_platform_node_win.cc
[modify] https://crrev.com/00c26deabe0cda509e37e71498fdb4f2a97e0f9c/ui/accessibility/platform/ax_platform_node_win_unittest.cc
[modify] https://crrev.com/00c26deabe0cda509e37e71498fdb4f2a97e0f9c/ui/accessibility/platform/test_ax_node_wrapper.cc

Status: Fixed (was: Started)
Blocking: 789157
Labels: a11y-testing
Labels: a11y-testers
Labels: -a11y-testing
Status: Available (was: Fixed)
We received a report from a user that this seems to have stopped working in Chrome 68.0.3440(and maybe a couple of versions before this). Reopening for another repro. 


Sign in to add a comment