angular/components

Demo bug: expandable row table example is not keyboard or screen reader accessible

Open

#15020 opened on Jan 30, 2019

View on GitHub
 (1 comment) (0 reactions) (0 assignees)TypeScript (24,044 stars) (6,650 forks)batch import
AccessibilityP4area: material/tabledocshelp wanted

Description

What is the expected behavior?

  1. It must be possible to expand and collapse table rows in the example by using only a keyboard
  2. Roles, states, and properties must be present so that users of screen reader software are aware that the rows can expand and collapse

What is the current behavior?

  1. It is not possible to expand and collapse table rows in the example by using only a keyboard
  2. Roles, states, and properties are not provided to convey the functionality to users of screen reader software

What are the steps to reproduce?

  1. Using either of the following screen readers
    • NVDA 2018.4.1 + Firefox 64
    • VoiceOver for IOS (12.1.3) + Safari
  2. Open the table example page
  3. Use the screen reader to navigate to a table cell in the 'Table with expandable rows' example
  4. Observe that the screen reader does not convey any semantics about the current expanded state, or that it is possible to interact with the row to expand the information
  5. Press the 'enter' key or space bar and obverse that the row does not expand or collapse

Which versions of Angular, Material, OS, TypeScript, browsers are affected?

Is there anything else we should know?

Since rows and cells already have roles, it would be best to add a separate control to expand/collapse each row.

Contributor guide