New issue
Advanced search Search tips

Issue 810601 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 14
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows , Chrome
Pri: 1
Type: Bug
Team-Accessibility



Sign in to add a comment

a11y: Chrome restore pages dialog close button not read/not in tab order

Project Member Reported by leberly@chromium.org, Feb 9 2018

Issue description

Google Chrome	66.0.3343.2 (Official Build) canary (64-bit) (cohort: 64-Bit)
Windows 10 Enterprise Version 1607
JAWS 2018.1801.81 ILM 
ZoomText 11.7.17.410

This can repro without a screen reader.

Steps to repro:
1. Load Chrome with a few tabs 
2. unexpectedly close Chrome by going into Task Manager and killing the process 
3. Open Chrome, focus lands on Restore dialog
Note: this is not a modal since it doesn't block other functionality, it's also not in the Omnibox. It appears in the upper right corner of the window under the Omnibox and there is no accompanying icon there (like there would be for a popup being blocked, for example.)
4. Attempt to navigate around the dialog. Focus remains on the Restore button
Expected: able to close this dialog
Actual: no way to close the dialog, close button not in tab order and not read

Same behavior with keyboard only (arrow keys and tab) and with JAWS and NVDA. 
 
This dialog is a bubble, most likely "SessionCrashedBubble"
Labels: a11y-testers
I already closed another bug about the Close button as WontFix because the Escape key works fine, and the close button is already accessible to screen readers (using object navigation).

Do you agree or do you think the close button needs to be in the tab order?

Can you find some examples of dialogs in other applications that have a close button that's in the tab order?

Note that the close button in a standard Windows top-level window isn't in the tab order. Why should this be different? If there's a good reason I think we need to figure out how to articulate why a little more clearly.


Labels: -Pri-1 -a11y-testers Pri-2
I think for me because it's not in the center of the window and it's so persistent on the right side even after opening a new tab, it never dawned on me that esc would get rid of it. It doesn't quite fit - it's not a modal and it's not tied to another piece of the UI like the Omnibox or the menu. 

It does seem more of its own window which wouldn't make sense in the tab order nor would it seem to close with esc. If it were a standard top level window, I'd kill it with alt + F4 which wouldn't work here.

However, putting it in a tab order I'm willing to let this be closed if either it was somehow made clearer to users on how to close it or it wasn't so persistent. What do you think?
Labels: a11y-q2-18
69.0.3497.23 (Official Build) dev (64-bit) (cohort: Dev)	
JAWS 2018.1807.8 ILM	
NVDA 2018.2.1

This still reproduces. The thing about this dialog is that it is unlike all the others, it is not anchored to anything. The dialog is also read out but focus is not brought to it to be able to invoke the restore button. See attached screenshot. 

JAWS speech upon opening after crash:
 Alert!
Restore pages?
Restore pages?
Close
Chrome didn’t shut down correctly.
Restore

Pressing tab brings focus to the page itself, not this dialog. 

restorepages.png
16.6 KB View Download
Labels: a11y-Dialogs
Labels: OS-Chrome
Partially reproducible on Chrome OS

Google Chrome	69.0.3497.35 (Official Build) dev (64-bit)
Firmware Version	Google_Lulu.6301.136.57

ChromeVox does read this dialog upon it appearing. It also lets you linear navigate to read the rest of the dialog. However, if you take focus off the dialog there is no way to go back to it to dismiss it. 
Labels: pm-markchang
Status: Closed (was: Available)
Considering that it's possible to press escape, or it's possible to open a new tab instead without the restore UI, I think this is okay to close out with the idea that there are bigger fish to fry. :) Please reopen if you feel strongly otherwise! 
Status: Unconfirmed (was: Closed)
Maybe this is better for another bug, but my takeaway from these comments is that since the restore dialog does not close when the focus is lost, it should navigate into the dialog (and maybe the exit and restore button inside) from the AppMenuButton when pressing tab.
I think this should be a higher priority /re-opened since it is really easy to lose focus on the restore bubble (minimizing, moving the window) and sometimes Chrome opens with the focus already on the Omnibox thus making it impossible to navigate to the restore bubble.
Labels: -Pri-2 Pri-1
Status: Available (was: Unconfirmed)
Good point, if the bubble stays open when focus is away from it, we should be able to get to it.
Owner: pbos@chromium.org
Status: Started (was: Available)
Project Member

Comment 12 by bugdroid1@chromium.org, Oct 25

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

