New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 856209 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Oct 11
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows , Chrome
Pri: 2
Type: Bug
Team-Accessibility



Sign in to add a comment

A11y: chrome://bookmarks undo delete not announced; times out too quickly

Project Member Reported by dsexton@chromium.org, Jun 25 2018

Issue description

Chrome: 69.0.3464.0 (Official Build) dev (64-bit) (cohort: Dev)
NVDA: 2018.2.1
JAWS: 2018

Steps to repro
# Open chrome://bookmarks
# Right click a bookmark and choose delete
# Notice that 'undo' only appears for about 5 seconds

Expected: Undo should be available without timeout

Actual: It is difficult for screen reader users to locate the undo button before it times out.
 
Labels: a11y-WebUI a11y-Bookmarks
Labels: a11y-q2-18
Labels: OS-Chrome
Summary: A11y: chrome://bookmarks undo delete not announced; times out too quickly (was: A11y: chrome://bookmarks undo delete times out too quickly)
Reproduces with ChromeVox with the steps above, in fact, the user is never read the toast that you can undo the deletion. 


Google Chrome	69.0.3497.35 (Official Build) dev (64-bit)
Firmware Version	Google_Lulu.6301.136.57
I think this needs input from UX design.
Cc: chrishall@chromium.org
It looks like the timeout value comes from
chrome/browser/resources/md_bookmarks/app.html:81:    <bookmarks-toast-manager duration="5000"></bookmarks-toast-manager>
with matching code in toast_manager.html and toast_manager.js in the same directory.

We can tweak this value if we need more time, or we could remove the fadeout entirely - UI/UX will likely have to weigh in on both options.

I think we could change the timeout only if accessibility support in Chrome is enabled. It'd be easy to check that preference from webui.

I noticed that Cmd+Z / Ctrl+Z works!

Maybe another good fix is for it to just announce the shortcut?

What do those shortcuts do which helps in this context?
How do we feel about also programmatically taking focus to the undo 'alert' ? (only when accessibility is enabled, and in in addition to extending timeout)
Or just announcing the presence of the undo option using something like aria live regions (if I understand these correctly).
Timeouts are still an accessibility issue even when accessibility is not specifically enabled.

There will be users who do not use software that activates accessibility who may miss the alert.

If ctrl+z works to undo the action, we can announce with a live region. Then timeout is not a big issue for screen reader users, but we need to consider other users.
Owner: chrishall@chromium.org
I agree with David.

Playing with it I find the current timeout of 5 seconds to be too short.
As a sighted user using a mouse I am able to get it in time, but without much spare time.
The box will still vanish even if I am hovering over it with my mouse.

Using a keyboard it is one tab away, so I am able to get to it in time if I know it is there.
The box will still vanish even if I have used the keyboard to give it focus.

The keyboard shortcut works even after the popup has vanished.



We should announce the keyboard shortcut using an aria live-region, as that isn't as time sensitive.

I think we need to prevent the box vanishing if it has focus, and possibly also if it has mouse hover, can we make this change without UI input?

I think we might want to extend the timeout a bit even when accessibility features are not enabled, but that may require some UI input.
We could extend the timeout when accessibility feature are enabled, either instead of or in addition to any other timeout increase.

I have a CR up for review which unconditionally increases the timeout from 5 to 10 seconds.
https://chromium-review.googlesource.com/c/chromium/src/+/1212363

Project Member

Comment 15 by bugdroid1@chromium.org, Sep 7

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

commit f0e0dec98ed47fd6cd3eb2ec067d41b5fb94c632
Author: Chris Hall <chrishall@chromium.org>
Date: Fri Sep 07 02:47:25 2018

Chrome bookmarks delete undo popup - increase timeout from 5s to 10s.

Bug:  856209 
Change-Id: Ifcb55f5e3f7e50ff94ebfe1a6e607e06c22d4add
Reviewed-on: https://chromium-review.googlesource.com/1212363
Reviewed-by: calamity <calamity@chromium.org>
Commit-Queue: Chris Hall <chrishall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#589417}
[modify] https://crrev.com/f0e0dec98ed47fd6cd3eb2ec067d41b5fb94c632/chrome/browser/resources/md_bookmarks/app.html

