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

Issue 735808 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug
Team-Accessibility

Blocked on:
issue 730905
issue 738296

Blocking:
issue 658980



Sign in to add a comment

[MD Bookmarks] Improve screenreader accessibility

Project Member Reported by tsergeant@chromium.org, Jun 22 2017

Issue description

Here's a tracking issue for accessibility issues in MD Bookmarks.

I've just done a run-through of the page with VoiceOver. The good news is that almost every action in the page can be achieved with Keyboard only. However, there are a bunch of things that need extra work for screenreader users.

Here's everything I came up with, roughly ordered by amount of work.

Small, initial fixes:

- Add a label to the menu button in the toolbar
- Add a label to the menu button in <bookmarks-item>
- Add aria-expanded to folder nodes in the sidebar

Larger but still straightforward fixes:

- Add menu roles to the action menus so that they are announced properly when opened.
- Add a keyboard shortcut to focus the search field (see  issue 619829 )
- Improve search to announce when search results are available
- Fix meta-down keyboard shortcut on mac when list items are focused (it is currently eaten by the <bookmarks-list>)

Harder/more speculative fixes:

-  Issue 730905 : Focus does not return to original target when closing menus and dialogs
- Improve focus handling when opening folders from list (Opening a folder causes focus to be lost if the folder's index is higher than the length of the new list)
- Eliminate the confusion when a list item is focused but not *selected* (that is, when tabbing into the list, you can't issue any keyboard shortcuts until the item is selected. It's very unintuitive)
- We can probably set more appropriate aria-roles on folder nodes and items to improve what is announced
 
Another small thing:

- The toast is not hidden, so it's possible for a screenreader to navigate to it while offscreen.
I've peen poking more at this with various screenreaders throughout the day. Here are some of my ideas for now, so that I don't forget everything over the weekend.

1. With role="menu" and role="menuitem" on cr-action-menu, Chromevox announces the menus pretty well, but VoiceOver gets caught on the .iron-wrapper div.

2. We need to make sidebar nodes button-y for them to be interactive with VoiceOver. Setting role="button" would work, but it might be better to actually make them buttons.

3. Adding a title to the menu button in <bookmarks-item> causes it to be announced when the whole item is focused. One possible solution to this is to mimick History and have the inner URL focus instead of the whole item node.
Cc: msrchandra@chromium.org ranjitkan@chromium.org nyerramilli@chromium.org
 Issue 737042  has been merged into this issue.
Blockedon: 738296
I've also filed https://github.com/PolymerElements/paper-input/issues/553 which affects Bookmarks and Settings.
Project Member

Comment 6 by bugdroid1@chromium.org, Jul 3 2017

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

commit dd2fc8cb88b8a63bc01fcf925be0c0c916304f9f
Author: tsergeant <tsergeant@chromium.org>
Date: Mon Jul 03 07:25:10 2017

MD Bookmarks: Initial screenreader accessibility improvements

This is an initial set of small improvements to screenreader
accessibility in MD Bookmarks. In particular,

- Marks up the sidebar tree, list and menus with correct roles
- Adds labels to menu buttons
- Hides the toast message from screenreaders when it is off screen

These changes have been tested with ChromeVox only.

BUG= 735808 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation

Review-Url: https://codereview.chromium.org/2955563002
Cr-Commit-Position: refs/heads/master@{#483955}

[modify] https://crrev.com/dd2fc8cb88b8a63bc01fcf925be0c0c916304f9f/chrome/app/bookmarks_strings.grdp
[modify] https://crrev.com/dd2fc8cb88b8a63bc01fcf925be0c0c916304f9f/chrome/browser/resources/md_bookmarks/app.html
[modify] https://crrev.com/dd2fc8cb88b8a63bc01fcf925be0c0c916304f9f/chrome/browser/resources/md_bookmarks/command_manager.html
[modify] https://crrev.com/dd2fc8cb88b8a63bc01fcf925be0c0c916304f9f/chrome/browser/resources/md_bookmarks/compiled_resources2.gyp
[modify] https://crrev.com/dd2fc8cb88b8a63bc01fcf925be0c0c916304f9f/chrome/browser/resources/md_bookmarks/folder_node.html
[modify] https://crrev.com/dd2fc8cb88b8a63bc01fcf925be0c0c916304f9f/chrome/browser/resources/md_bookmarks/folder_node.js
[modify] https://crrev.com/dd2fc8cb88b8a63bc01fcf925be0c0c916304f9f/chrome/browser/resources/md_bookmarks/item.html
[modify] https://crrev.com/dd2fc8cb88b8a63bc01fcf925be0c0c916304f9f/chrome/browser/resources/md_bookmarks/item.js
[modify] https://crrev.com/dd2fc8cb88b8a63bc01fcf925be0c0c916304f9f/chrome/browser/resources/md_bookmarks/list.html
[modify] https://crrev.com/dd2fc8cb88b8a63bc01fcf925be0c0c916304f9f/chrome/browser/resources/md_bookmarks/toast_manager.html
[modify] https://crrev.com/dd2fc8cb88b8a63bc01fcf925be0c0c916304f9f/chrome/browser/resources/md_bookmarks/toast_manager.js
[modify] https://crrev.com/dd2fc8cb88b8a63bc01fcf925be0c0c916304f9f/chrome/browser/resources/md_bookmarks/toolbar.html
[modify] https://crrev.com/dd2fc8cb88b8a63bc01fcf925be0c0c916304f9f/chrome/browser/ui/webui/md_bookmarks/md_bookmarks_ui.cc
[modify] https://crrev.com/dd2fc8cb88b8a63bc01fcf925be0c0c916304f9f/chrome/test/data/webui/md_bookmarks/toast_manager_test.js

Project Member

Comment 7 by bugdroid1@chromium.org, Jul 18 2017

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

commit 2533c2514b6981851d388ae9d8d02c049ce082ca
Author: Tim Sergeant <tsergeant@chromium.org>
Date: Tue Jul 18 08:03:42 2017

MD Bookmarks: Announce to screen readers when search results are available

Bug:  735808 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I9449bca20368229dbe9c6e4860ad2ba0467fd0d8
Reviewed-on: https://chromium-review.googlesource.com/567898
Reviewed-by: calamity <calamity@chromium.org>
Commit-Queue: Tim Sergeant <tsergeant@chromium.org>
Cr-Commit-Position: refs/heads/master@{#487413}
[modify] https://crrev.com/2533c2514b6981851d388ae9d8d02c049ce082ca/chrome/app/bookmarks_strings.grdp
[modify] https://crrev.com/2533c2514b6981851d388ae9d8d02c049ce082ca/chrome/browser/resources/md_bookmarks/app.js
[modify] https://crrev.com/2533c2514b6981851d388ae9d8d02c049ce082ca/chrome/browser/resources/md_bookmarks/compiled_resources2.gyp
[modify] https://crrev.com/2533c2514b6981851d388ae9d8d02c049ce082ca/chrome/browser/ui/webui/md_bookmarks/md_bookmarks_ui.cc

Updating with the current list of known issues:

1) Focus can be lost when opening folders from the list. We might want to focus the first item whenever the list source changes.

2) When tabbing into the list, the top item will be focused but not selected. This item can't be interacted with in any meaningful way until you select it (with ctrl-space).

3) The URL field for adding a new bookmark announces "invalid URL" whenever focused. Tracked at https://github.com/PolymerElements/paper-input/issues/553.

