Project: chromium Issues People Development process History Sign in
New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.
Starred by 78 users
Status: Fixed
Owner:
Closed: Feb 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Compat
Team-Accessibility



Sign in to add a comment
Focus Link Target (sequential focus navigation starting point)
Reported by rodneyr...@gmail.com, Feb 1 2015 Back to list
UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36

Example URL:

Steps to reproduce the problem:
1. define a non focusable element: <div id="the-target">
2. define a link to that element: <a href="#the-target">
3. click the link, hit <kbd>Tab</kbd> to see where focus ends up

What is the expected behavior?
While the non focusable :target (<div id="the-target">) should not have received focus, it should be the element from which the next item in the document's tabbing sequence is identified upon pressing <kbd>Tab</kbd>

What went wrong?
Focus was reset to the document, the tabbing sequence starts at the beginning.

Does it occur on multiple sites: N/A

Is it a problem with a plugin? No 

Did this work before? No 

Does this work in other browsers? N/A 

Chrome version: 40.0.2214.94  Channel: stable
OS Version: OS X 10.10.2
Flash Version: Shockwave Flash 16.0 r0

"navigating to a fragment identifier" [1] defines what should happen when an anchor link is clicked. Using the "sequential focus navigation starting point" [2] is the way Gecko handles :target elements that are not focusable.

This behavior renders table of contents and skip-links useless, unless their :target elements are focusable.

related bug: https://code.google.com/p/chromium/issues/detail?id=262171

[1] http://www.w3.org/TR/html5/browsers.html#scroll-to-fragid 
[2] https://html.spec.whatwg.org/multipage/interaction.html#sequential-focus-navigation-starting-point

 
Comment 1 by tkent@chromium.org, Feb 3 2015
Labels: Cr-Blink-Events
Labels: Needs-Feedback
@rodneyrehm: Could you please provide us a sample .html file/URL to verify this issue, which would help us in triaging further.

Thank you.
Sorry, I thought I added it to the initial report.
Live test case: http://medialize.github.io/ally.js/tests/browser-bugs/link-focus.html
link-focus.html
1.9 KB View Download
Labels: -Type-Compat -OS-Mac -Needs-Feedback Type-Bug OS-All M-43
Owner: mkwst@chromium.org
Status: Assigned
Able to reproduce the issue on Windows and Linus as well i.e. hitting "jump to target", and then pressing Tab navigates to "sequential focus navigation starting point". This is a Non Regression issue seen from M24.

However, when trying to find regression info found below behavior:

Till M28, Clicking ANY options ("jump to target", "jump to input" and "jump to focusable") and hitting 'tab' navigated to "sequential focus navigation starting point". But from later M28, this issue is seen ONLY for "jump to target", so did a bisect to find the revision that fixed other 2 and below is the bisect info:


CHANGELOG URL:
  http://build.chromium.org/f/chromium/perf/dashboard/ui/changelog.html?url=/trunk/src&range=194869%3A194887

BLINK CHANGELOG URL:
  http://build.chromium.org/f/chromium/perf/dashboard/ui/changelog_blink.html?url=/trunk&range=148634%3A148630

From Blink roll, 148633	(http://src.chromium.org/viewvc/blink?revision=148633&view=revision) has fixed other 2 options ("jump to input" and "jump to focusable")

mkwst@ Can you please review this issue and kindly help us in triaging the issue if you are not correct owner.
Comment 5 by pennymac@google.com, Apr 14 2015
Labels: -M-43 M-44 MovedFrom-43
[AUTO] Moving all non essential bugs to the next Milestone.  (This decision is based on the labels attached to your ticket.)


Ref: https://sites.google.com/a/chromium.org/dev/developers/ticket-milestone-punting-1
Comment 6 by pennymac@google.com, May 21 2015
Labels: -M-44 MovedFrom-44
[AUTO] This issue has already been moved once and is lower than Priority 1,therefore removing mstone.
Comment 7 by tkent@chromium.org, Jul 15 2015
Labels: -Cr-Blink-Events Cr-Blink-Focus
Comment 8 by kochi@chromium.org, Oct 1 2015
The notion of "sequential focus navigation point" can be also applied to
a node which had focus, but blurred because the node was removed or hidden.

See also  issue 415099 .
Comment 9 by kochi@chromium.org, Nov 6 2015
 Issue 262171  has been merged into this issue.
Cc: smokana@chromium.org msrchandra@chromium.org tkent@chromium.org ranjitkan@chromium.org
 Issue 415099  has been merged into this issue.
 Issue 318215  has been merged into this issue.
mkwst@, do you have any cycle to work on this?
Comment 13 by tkent@chromium.org, Nov 12 2015
 Issue 115185  has been merged into this issue.
Comment 14 by tkent@chromium.org, Nov 12 2015
In Firefox, it seems clicking any non-focusable element makes it the focus navigation starting point.

e.g.
<input>
<div>abc</div>
<select></select>

Clicking "abc", then press TAB key.  The <select> is focused.

Comment 15 by kochi@chromium.org, Dec 28 2015
 Issue 567175  has been merged into this issue.
Comment 16 by kochi@chromium.org, Dec 28 2015
Cc: -smokana@chromium.org
Comment 17 by kochi@chromium.org, Dec 28 2015
Cc: ashej...@chromium.org nyerramilli@chromium.org
 Issue 564593  has been merged into this issue.
Labels: -Type-Bug Type-Compat
Labels: -Via-Wizard -MovedFrom-43 -MovedFrom-44 Cr-UI-Accessibility
Comment 20 by tkent@chromium.org, Feb 22 2016
Cc: -tkent@chromium.org mkwst@chromium.org
Owner: tkent@chromium.org
Status: Started
Project Member Comment 21 by bugdroid1@chromium.org, Feb 23 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8870612f01ca55a123efbd7bf7024b236d6c12a6

commit 8870612f01ca55a123efbd7bf7024b236d6c12a6
Author: tkent <tkent@chromium.org>
Date: Tue Feb 23 08:15:29 2016

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}