I had a good chat with dmazzoni@ about this, he pointed out how WCAG requirements are quite strong
https://www.w3.org/TR/UNDERSTANDING-WCAG20/time-limits-required-behaviors.html
GAR seems to be similar
https://docs.google.com/a/google.com/document/d/e/2PACX-1vQt1Vje9VgUv_iYcJBI5itmuz1U8LBfZW_Azhsi7BRbXPMMOQMWT3CkeQYjeS3_gVvCvdvp3q0I3zuq/pub#h.mbamiyiev6uu

Dominic also pointed out that the material design guidelines specify that a 'snackbar' with an action should not time out at all
https://docs.google.com/document/d/1b8RVYLdqdtpjPIuZ5Zqa0P6dW7BiEJw-28jm9pvp8Bc/edit#heading=h.9jx94h5yf00

I have landed the cl to extend the timeout from 5 seconds to 10 seconds, but we should probably start a discussion with the UI/UX folks to see if we can remove the timeout completely.

In addition to this I'm working on one change to read out the shortcut (probably using an aria live region).

If I have time I will try make another change to prevent the popup vanishing when it has focus or mouse hover.

Status: Started (was: Available)
forgot to mark as started, whoops
Ahhh, so that popup is used for more than just deletion.

Sorting a folder also triggers it, and it can also be undone, and this has the same accessibility problems.
I cannot reproduce this in Chromevox, for me it seems to always read it out eventually.


I am using Chromeos version 68.0.3440.118 (Official build) running on a Thinkpad laptop.


I am getting inconsistent/nondeterministic results.
It seems I can get Chromevox to read out the toast popup all/most times, but the point in the sentence where it does it seems to fluctuate.

Reproduction steps:
1) visit wikipedia.org
2) save this as a bookmark (ctrl-d) to a new folder called 'testing folder' under 'other bookmarks'
3) visit chrome://bookmarks
4) navigate to 'other bookmarks' and then 'testing folder'
5) press the tab key to enter the bookmark list
6) notice the readout "Wikipedia - list item - exited navigation - bookmark list'
7) press the tab key again to select the menu hamburger
8) notice the readout 'more actions for wikipedia - button has pop up - more actions - press search plus space to activate'
9) press the space key to cause the menu to open
10) press the down key twice to select 'copy url' then press the space key to activate it
11) listen to read out

Actual results:
a) "More actions for wikipedia - button has popup - more actions - wikipedia - list item - bookmarks list - press search plus space to activate - url copied"
b) "url copied"

it is most often (a) but sometimes (b).


Chromevox will happily read out "url copied" or "wikipedia deleted" even after the toast popup has faded off the screen.
If I change the html of the toast popup to include `role="alert"` then the audio description I am given is

"Button has pop up - More actions - Wikipedia - List item - bookmark list - press search plus space to activate. - alert url copied - url copied"

I would have expected the alert to precede the text as should be assertive.
Cc: dmazzoni@google.com

Comment 22 Deleted

So the text within the toast popup is read, but the undo 'button' is not.

This undo button is a custom element of type <paper-button>, if we change this to <button> then it is read out, it is also read out if we manually set an aria-label.

We should consider changing the HTML element to <button> and then styling it to keep it consistent with the current paper-button look.

We should also add an aria-label which specifies the keyboard shortcut appropriate to the platform.
Labels: pm-markchang
Labels: jaws
Labels: -JAWS
Two changes up for review.

The adds role="alert" to the toast, which at least causes the button text to be read out.
https://chromium-review.googlesource.com/c/chromium/src/+/1229879

The second adds a description of the keyboard shortcut to the button text, so instead of saying just "undo" it will says "undo (ctrl z)"
(it will change the description based on platform and language)
https://chromium-review.googlesource.com/c/chromium/src/+/1229737

When combined this will cause the toast to be read out as
"'foo' deleted undo control z"

if we cannot land the second change, then I could instead expose it as an aria-label attribute.

We will have to see what UI think of it :/

We may want to add an aria-label either way, maybe something of the form "press control z to undo delete".
Project Member

Comment 28 by bugdroid1@chromium.org, Sep 21

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

commit 2c2930e77cd64ba4a10e4709f47cf44ef777a0bf
Author: Chris Hall <chrishall@chromium.org>
Date: Fri Sep 21 01:39:05 2018