commit a29a6af4c1c58b81b9b033b25e36ddf5ce641021
Author: Peter Boström <pbos@chromium.org>
Date: Thu Oct 25 01:47:12 2018

Fix focus traversal into BubbleDialogDelegateView

This change makes sure that:

* Focus traversal is enabled for BubbleDialogDelegateView instances that
  have their anchor view set in the constructor (before it's being added
  to a Widget).
* Focus traversal can continue from views with children into the
  anchored dialog if no focusable views are found within the dialog.
  Before this change you could only reverse-focus (shift-tab) into the
  anchored dialog (if it was anchored to a view that had child views).

This resolves focus traversal into at least the "Restore pages?" crash
dialog and "Extension X is disabled" dialogs, but the fixes are generic
and a class of dialogs should now be focus traversable as a result of
these two changes.

Bug:  chromium:810601 
Change-Id: Ia480a3039eb6d41480f4ef759d099fd9e88c33a7
Reviewed-on: https://chromium-review.googlesource.com/c/1297595
Commit-Queue: Peter Boström <pbos@chromium.org>
Reviewed-by: Nektarios Paisios <nektar@chromium.org>
Reviewed-by: Trent Apted <tapted@chromium.org>
Cr-Commit-Position: refs/heads/master@{#602568}
[modify] https://crrev.com/a29a6af4c1c58b81b9b033b25e36ddf5ce641021/chrome/browser/ui/views/accessibility/invert_bubble_view_browsertest.cc
[modify] https://crrev.com/a29a6af4c1c58b81b9b033b25e36ddf5ce641021/ui/views/bubble/bubble_dialog_delegate_view.cc
[modify] https://crrev.com/a29a6af4c1c58b81b9b033b25e36ddf5ce641021/ui/views/bubble/bubble_dialog_delegate_view.h
[modify] https://crrev.com/a29a6af4c1c58b81b9b033b25e36ddf5ce641021/ui/views/focus/focus_manager_unittest.cc
[modify] https://crrev.com/a29a6af4c1c58b81b9b033b25e36ddf5ce641021/ui/views/focus/focus_search.cc

Status: Fixed (was: Started)
FWIW this should solve a class of anchored dialogs not being reachable / in tab order, so other dialogs not mentioned here might be automagically fixed as well.
Labels: -PM-markchang
Status: Assigned (was: Fixed)
Chrome: 72.0.3604.0 (Official Build) canary (64-bit) (cohort: Clang-64)

Steps to repro:
# Crash chrome as in original post
# Start chrome again
# focus the restore dialog by pressing alt+d, then tab
# Press tab again

Expected: Close button receives focus, then document receives focus if tab is pressed again

Actual: Focus is trapped on the restore button
Close buttons never receive focus (as bubbles can be closed with ESC).

We trapped focus inside this bubble along with making it consistent with other dialogs, like the bookmarks dialog. There are several dialogs that close when they lose focus so letting focus escape everywhere is not an option.

Do we need to add an exception to the restore-pages dialog, or can we let the user use ESC to escape it, like they would other dialogs?
Closing, please reopen if you have a reason to make an exception to this dialog specifically. Now focus stays inside the dialogs.
Status: Fixed (was: Assigned)

Comment 18 Deleted

Able to repro still in Canary channel:
Google Chrome:72.0.3624.2 (Official Build) canary (64-bit) (cohort: Clang-64)
OS: Windows 10 Enterprise version 10.0.1.16299
Steps to repro:
1. Load Chrome with a few tabs 
2. unexpectedly close Chrome by going into Task Manager and killing the process 
3. Open Chrome, 
4. JAWS keeps reading restore pages but cursor never goes to the restore option 
Also noted that and tab does not read aloud the actual elements of the pages rather just reads aloud tab, tab 

JAWS speech upon opening after crash:
 Alert!
Restore pages?
Restore pages?
Close
Chrome didn’t shut down correctly.
Restore

I think the last JAWS speech entry shows "Restore" as the restore button. It's just really hard to see that the blue Restore button is focused (this is  issue 900774 ).

Canary on Windows 10, 73.0.3629.0:

1. Open a few tabs.
2. Kill Chrome in Task Manager
3. See Restore pages? dialog
4. Hold <tab> for a while, focus is now on the "Restore" button (which I assume is the last entry in your sequence).
5. Click spacebar => all pages are restored.


Sign in to add a comment