[modify] https://crrev.com/8870612f01ca55a123efbd7bf7024b236d6c12a6/third_party/WebKit/LayoutTests/fast/events/frame-tab-focus-expected.txt
[add] https://crrev.com/8870612f01ca55a123efbd7bf7024b236d6c12a6/third_party/WebKit/LayoutTests/fast/events/sequential-focus-navigation-starting-point.html
[modify] https://crrev.com/8870612f01ca55a123efbd7bf7024b236d6c12a6/third_party/WebKit/LayoutTests/fast/html/tab-order-expected.txt
[modify] https://crrev.com/8870612f01ca55a123efbd7bf7024b236d6c12a6/third_party/WebKit/LayoutTests/svg/custom/tabindex-order-expected.txt
[modify] https://crrev.com/8870612f01ca55a123efbd7bf7024b236d6c12a6/third_party/WebKit/Source/core/dom/Document.cpp
[modify] https://crrev.com/8870612f01ca55a123efbd7bf7024b236d6c12a6/third_party/WebKit/Source/core/dom/Document.h
[modify] https://crrev.com/8870612f01ca55a123efbd7bf7024b236d6c12a6/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/8870612f01ca55a123efbd7bf7024b236d6c12a6/third_party/WebKit/Source/core/input/EventHandler.cpp
[modify] https://crrev.com/8870612f01ca55a123efbd7bf7024b236d6c12a6/third_party/WebKit/Source/core/page/FocusController.cpp

Comment 22 by tkent@chromium.org, Feb 23 2016
Labels: M-50 Hotlist-Interop
Status: Fixed
Comment 23 by tkent@chromium.org, Feb 23 2016
Cc: bugsnash@chromium.org
 Issue 585719  has been merged into this issue.
Project Member Comment 24 by bugdroid1@chromium.org, Feb 25 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/eaebbf00d55e4a2d2a4b3f82542686d2fc08149c

commit eaebbf00d55e4a2d2a4b3f82542686d2fc08149c
Author: tkent <tkent@chromium.org>
Date: Thu Feb 25 04:06:27 2016

Sequential focus navigation staring point: Fix a case where clicked Text node has focusable siblings.

In the following case:
  <div>
    <input>
    text
    <input>
  <div>
If the "text" is clicked, we wrongly record its parent elemnt as sequential
focus navigation starting point. We should record the Text node as is.

BUG= 454172 
TEST=automated

Review URL: https://codereview.chromium.org/1738603002

Cr-Commit-Position: refs/heads/master@{#377499}

[modify] https://crrev.com/eaebbf00d55e4a2d2a4b3f82542686d2fc08149c/third_party/WebKit/LayoutTests/fast/events/sequential-focus-navigation-starting-point.html
[modify] https://crrev.com/eaebbf00d55e4a2d2a4b3f82542686d2fc08149c/third_party/WebKit/Source/core/dom/Document.cpp

Project Member Comment 25 by bugdroid1@chromium.org, Feb 25 2016
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3c5f242870c0159c4eda88f8297ea611fe0afb2f

commit 3c5f242870c0159c4eda88f8297ea611fe0afb2f
Author: sigbjornf <sigbjornf@opera.com>
Date: Thu Feb 25 21:56:36 2016

Ignore setting of navigation starting points for detached documents.

Address non-Oilpan leaks.

R=tkent
BUG= 454172 

Review URL: https://codereview.chromium.org/1739713003

Cr-Commit-Position: refs/heads/master@{#377679}

[modify] https://crrev.com/3c5f242870c0159c4eda88f8297ea611fe0afb2f/third_party/WebKit/Source/core/dom/Document.cpp

Labels: TE-Verified-M50 TE-Verified-50.0.2661.11
Tested the issue on Windows 7, Mac 10.10.5, Ubuntu 14.04 using 50.0.2661.11.Issue is not reproducible.Please find attached screencast.

Marking it as TE-Verified.


454172.mp4
408 KB Download
Comment 27 by tkent@chromium.org, Apr 22 2016
 Issue 33517  has been merged into this issue.
Sign in to add a comment