New issue
Advanced search Search tips

Issue 772321 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug
Team-Accessibility



Sign in to add a comment

List items not read with list position / selection status in Grid View mode

Project Member Reported by yamaguchi@chromium.org, Oct 6 2017

Issue description

Chrome Version: 63.0.3235.0
Chrome OS Version: 9900.0.0

Please specify Cr-* of the system to which this bug/feature applies (add
the label below).

Steps To Reproduce:
(1) Switch to grid view mode
(2) Toggle Select one of the items by mouse click on checkbox
(3) Turn ChromeVox ON
(4) touch the selected item

Expected Result:
"filename, List item M of N, selected"

Actual Result:
"filename, List item"


Part of the document containing the item is like this:
<div>
  <grid role="listbox" aria-activedescendant="listitem-2">
    <li role="listitem" id="listitem-2" lead="lead" selected aria-posinset="2" aria-setsize="9">
      <div class="....">

 
https://cs.chromium.org/chromium/src/chrome/browser/resources/chromeos/chromevox/cvox2/background/output.js?type=cs&q=file:output.js++listItem&sq=package:chromium&l=389
    listItem: {enter: `$name= $role $state $description`},
is relevant rule, and seems node.state was 
 {focusable:true, hovered:true}.
whereas a listBoxOption node in case of the list view mode (which is read correctly) was like
{focusable:true, hovered:true, selectable: true, selected: true}.
So I think selection status is dropped somewhere during conversion from DOM to automation node, maybe due to wrong markup.
Cc: yawano@chromium.org
Status: Started (was: Unconfirmed)
"listItem" role is non-interactive.

file_grid.js adds "option" role to each file grid item,
https://cs.chromium.org/chromium/src/ui/file_manager/file_manager/foreground/js/ui/file_table_list.js?q=file:file_table_list.js+setAttribute&sq=package:chromium&l=141

However it's overwritten as 'listItem' by ListItem.decorate() before inserting to a list.
https://cs.chromium.org/chromium/src/ui/webui/resources/js/cr/ui/list_item.js?type=cs&q=file:list_item.js+setAttribute&sq=package:chromium&l=45

Project Member

Comment 4 by bugdroid1@chromium.org, Oct 11 2017

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

commit 41cec074f9d741d8c76801779e821f07d36ca4ec
Author: Tatsuhisa Yamaguchi <yamaguchi@chromium.org>
Date: Wed Oct 11 08:58:57 2017

Markup grid view items to be recognizable as selectable option items.

Currently the role attribute is overwritten to "listItem" by
cr.ui.ListItem.decorate(). To prevent this, we need to set it when
prototype.decorate() is called, instead of the constructor.

After this change, the screenreader will be able to read an item like
"List item 2 of 5 selected" instead of "List item" when an item is
focused by it.

Bug:  772321 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: Id85596f0c8785e26184e022111b131c361e1ef47
Reviewed-on: https://chromium-review.googlesource.com/708103
Reviewed-by: Naoki Fukino <fukino@chromium.org>
Commit-Queue: Tatsuhisa Yamaguchi <yamaguchi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#507931}
[modify] https://crrev.com/41cec074f9d741d8c76801779e821f07d36ca4ec/ui/file_manager/file_manager/foreground/js/ui/file_grid.js

Status: Fixed (was: Started)

Comment 6 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Comment 7 by dchan@chromium.org, Jan 23 2018

Status: Fixed (was: Archived)

Sign in to add a comment