New issue
Advanced search Search tips

Issue 883211 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 13
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 0
Type: Bug

Blocking:
issue 874301



Sign in to add a comment

WebAuthn UI doesn't receive keyboard focus

Project Member Reported by engedy@chromium.org, Sep 12

Issue description

Accessibility review discovered that (keyboard) focus is never brought into the modal, so tab-navigation still happening underneath modal. It is impossible to read the content of the dialog with a screen reader.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 12

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6d05cdad27801b0f41caa2950f9d2e95f0094733

commit 6d05cdad27801b0f41caa2950f9d2e95f0094733
Author: Balazs Engedy <engedy@chromium.org>
Date: Wed Sep 12 20:58:20 2018

Ensure WebAuthn UX is keyboard-accessible.

Previously, the dialog never received keyboard focus because often there
was no default dialog button, so DialogDelegate::GetInitiallyFocusedView
would return nullptr.

This CL provides a custom implementation to this method, so the
initially focused view will be selected in the following order:

 1. Step-specific content, e.g. transport selection list, if any.
 2. Accept button, if visible and enabled.
 3. Other transport selection button, if visible.
 4. `Cancel` / `Close` button.

Bug:  883211 
Change-Id: I97b8f4058a0e3183f8f4ead7da8d437b20a3f560
Reviewed-on: https://chromium-review.googlesource.com/1221264
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#590817}
[modify] https://crrev.com/6d05cdad27801b0f41caa2950f9d2e95f0094733/chrome/browser/ui/views/webauthn/authenticator_request_dialog_view.cc
[modify] https://crrev.com/6d05cdad27801b0f41caa2950f9d2e95f0094733/chrome/browser/ui/views/webauthn/authenticator_request_dialog_view.h
[modify] https://crrev.com/6d05cdad27801b0f41caa2950f9d2e95f0094733/chrome/browser/ui/views/webauthn/authenticator_request_sheet_view.cc
[modify] https://crrev.com/6d05cdad27801b0f41caa2950f9d2e95f0094733/chrome/browser/ui/views/webauthn/authenticator_request_sheet_view.h
[modify] https://crrev.com/6d05cdad27801b0f41caa2950f9d2e95f0094733/chrome/browser/ui/views/webauthn/transport_list_view.cc
[modify] https://crrev.com/6d05cdad27801b0f41caa2950f9d2e95f0094733/chrome/browser/ui/views/webauthn/transport_list_view.h

Labels: Merge-Request-70
Status: Fixed (was: Started)
Project Member

Comment 3 by sheriffbot@chromium.org, Sep 13

Labels: -Merge-Request-70 Merge-Review-70 Hotlist-Merge-Review
This bug requires manual review: M70 has already been promoted to the beta branch, so this requires manual review
Please contact the milestone owner if you have questions.
Owners: benmason@(Android), kariahda@(iOS), geohsu@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Can you please mark which OS's this is impacting?
Labels: OS-Chrome OS-Linux OS-Mac OS-Windows
This affects all desktop platforms. In the meantime, on Issue 874301, it was verified by the AX team that the change fixes the problem.
Labels: -Merge-Review-70 Merge-Approved-70
branch:3538
Project Member

Comment 7 by bugdroid1@chromium.org, Sep 18

Labels: -merge-approved-70 merge-merged-3538
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9f7fbf32441a2d66fbc37836ab2acd4c08e8a57a

commit 9f7fbf32441a2d66fbc37836ab2acd4c08e8a57a
Author: Balazs Engedy <engedy@chromium.org>
Date: Tue Sep 18 13:17:43 2018

Ensure WebAuthn UX is keyboard-accessible.

Previously, the dialog never received keyboard focus because often there
was no default dialog button, so DialogDelegate::GetInitiallyFocusedView
would return nullptr.

This CL provides a custom implementation to this method, so the
initially focused view will be selected in the following order:

 1. Step-specific content, e.g. transport selection list, if any.
 2. Accept button, if visible and enabled.
 3. Other transport selection button, if visible.
 4. `Cancel` / `Close` button.

Bug:  883211 
Change-Id: I97b8f4058a0e3183f8f4ead7da8d437b20a3f560
Reviewed-on: https://chromium-review.googlesource.com/1221264
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Commit-Queue: Balazs Engedy <engedy@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#590817}(cherry picked from commit 6d05cdad27801b0f41caa2950f9d2e95f0094733)
Reviewed-on: https://chromium-review.googlesource.com/1230028
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Cr-Commit-Position: refs/branch-heads/3538@{#486}
Cr-Branched-From: 79f7c91a2b2a2932cd447fa6f865cb6662fa8fa6-refs/heads/master@{#587811}
[modify] https://crrev.com/9f7fbf32441a2d66fbc37836ab2acd4c08e8a57a/chrome/browser/ui/views/webauthn/authenticator_request_dialog_view.cc
[modify] https://crrev.com/9f7fbf32441a2d66fbc37836ab2acd4c08e8a57a/chrome/browser/ui/views/webauthn/authenticator_request_dialog_view.h
[modify] https://crrev.com/9f7fbf32441a2d66fbc37836ab2acd4c08e8a57a/chrome/browser/ui/views/webauthn/authenticator_request_sheet_view.cc
[modify] https://crrev.com/9f7fbf32441a2d66fbc37836ab2acd4c08e8a57a/chrome/browser/ui/views/webauthn/authenticator_request_sheet_view.h
[modify] https://crrev.com/9f7fbf32441a2d66fbc37836ab2acd4c08e8a57a/chrome/browser/ui/views/webauthn/transport_list_view.cc
[modify] https://crrev.com/9f7fbf32441a2d66fbc37836ab2acd4c08e8a57a/chrome/browser/ui/views/webauthn/transport_list_view.h

Components: Blink>WebAuthentication
Labels: TE-Verified-M70 TE-Verified-70.0.3538.35
Able to reproduce this issue on reported version hence verifying the fix on latest beta 70.0.3538.35 using Mac 10.13.6, Windows 10 and Debian.

Now Keyboard focus is seen.

As fix is working as expected adding Verified labels.

Thanks!
Sep 26 2018 4_44 PM.webm
8.9 MB View Download

Sign in to add a comment