Regression: Focus ring is not seen on 'current settings' via tab key navigation after clicking on it
Reported by
jshan...@etouch.net,
Mar 14 2017
|
|||||
Issue description
Chrome Version: 59.0.3041.0 (Official Build) 0192171168e7afc337edc13c1to 50eca4152185cd5-refs/heads/master@{#456562}(32/64 Bit).
OS: Windows (7,8,8.1,10),Linux (14.04 LTS),Mac OS X(10.11.6,10.12.1)
Steps:
1. Launch Chrome and navigate to chrome://settings, click on Advanced
2. Click on 'Reset', then click on 'current settings' and go to previous tab
3. Now press 'Tab' key and observe
Actual: Focus ring is not seen on 'current settings' via tab key navigation after clicking on it
Expected: Focus ring should be seen on 'current settings' via tab key after clicking on it
This is regression issue broken in 'M 59' and will soon update the bisect info:
Good Build 59.0.3037.0
Bad Build 59.0.3038.0.
,
Mar 20 2017
Sorry for the lateness; just saw this. This is indeed caused by my CL, and was deliberate to emulate regular behavior of <a>: Focus ring do not appear on links with mouse click, including the case where you leave the tab and return to it. Please see attached index.html file.
,
Mar 20 2017
Leaning towards WontFix: Working as Intended. +dbeam@ to comment.
,
Mar 21 2017
a focus ring should be shown when a user tabs to an action-link. the "Actual_video" is NOT working as intended.
,
Mar 21 2017
I see. I tried Shift-TAB and TAB previously and the focus ring appears. But if you keep on tabbing forward then the ring doesn't appear! Investigating.
,
Mar 21 2017
This is happening because the "current settings" link happens to be the last tabbable element in DOM. Bug mechanism (see action_link.js): - Click on link: '.no-outline' gets applied, and ring is hidden. - Link navigates: 'blur' event is invoked, and the event has e.sourceCapabilities === null, so '.no-outline' is kept, as intended by my fix. - Return to tab: No change. - TAB: 'blur' is invoked, but since this is the last tabbable element and focus goes to some stuff outside page, so e.sourceCapabilities === null, and '.no-outline' is kept. If you keep on tabbing forward, '.no-outline' is kept, and we have the bug. - Meanwhile, if you Shift-TAB, 'blur' is invoked and we land at an element in DOM, so '.no-outline' gets cleared, and on next focus we see border. In summary, the current approach of using '.no-outline' is non-robust, and my fix neglected edge case of tabbing away from page.
,
Mar 27 2017
,
Mar 29 2017
@huangs any update on this? MD Settings is launching in M59 and this is currently a launch-blocker.
,
Apr 3 2017
,
Apr 3 2017
My proposed fix https://chromiumcodereview.appspot.com/2768673002/ does not handle some edge cases, and I didn't have time to address them. The lower risk change is to revert https://codereview.chromium.org/2744893002 but this reopens bug 698270 , which I filed. I'm going with the latter.
,
Apr 3 2017
Reverting CL in flight: http://crrev.com/2796663002/
,
Apr 4 2017
fix landed, bug wasn't updated |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by rbasuvula@chromium.org
, Mar 14 2017Labels: hasbisect-per-revision
Owner: hua...@chromium.org
Status: Assigned (was: Unconfirmed)