Bookmarks toast adding aria role alert, removing iron-announce usage.

Before this change the text of the toast was being read out using
IronA11yAnnounce, but the button text ("Undo") was not read out.
IronA11yANnounce was also quite low priority, so it would usually be
read after the other details on the page.

This change will cause the button text to also be read out, as well as
increasing the priority of reading the toast message.

BUG= 856209 

Change-Id: If0dfeb757a2bec5b7a96cc09b1d9e7439dbd529c
Reviewed-on: https://chromium-review.googlesource.com/1229879
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: calamity <calamity@chromium.org>
Commit-Queue: Chris Hall <chrishall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593044}
[modify] https://crrev.com/2c2930e77cd64ba4a10e4709f47cf44ef777a0bf/chrome/browser/resources/md_bookmarks/toast_manager.html
[modify] https://crrev.com/2c2930e77cd64ba4a10e4709f47cf44ef777a0bf/chrome/browser/resources/md_bookmarks/toast_manager.js

Cc: krajshree@chromium.org
Labels: Needs-Feedback
Able to reproduce the issue on win-10 using chrome reported version #69.0.3464.0 as per comment #0 using NVDA.
Tried testing the issue on win-10 using chrome version #71.0.3559.0 as per comment #0. Observed that 'undo' appears for more than 5 seconds, but the screen reader neither read out text of the toast nor the button text ("Undo").

Attached screen cast for reference.

chrishall@ - Could you please check the attached screen cast and please help us in confirming the fix.

Thanks...!!
856209.mp4
1.8 MB View Download
Labels: Group-WebUI_Bookmarks
Project Member

Comment 31 by bugdroid1@chromium.org, Oct 11

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

commit f62ade2c4adfe24cdcb8850499434e122aa6cde1
Author: Chris Hall <chrishall@chromium.org>
Date: Thu Oct 11 05:37:57 2018

Chrome bookmarks toast - adding undo shortcut description as aria-label.

This change adds an aria-label to the "undo" button of the form
"press Control plus Z to undo".
It will appropriately insert either "Control" or "Command" depending on
platform.

BUG= 856209 

Change-Id: I95f917b8d6722ad8362dea2295bfc4aaf82f6259
Reviewed-on: https://chromium-review.googlesource.com/c/1229737
Commit-Queue: Chris Hall <chrishall@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: calamity <calamity@chromium.org>
Cr-Commit-Position: refs/heads/master@{#598682}
[modify] https://crrev.com/f62ade2c4adfe24cdcb8850499434e122aa6cde1/chrome/browser/resources/md_bookmarks/command_manager.js
[modify] https://crrev.com/f62ade2c4adfe24cdcb8850499434e122aa6cde1/chrome/browser/resources/md_bookmarks/toast_manager.html
[modify] https://crrev.com/f62ade2c4adfe24cdcb8850499434e122aa6cde1/chrome/browser/ui/webui/md_bookmarks/md_bookmarks_ui.cc
[modify] https://crrev.com/f62ade2c4adfe24cdcb8850499434e122aa6cde1/components/undo_strings.grdp

Status: Fixed (was: Started)
I have just landed a fix to master which will now read out the button

On windows this will be roughly of the form
"'bookmark name' deleted press control plus z to undo"
on mac
"'bookmark name' deleted press command plus z to undo".

@krajshree: I am surprised that it didn't read anything out, it should have still been reading out "'bookmark name' deleted"
The fix that reads out "press control plus z to undo" has just landed on master, sorry if that wasn't clear.

I have been testing with ChromeVox on ChromeOS.

Labels: TE-Verified-M71 TE-Verified-71.0.3578.0
Able to reproduce the issue on win-10 using chrome build without fix.

Verified the fix on win-10 using Chrome version #71.0.3578.0 as per the comment #0 and #32.
Attaching screen cast for reference.
Observed that screen reader read "'bookmark name' deleted press control plus z to undo". Hence, the fix is working as expected. 
Adding the verified labels.

Thanks...!!
856209.mp4
1.9 MB View Download
@krajshree Thanks for the quick verification.
Status: Verified (was: Fixed)

Sign in to add a comment