Unplanned
Last Updated: 10 Aug 2021 09:23 by Krishnamoorthy
Krishnamoorthy
Created on: 10 Aug 2021 09:23
Category: Grid
Type: Bug Report
0
Grid selectable column header element does not render an id

Bug report

When .Navigatable() is enabled, the Grid renders an aria-describedby attribute in each td element. The value of the attribute should match the id value of the respective column header. This works for standard columns bound to fields in the data, but doesn't work for a selectable column:

columns.Select();

The selectable column header element (th) does not render an id. The td elements of that column render an aria-describedby attribute, the value of which does not match any element id. This causes an accessibility issue (Ticket ID: 1530928).

Reproduction of the problem

Reproducible with the MVC helper:

@(Html.Kendo().Grid<TelerikMvcApp1.Models.OrderViewModel>()
	.Name("grid")
	.Columns(columns =>
	{
		columns.Select();
		columns.Bound(p => p.OrderID).Filterable(false);
		columns.Bound(p => p.Freight);
		columns.Bound(p => p.OrderDate).Format("{0:MM/dd/yyyy}");
		columns.Bound(p => p.ShipName);
		columns.Bound(p => p.ShipCity);
	})
	.Pageable()
	.Navigatable()
	.Scrollable()
	.HtmlAttributes(new { style = "height:550px;" })
	.DataSource(dataSource => dataSource
		.Ajax()
		.PageSize(20)
		.Read(read => read.Action("Orders_Read", "Grid"))
	)
)

Current behavior

The selectable column header element (th) does not render an id.

Expected/desired behavior

The selectable column header element (th) renders an id that matches the aria-describedby attribute value of the td elements in the column.

Environment

  • Kendo UI version: 2021.2.616
  • jQuery version: x.y
  • Browser: [all ]
0 comments