List: support true grid with multiple role=gridcell per row
Closed this issue · 0 comments
Enhance lists to support multiple gridcells per row.
Lists with type=grid currently puts everything inside one role=gridcell
, which makes screenreaders announce that the grid only has one column, regardless of how many it really has.
Also, support multiple rows per renderer, in order to allow for expandable rows like on https://www.carbondesignsystem.com/components/data-table/code#expandable-data-table.
Part of this change is to move the aria-selected
attribute from the role=gridcell
to the role=row
.
Another part involves removing the Renderer#renderNode
property.
If the List is of type "menu", "listbox" or "list", then this.renderNode === this
, the property is redundant. (See #611). If the List is of type "grid", then Renderer subclasses may have
multiple "gridcell" children, so a single renderNode
property doesn't make sense.