4) There's no shortcut to focus the search field. See  issue 619829  for discussion about doing this in a cross-webui way.
Project Member

Comment 9 by bugdroid1@chromium.org, Jul 28 2017

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

commit 32db9e84af5b5820e9fe8c485dc4ca69a117c004
Author: Tim Sergeant <tsergeant@chromium.org>
Date: Fri Jul 28 10:15:19 2017

MD WebUI: Improve accessibility attributes for cr-action-menu

This marks up all actions menus with the same accessibility roles across
all WebUI pages. Menus are now a dialog containing a menu containing a
list of menu items. This seems to work considerably better than the old
markup across ChromeVox, VoiceOver and NVDA. The menu is now recognised
correctly, and we avoid reading out the full list of items twice
whenever a menu is opened.

Bug:  735808 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I1dd5e706a4073ad4aeab94ac3fabc847aad30a5a
Reviewed-on: https://chromium-review.googlesource.com/584656
Commit-Queue: Tim Sergeant <tsergeant@chromium.org>
Reviewed-by: Hector Carmona <hcarmona@chromium.org>
Reviewed-by: calamity <calamity@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490348}
[modify] https://crrev.com/32db9e84af5b5820e9fe8c485dc4ca69a117c004/chrome/browser/resources/md_bookmarks/command_manager.html
[modify] https://crrev.com/32db9e84af5b5820e9fe8c485dc4ca69a117c004/chrome/browser/resources/md_bookmarks/toolbar.html
[modify] https://crrev.com/32db9e84af5b5820e9fe8c485dc4ca69a117c004/chrome/browser/resources/md_downloads/toolbar.html
[modify] https://crrev.com/32db9e84af5b5820e9fe8c485dc4ca69a117c004/chrome/browser/resources/settings/bluetooth_page/bluetooth_device_list_item.html
[modify] https://crrev.com/32db9e84af5b5820e9fe8c485dc4ca69a117c004/chrome/browser/resources/settings/certificate_manager_page/certificate_subentry.html
[modify] https://crrev.com/32db9e84af5b5820e9fe8c485dc4ca69a117c004/chrome/browser/resources/settings/internet_page/internet_known_networks_page.html
[modify] https://crrev.com/32db9e84af5b5820e9fe8c485dc4ca69a117c004/chrome/browser/resources/settings/on_startup_page/startup_url_entry.html
[modify] https://crrev.com/32db9e84af5b5820e9fe8c485dc4ca69a117c004/chrome/browser/resources/settings/printing_page/cups_printers_list.html
[modify] https://crrev.com/32db9e84af5b5820e9fe8c485dc4ca69a117c004/chrome/browser/resources/settings/search_engines_page/omnibox_extension_entry.html
[modify] https://crrev.com/32db9e84af5b5820e9fe8c485dc4ca69a117c004/chrome/browser/resources/settings/search_engines_page/search_engine_entry.html
[modify] https://crrev.com/32db9e84af5b5820e9fe8c485dc4ca69a117c004/chrome/browser/resources/settings/site_settings/protocol_handlers.html
[modify] https://crrev.com/32db9e84af5b5820e9fe8c485dc4ca69a117c004/chrome/browser/resources/settings/site_settings/site_list.html
[modify] https://crrev.com/32db9e84af5b5820e9fe8c485dc4ca69a117c004/chrome/browser/resources/settings/site_settings/usb_devices.html
[modify] https://crrev.com/32db9e84af5b5820e9fe8c485dc4ca69a117c004/chrome/test/data/webui/cr_elements/cr_action_menu_test.js
[modify] https://crrev.com/32db9e84af5b5820e9fe8c485dc4ca69a117c004/ui/webui/resources/cr_elements/cr_action_menu/cr_action_menu.html
[modify] https://crrev.com/32db9e84af5b5820e9fe8c485dc4ca69a117c004/ui/webui/resources/cr_elements/cr_action_menu/cr_action_menu.js

Project Member

Comment 10 by bugdroid1@chromium.org, Aug 30 2017

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

commit 2c6d8c3170a0d582d8b0c203c3eb4c23ed76b04c
Author: Christopher Lam <calamity@chromium.org>
Date: Wed Aug 30 07:48:14 2017

[MD Bookmarks] Miscellaneous screenreader accessibility improvements (part 2)

This CL is a hostile takeover of
https://chromium-review.googlesource.com/c/chromium/src/+/583978.

This is a second set of accessibility improvements for MD Bookmarks. This
installment:

- Marks menu buttons as having a popup menu
- Hides menu separators from screenreaders
- Adds landmark roles to the toolbar and sidebar to assist with navigation
- Labels items correctly when they have an empty title
- Hides the sidebar collapse/expand buttons from screenreaders (they are
  not focusable, and have a better keyboard alternative).

Bug:  735808 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: Icbec690614c858552dcdd685071aca2d2d416229
Reviewed-on: https://chromium-review.googlesource.com/637287
Commit-Queue: calamity <calamity@chromium.org>
Reviewed-by: Tim Sergeant <tsergeant@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498390}
[modify] https://crrev.com/2c6d8c3170a0d582d8b0c203c3eb4c23ed76b04c/chrome/app/bookmarks_strings.grdp
[modify] https://crrev.com/2c6d8c3170a0d582d8b0c203c3eb4c23ed76b04c/chrome/browser/resources/md_bookmarks/app.html
[modify] https://crrev.com/2c6d8c3170a0d582d8b0c203c3eb4c23ed76b04c/chrome/browser/resources/md_bookmarks/command_manager.html
[modify] https://crrev.com/2c6d8c3170a0d582d8b0c203c3eb4c23ed76b04c/chrome/browser/resources/md_bookmarks/folder_node.html
[modify] https://crrev.com/2c6d8c3170a0d582d8b0c203c3eb4c23ed76b04c/chrome/browser/resources/md_bookmarks/item.html
[modify] https://crrev.com/2c6d8c3170a0d582d8b0c203c3eb4c23ed76b04c/chrome/browser/resources/md_bookmarks/item.js
[modify] https://crrev.com/2c6d8c3170a0d582d8b0c203c3eb4c23ed76b04c/chrome/browser/resources/md_bookmarks/toolbar.html
[modify] https://crrev.com/2c6d8c3170a0d582d8b0c203c3eb4c23ed76b04c/chrome/browser/ui/webui/md_bookmarks/md_bookmarks_ui.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Sep 5 2017

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

commit 94c14686cc53488ae21d90374808889206c18f0e
Author: Christopher Lam <calamity@chromium.org>
Date: Tue Sep 05 02:59:29 2017

[MD Bookmarks] Announce when the bookmark list changes.

This CL makes screenreaders announce the number of bookmarks in the
bookmark list whenever the number of items in it changes.

Bug:  735808 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: Icb58090c576eead3d9634126c95bd8ce291e66dc
Reviewed-on: https://chromium-review.googlesource.com/646811
Reviewed-by: Tim Sergeant <tsergeant@chromium.org>
Commit-Queue: calamity <calamity@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499543}
[modify] https://crrev.com/94c14686cc53488ae21d90374808889206c18f0e/chrome/app/bookmarks_strings.grdp
[modify] https://crrev.com/94c14686cc53488ae21d90374808889206c18f0e/chrome/browser/resources/md_bookmarks/list.html
[modify] https://crrev.com/94c14686cc53488ae21d90374808889206c18f0e/chrome/browser/resources/md_bookmarks/list.js
[modify] https://crrev.com/94c14686cc53488ae21d90374808889206c18f0e/chrome/browser/ui/webui/md_bookmarks/md_bookmarks_ui.cc

Cc: -calamity@chromium.org
Owner: calamity@chromium.org
Status: Fixed (was: Started)
Closing. If anything else comes up, we'll open new bugs.

Sign in to add a comment