Implement 'sequential focus navigation starting point.'
This CL implements sequential focus navigation starting point.
https://html.spec.whatwg.org/multipage/interaction.html#sequential-focus-navigation-starting-point
Behavior Change:
When TAB or Shift-TAB is pressed and there is not focused element, we start
searching for next focus candidates at the sequential focus navigation point.
- If a navigation to a url with fragment identifier happened, an element pointed
by the fragment is set as sequential focus navigation starting point.
- If an element is focused, the element is set as sequential focus navigation
starting point.
- If a mouse button is pressed, an element on the mouse pointer is set as
sequential focus navigation starting point.
If the element pointed by sequential focus navigation starting point is removed
from the document tree, a point where there was the element at would be the
starting point.
Implementation:
Sequential focus navigation starting point is represented as a Range object, and
it is owned by a Document.
Tests:
* fast/events/sequential-focus-navigation-starting-point.html
Added.
* fast/events/frame-tab-focus.html, fast/html/tab-order.html, and svg/custom/
tabindex-order.html
Expectations are updated because element.blur() doesn't reset sequential focus
navigation starting point.
BUG=454172
Review URL: https://codereview.chromium.org/1718153002
Cr-Commit-Position: refs/heads/master@{#376949}
9 files changed