Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WAI best practice example for tree grid is not working on NVDA #9715

Closed
mertdeg2 opened this issue Jun 10, 2019 · 13 comments · Fixed by #11699
Closed

WAI best practice example for tree grid is not working on NVDA #9715

mertdeg2 opened this issue Jun 10, 2019 · 13 comments · Fixed by #11699
Milestone

Comments

@mertdeg2
Copy link

Steps to reproduce:

  1. Go to https://www.w3.org/TR/wai-aria-practices/examples/treegrid/treegrid-1.html
  2. Use linear navigation to get to TreeGrid (not tab navigation)

Actual behavior:

Table not detected

Expected behavior:

User should be able to interact with tree-grid using SR per navigation pattern: https://www.w3.org/TR/wai-aria-practices/examples/treegrid/treegrid-1.html.

Note that same page works with JAWS

@DrSooom
Copy link

DrSooom commented Jun 11, 2019

@mertdeg2: Please completely fill out the bug report draft. Windows, NVDA, JAWS and all the different webbrowser versions are missing. And please expand the actual and the expected behavior with the naming of the mode, which you used in NVDA (browse or focus mode), as this isn't fully clear. Thanks.

@mertdeg2
Copy link
Author

Sorry Daniel, I am not used to creating fully clear bugs.. I am adding some more details (mostly pasting an internal bug details a coworker created) below.

OBSERVED NVDA RESULTS =======

  • I have used NVDA browse mode. My NVDA version is 2018.4

  • Windows + Chrome + NVDA: tree-grid in the table is not detected - screen reader will say no table found on the page. When I will navigate to the table NVDA will announce that it is focus on the table, but will not provide table size info. To navigate announce list of tables press T, https://webaim.org/resources/shortcuts/nvda#tables.

Note that this might be a Chrome regression. The original person who discovered the bug couldn't reproduce it in Safari and Firefox with NVDA, VoiceOver.
Chrome versions:
Version 76.0.3782.0 (Official Build) canary (64-bit)
Version 74.0.3729.108 (Official Build) (64-bit)

OTHER OBSERVED RESULTS =====

  • Mac (10.13.6 (17G6030)) + Safari + VoiceOver - table is detected and correct table sizing provided based on number of rows before expanded action.

  • Windows 10 + FireFox 66.0.3 + JAWS2019 - Table with tree grid is not detected as well
    Windows 10 + JAWS2019 + Chrome - Table is detected, but doesn't give correct table sizing (adds a few more rows then actual size).

  • Mac + VoiceOver + Chrome (Stable and Canary versions): table with tree grid is announced as "table empty X columns, 0 rows". Blocked issue: http://b/131245652.
    To repro on the page with table-treegrid press CTRL+Option+CMD + T.

@DrSooom
Copy link

DrSooom commented Jun 12, 2019

@mertdeg2: Please try to reproduce this with NVDA 2019.2 Beta build 17522. You don't have to install it, just run the Installer.

@mertdeg2
Copy link
Author

Yup just tried this. It acts the same way on the new version.

Specifically, this table is not navigable:

image

URL: https://www.w3.org/TR/wai-aria-practices/examples/treegrid/treegrid-1.html

@aleventhal
Copy link

@mertdeg2 from the data I have the issue repros in Firefox + NVDA as well.
I believe this should be addressed on the NVDA side.

@Adriani90
Copy link
Collaborator

cc: @jcsteh

@jcsteh
Copy link
Contributor

jcsteh commented Jul 17, 2019

This is not a browser issue. That said, fixing this is going to be messy. NVDA deliberately doesn't render list boxes and trees in browse mode because they can be very long, offer interaction patterns that don't make sense in browse mode (e.g. expanding and collapsing many levels), etc. I believe JAWS does the same. It's being argued here that treegrids should be different, which seems inconsistent and presents a couple of challenges:

  1. UX: How would the user expand and collapse rows?
  2. Technical: Given that both tree and treegrid map to the tree role in Windows, NVDA has to differentiate these. That can be done using xml-roles, but that's incredibly ugly. And if we're suggesting the UX should be so wildly different, that suggests the mapping is wrong.

@aleventhal
Copy link

Our tester said that the treegrid worked in the JAWS virtual buffer.
What about grids too?

@jcsteh
Copy link
Contributor

jcsteh commented Jul 17, 2019

Our tester said that the treegrid worked in the JAWS virtual buffer.

I'm not doubting this. What I don't know is whether the UX is actually decent. For example, how are levels and expanded/collapsed reported, and how do you expand/collapse a row without unintentionally clicking a column?

What about grids too?

Grids are much simpler: you can just expose them like a table. There's no hierarchy to worry about.

@aleventhal
Copy link

I don't have an opinion on the right UI is, but for now if NVDA wanted to allow traversal in browse mode, but not yet allow toggling of row expansion, it could do that since the treegrids are exposed as tables. The collapsed rows just wouldn't be available.

@sasgrw
Copy link

sasgrw commented Dec 13, 2019

NVDA deliberately doesn't render list boxes and trees in browse mode because they can be very long...

So if treegrids automatically switch to focus mode (like listboxes and trees), then manually switching to browse mode should work? I tried it and I can indeed navigate within the treegrid using standard table navigation (ctrl+alt+arrowkey). On the example page in the OP, I navigated to the "Example" heading using H and then down-arrowed. It announced "tree view". Using table navigation at this point does not work. I have to down arrow again to "Summary" and then table navigation works, sort of.

ctrl+alt+arrowkey allows me to navigate as if I'm in a table, which is good, but the treegrid's role ("tree view") and aria-label ("inbox") are announced in addition to the column header every time I navigate to a new cell moving across a row. Only the column header should be announced.

It also announces "editable" for every cell which I suppose is correct because it's a grid and grid cells are supposed to be editable. If there were such a thing as a role="treetable", then "editable" wouldn't be necessary.

However, even if nothing about the treegrid's behavior were changed, "treegrid" implies both a tree and a grid, and grids can be navigated to with the T key so I would expect to find a "treegrid" using T too. Currently that does not work.

@Adriani90
Copy link
Collaborator

Strange enough, if I navigat ein browse mode with ctrl+alt+arrow keys, NVDA navigates the column headers as if it was a table "email, subject etc.). But If I navigate with ctrl+alt+down arrow, after that NVDA says not in a table cell. So this might occur because when you press down arrow in the column while in focus mode, the grid is expanded. However, when you press ctrl+alt+down arrow on the grid while in browse mode, the grid is not expanded so you cannot navigate the rows and columns like in a table. However, I am not sure what the underlying cause for this issue is yet.

@choiyoung7
Copy link

With NVDA v.2020.2 on Chrome v.84.0.4147.105 (Official Build) (64-bit), this issue is still repro. Is there any plan to fix this issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants