Skip to content

Accessibility improvements for role on Table & Column components - #1691

Closed
laughnan wants to merge 3 commits into
bvaughn:masterfrom
laughnan:a11y-improvements-for-table
Closed

laughnan wants to merge 3 commits into
bvaughn:masterfrom
laughnan:a11y-improvements-for-table

Conversation

@laughnan

@laughnan laughnan commented Sep 10, 2021 •

Copy link
Copy Markdown

Changes

We're seeing an issue that impacts multiple tables in our application. This is mostly on Windows computers and causes the screenreader to go into a different mode when tabbing into the div (this has role "grid" and the columns have role "gridcell").

  • On Windows, role="grid" triggers Application Mode for the Windows screenreader.
    • 90% of screenreader users are on Windows computers (importance of change)
    • Application mode passes all keystrokes to the browser
    • Visitors can no longer "read" the text as they're navigating the Table (which is effectively a grid).
  • This does not seem to be an issue on Apple with Voiceover.

Contribution Checklist

Thanks for contributing to react-virtualized!

Before submitting a pull request, please complete the following checklist:

  • The existing test suites (npm test) all pass
  • For any new features or bug fixes, both positive and negative test cases have been added
  • For any new features, documentation has been added
  • For any documentation changes, the text has been proofread and is clear to both experienced users and beginners.
  • Format your code with prettier (yarn run prettier).
  • Run the Flow typechecks (yarn run typecheck).

Here is a short checklist of additional things to keep in mind before submitting:

  • Please make sure your pull request description makes it very clear what you're trying to accomplish. If it's a bug fix, please also provide a failing test case (if possible). In either case, please add additional unit test coverage for your changes. :)
  • Be sure you have notifications setup so that you'll see my code review responses. (I may ask you to make some adjustments before merging.)

@laughnan

Copy link
Copy Markdown
Author

Creating this PR to support accessibility improvements noted in #1604

@laughnan

Copy link
Copy Markdown
Author

All initial tests in 429a472 pass (without new tests) showing that this change is backwards compatible.

@laughnan

Copy link
Copy Markdown
Author

Component testing

  1. Update role prop for Table and Column

Screen Shot 2021-09-09 at 19 25 39

  1. Confirmation of the UI rendering the right values

react-virtualized

@laughnan

Copy link
Copy Markdown
Author

@wuweiweiwu can you give this a review?

@bvaughn

bvaughn commented Oct 18, 2026

Copy link
Copy Markdown
Owner

Sorry for the very long delay in getting back to you about this!

I've just finished a large update for version 10 of react-virtualized (#1900): the library has been rewritten in TypeScript, every component is now a function component (React 18+ is required), and the source moved from source/ to lib/. Because of that, this PR can't be merged as-is. Version 10's Table still hard-codes role="grid" and role="gridcell".

If you're still interested in this change, I'd welcome a new PR with it rebased onto the version-10 branch (or onto master once version 10 has been merged).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants