A11y: chrome://bookmarks indexes are not announced by screen readers |
||||||||||
Issue descriptionChrome: 69.0.3452.0 (Official Build) dev (64-bit) NVDA: 2018.2.1 JAWS: 2018 Steps to repro: # With NVDA running, launch Chrome # Ensure that there are bookmarks on the bookmarks bar # Visit chrome://bookmarks # Tab to the bookmark folder list # Notice that NVDA says: Collapse Bookmarks bar Bookmarks bar not selected expanded 1 of 1 level 1 # Use arrows to navigate the list of bookmark folders Expected: The correct index should be announced for each item in the tree Actual: Each item is announced as '1 of 1' even though there are more than one item
,
Aug 23
Also reproduces with ChromeVox per steps above Google Chrome 69.0.3497.35 (Official Build) dev (64-bit) Firmware Version Google_Lulu.6301.136.57
,
Aug 23
Disambiguation: Bug 854312 is about all of the confusing text spoken by screen reader Bug 854345 is about incorrect indexes within that text for Bookmarks folders Bug 854362 is about incorrect indexes for bookmarks within folders
,
Aug 23
,
Aug 27
The 'treeitem' role is inside of a 'navigation' rather than a 'tree' - I wonder if that affects index computation.
,
Aug 30
Ah - actually, it's this: https://cs.chromium.org/chromium/src/third_party/blink/renderer/modules/accessibility/ax_node_object.cc?type=cs&sq=package:chromium&g=0&l=1451 Either we need to skip over groups while computing the index, or ensure groups are nested under treeitems and not between them (like this example https://www.w3.org/TR/wai-aria-practices-1.1/examples/treeview/treeview-2/treeview-2a.html). If we do the latter, https://cs.chromium.org/chromium/src/chrome/browser/resources/md_bookmarks/folder_node.html?type=cs&sq=package:chromium&g=0&l=107 is probably a good place to start.
,
Aug 30
+dmazzoni/dtseng - any thoughts on which of the two options I outline above would be preferable? i.e. 1) skip over "group" role elements when computing indexes of treeitems; or 2) nest "group" role element under treeitem role element in the bookmarks-folder-node element
,
Sep 10
I feel like (1) is more general
,
Sep 14
,
Sep 14
,
Sep 18
,
Sep 20
We have a role=navigation which then has children mixing role=treeitem and role=group Our treeitems then contain groups which further contain treeitems and groups. ARIA says that we must nest treeitem within either tree or group, but we are nesting it within navigation "Authors MUST ensure elements with role treeitem are contained in, or owned by, an element with the role group or tree." https://www.w3.org/TR/wai-aria/#treeitem I'm going to change the top level item from navigation to treeitem (possibly with a navigation parent, I'll try find other examples). Using aria-owns seems to correctly fix the nesting of treeitems and groups, so I will add appropriate ownership relations.
,
Sep 20
The current menu aria roles come from the work on https://bugs.chromium.org/p/chromium/issues/detail?id=735808
,
Sep 24
I have a pending CR up for review which uses aria-owns to reparent the descendants under the folder, which better matches the semantics of the folder nesting. This now generates correct indices \o/ I have also changed the top level div from role=navigation to role=tree as I think is required by ARIA. https://chromium-review.googlesource.com/c/chromium/src/+/1238756
,
Sep 26
,
Sep 28
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/adf5b6561bda9b53d4067b12b51ef34501b0e54e commit adf5b6561bda9b53d4067b12b51ef34501b0e54e Author: Chris Hall <chrishall@chromium.org> Date: Fri Sep 28 07:38:26 2018 Bookmarks folder navigation tree correcting indices. This change corrects the accessibility semantics of the bookmarks folder navigation tree. Before this change, the indices on the bookmark folder items were incorrectly always being read out as '1 of 1' even when there were multiple items within the menu, this was because each role='treeitem' was followed by a role='group' sibling. This change uses aria-owns to reparent the descendents role='group' under the containing folder, which more closesly matches the semantic meaning of the nested folders. Now indicies are read out correctly as '1 of 2' or similar. This also changes the top level role from 'navigation' to 'tree' as aria requires that every 'treeitem' is within either a 'tree' or 'group'. Change-Id: I58ade626e8df6a7bd87be32d05d9d86679bc6200 Bug: 854345 Reviewed-on: https://chromium-review.googlesource.com/1238756 Commit-Queue: Chris Hall <chrishall@chromium.org> Reviewed-by: calamity <calamity@chromium.org> Reviewed-by: Alice Boxhall <aboxhall@chromium.org> Cr-Commit-Position: refs/heads/master@{#595010} [modify] https://crrev.com/adf5b6561bda9b53d4067b12b51ef34501b0e54e/chrome/browser/resources/md_bookmarks/app.html [modify] https://crrev.com/adf5b6561bda9b53d4067b12b51ef34501b0e54e/chrome/browser/resources/md_bookmarks/folder_node.html
,
Sep 28
That change should gives me indices in my testing on ChromeOS and ChromeVox
,
Nov 15
Fixed as of 71.0.3578.44 (Official Build) beta (64-bit) (cohort: Beta) |
||||||||||
►
Sign in to add a comment |
||||||||||
Comment 1 by leberly@chromium.org
, Aug 7