Issue metadata
Sign in to add a comment
|
IAccessible2::ScrollTo() jumps to wrong position |
||||||||||||||||||||||
Issue descriptionUserAgent: 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.
,
Nov 30 2017
,
Nov 30 2017
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.
,
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
,
Dec 6 2017
,
Dec 21 2017
,
Jan 12 2018
,
May 23 2018
,
Aug 1
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 |
|||||||||||||||||||||||
Comment 1 by krajshree@chromium.org
, Nov 28 2017Components: Blink>Scroll
Labels: Triaged-ET Needs-Feedback Needs-Triage-M64