Spatnav exits or ignores certain overflow boxes
Reported by
hu...@vewd.com,
Sep 29 2017
|
||||||||
Issue description
When going upwards from b:
<div class="scroll">
<a href="#">a</a><br>
<a href="#">b</a>
</div>
<a href="#">c</a>
Expected: Focus goes to a.
Actual: Focus goes to c.
See attached Layout Test for complete HTML+CSS.
,
Sep 29 2017
,
Nov 20 2017
,
Dec 29 2017
,
Jan 3 2018
,
Jan 5 2018
,
Jan 15 2018
In progress at: https://chromium-review.googlesource.com/c/chromium/src/+/866790
,
Jan 16 2018
hugo@ I attached a test case. Test step is 1. Focus to bottom most element. 2. Hit up arrow key. Expected result: focus should move to top most element. Actual result: focus not move anywhere.
,
Jan 18 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b1eaec2e1fe9eb6bc37b6a43a574a081d914b2af commit b1eaec2e1fe9eb6bc37b6a43a574a081d914b2af Author: Hugo Holgersson <hugoh@vewd.com> Date: Thu Jan 18 16:56:24 2018 Snav: Search containers that reached their scroll limit Problem: A fully scrolled container might still have nearby focusables. Before this CL, those were ignored. Solution: This adds a new helper IsScrollableAreaOrDocument() that we can use in ScrollableEnclosingBoxOrParentFrameOf() to find a node's "container": Q: What is a "container"? A: A node's _container_ is its enclosing scrollable area (= its first scrollable ancestor) or its document (possibly unscrollable). In other words, we don't need a direction to determine a node's container. This is a simplification that's needed to fix bug 770103 . Bug: 770147, 770103 Change-Id: I439d532631e9d424e40e801873ef330cd15ffe7f Reviewed-on: https://chromium-review.googlesource.com/866790 Commit-Queue: Hugo Holgersson <hugoh@vewd.com> Reviewed-by: Stefan Zager <szager@chromium.org> Cr-Commit-Position: refs/heads/master@{#530169} [add] https://crrev.com/b1eaec2e1fe9eb6bc37b6a43a574a081d914b2af/third_party/WebKit/LayoutTests/fast/spatial-navigation/snav-stay-in-overflow-div-expected.txt [add] https://crrev.com/b1eaec2e1fe9eb6bc37b6a43a574a081d914b2af/third_party/WebKit/LayoutTests/fast/spatial-navigation/snav-stay-in-overflow-div.html [modify] https://crrev.com/b1eaec2e1fe9eb6bc37b6a43a574a081d914b2af/third_party/WebKit/Source/core/page/FocusController.cpp [modify] https://crrev.com/b1eaec2e1fe9eb6bc37b6a43a574a081d914b2af/third_party/WebKit/Source/core/page/SpatialNavigation.cpp [modify] https://crrev.com/b1eaec2e1fe9eb6bc37b6a43a574a081d914b2af/third_party/WebKit/Source/core/page/SpatialNavigation.h [modify] https://crrev.com/b1eaec2e1fe9eb6bc37b6a43a574a081d914b2af/third_party/WebKit/Source/core/page/SpatialNavigationTest.cpp
,
Jan 18 2018
|
||||||||
►
Sign in to add a comment |
||||||||
Comment 1 by benhenry@chromium.org
, Sep 29 2017