Telerik Forums
Kendo UI for Angular Forum
1 answer
17 views

Hi Team,

We are using the Kendo grid and getting below warnings for Aria role with accessibility check. the code is simply to display the data from DB and non editable & Sortable.

Please help to resolve the below 4 warnings for single Kendo grid.

Using the Kendo grid version 18.0.0

1.

Title: WCAG 1.3.1: Ensure elements with an ARIA role that require child roles contain them (thead)
Tags: Accessibility, WCAG 1.3.1, aria-required-children

Issue: Ensure elements with an ARIA role that require child roles contain them (aria-required-children - https://accessibilityinsights.io/info-examples/web/aria-required-children)

Target application:  ***************

Element path: #k-8d34ce03-5f96-4632-b56a-ea5497e2d1e5 > .k-grid-header[role="presentation"] > .k-grid-header-wrap[data-scrollable=""][role="presentation"] > .k-grid-header-table > thead

Snippet: <thead kendogridheader="" role="rowgroup" class="k-table-thead">

How to fix: 
Fix any of the following:
  Element has children which are not allowed: [role=columnheader]

Environment: Microsoft Edge version 136.0.0.0
2
Title: WCAG 1.3.1: Ensure elements with an ARIA role that require child roles contain them (#k-8d34ce03-5f96-4632-b56a-ea5497e2d1e5)
Tags: Accessibility, WCAG 1.3.1, aria-required-children

Issue: Ensure elements with an ARIA role that require child roles contain them (aria-required-children - https://accessibilityinsights.io/info-examples/web/aria-required-children)

Target application: **********

Element path: #k-8d34ce03-5f96-4632-b56a-ea5497e2d1e5

Snippet: <div role="grid" kendodragtargetcontainer="" kendodroptargetcontainer="" mode="manual" class="k-grid-aria-root" id="k-8d34ce03-5f96-4632-b56a-ea5497e2d1e5" aria-label="Data table" aria-rowcount="2" aria-colcount="22">

How to fix: 
Fix any of the following:
  Element has children which are not allowed: [role=presentation], [role=columnheader], [role=gridcell]

Environment: Microsoft Edge version 136.0.0.0
3
Title: WCAG 2.1.1: Ensure elements that have scrollable content are accessible by keyboard (.k-grid-content.k-virtual-content)
Tags: Accessibility, WCAG 2.1.1, scrollable-region-focusable

Issue: Ensure elements that have scrollable content are accessible by keyboard (scrollable-region-focusable - https://accessibilityinsights.io/info-examples/web/scrollable-region-focusable)

Target application: *****************

Element path: #k-8d34ce03-5f96-4632-b56a-ea5497e2d1e5 > kendo-grid-list > .k-grid-content.k-virtual-content

Snippet: <div class="k-grid-content k-virtual-content" style="width: 1588px;">

How to fix: 
Fix any of the following:
  Element should have focusable content
  Element should be focusable

Environment: Microsoft Edge version 136.0.0.0
4
Title: WCAG 1.3.1: Ensure elements with an ARIA role that require child roles contain them (tbody)
Tags: Accessibility, WCAG 1.3.1, aria-required-children

Issue: Ensure elements with an ARIA role that require child roles contain them (aria-required-children - https://accessibilityinsights.io/info-examples/web/aria-required-children)

Target application: ***************

Element path: #k-8d34ce03-5f96-4632-b56a-ea5497e2d1e5 > kendo-grid-list > .k-grid-content.k-virtual-content > div[role="presentation"] > .k-grid-table > tbody

Snippet: <tbody kendogridtablebody="" role="rowgroup" class="k-table-tbody">

How to fix: 
Fix any of the following:
  Element has children which are not allowed: [role=gridcell]

Environment: Microsoft Edge version 136.0.0.0

Martin Bechev
Telerik team
 answered on 13 May 2025
0 answers
14 views

I have 2 Kendo Grids in my Angular application. In the 1st one, I use "virtual scrolling" because we have a lot of data (e.g. 10K records). The 2nd one is a "basic" Kendo Grid.

The functionality I want to achieve is to have the ability to "remove" (or hide - I don't know) the selected row from the 1st grid and add it to the 2nd one. The issue that I'm dealing with, is that if I transfer - let's say - 10-20 rows, when I start to scroll in my "virtual scrolling" grid, there is an annoying jump scrolling. I think that this "bug" is due to "hide" attribute that I'm adding to each removed row.

Virtual Scrolling Grid:

<kendo-grid
   #grid1 id="ours"
   (click)="onGridClick(0)"
   class="mb-1"
   [data]="gridViewN"
   [kendoGridBinding]="gridDataN"
   [skip]="skipN"
   [pageSize]="pageSizeNV"
   scrollable="virtual"
   [rowHeight]="24"
   [style.height]="'33%'"
   [rowClass]="rowCallback"
   [sortable]="sortSettings"
   [filterable]="'menu'"
   [loading]="isLoadingN"
   [navigable]="true"
   [resizable]="true"
   appGridCopy
   [selectable]="{ mode: 'single' }"
   [(selectedKeys)]="selectedRowInGrid[0]"
   kendoGridSelectBy="ID"
   (pageChange)="pageChange($event, 'N')"
   (sortChange)="sortChange($event, 'N')"
   (dblclick)="onDblRowClick(grid1, $event, 'N')"
   (keydown)="onKeyDown($event, grid1, 'N')"
   (filterChange)="filterChange($event)"
   (cellClick)="onCellClick($event)">

Move row with 'Enter' key:

onKeyDown(event: KeyboardEvent, grid: any, gridID: 'N' | 'V' | 'selected') {
    event.preventDefault();
    switch (event.key) {
        case 'Enter':
            if (gridID === 'N' || gridID === 'V') {
                this.addToSelectedTable(grid, gridID);
            }
            break;
        case 'Backspace':
            if (gridID === 'selected') {
                this.removeFromSelectedTable(grid);
            }
            break;
    }
}

addToSelectedTable(grid: any, gridID: 'N' | 'V') {
    let row = grid.activeRow.dataItem;
    let item: any;

    if (gridID === 'N') {
        item = this.gridDataN.find(x => x.ID === row.ID);
        this.lastPrevIndexN = this.gridViewN.data.findIndex(tempItem => tempItem.ID === item.ID);
        row.from = 'N';
    } else {
        item = this.gridDataV.find(x => x.ID === row.ID);
        this.lastPrevIndexV = this.gridViewV.data.findIndex(tempItem => tempItem.ID === item.ID);
        row.from = 'V';
    }
    if (item) {
        row.newId = this.activeRow;
        this.gridSelected.push(structuredClone(row));
        this.activeRow++;
        this.gridSelectedSort = this.gridSelected.slice(0);
        item.hide = true;
    }
    this.loadRows(gridID);
    this.getSelectedTotal();
    this.getNextRowInGrid(gridID);
}
Sotiris
Top achievements
Rank 1
 updated question on 12 May 2025
0 answers
16 views
I have a date list which is binding in kendo grid. I what to filter multiple date range like 1st January 2025 to 31st January 2025 and 1st May 2025 - 31st May 2025. Can kendo grid support multi date range filter? If support, then how to implement it.
1 answer
31 views
i have upgraded my app from angular 13 to 19 , in doing so i have also updated the kendo-ui components from 7 to 18 , but many CSS related changes are not intact and same espesically in @progress/kendo-angular-grid, how to fix these breaking changes?
Martin Bechev
Telerik team
 answered on 23 Apr 2025
0 answers
32 views

Hi, 

 

I have few questions regarding kendo grid, i have implemented kendo grid for three nested levels, in every level it has checkboxes, i want to do if i select the parent level checkbox, it should  expand its child and all child checkboxes should also selected, is it possible in kendo-grid??
if so do you have any demo link?

i have attached the image for you understanding, but in that it has only one level, in my case i have two nested levels

Thank you

Arun
Top achievements
Rank 1
 asked on 11 Apr 2025
0 answers
27 views
How we can filter Dates same like excel. I want to filter dates quarterly in kendo gird. Can we achieve it using kendo search? If achieve then how.
1 answer
46 views

After upgrading to angular 19 and kendo angular grid to version 17. it's throwing this error.

can't find this service in kendoAngular 17 version "PagerContextService!" Checkbox is also not showing in grid.

No provider for PagerContextService!

Zornitsa
Telerik team
 answered on 21 Mar 2025
1 answer
27 views

https://stackblitz.com/edit/angular-xqqm6evd?file=src%2Fapp%2Fapp.component.ts

 

I took the sample grid from the examples for Filter Menu, and then modified the UnitPrice to reflect a % instead of price.

 

I'm noticing something strange. When I try to filter, I need to filter on the raw value (so, for 4%, I need to filter on 0.04). This is fine and expected (although, bonus points if there is an option to have the filte reflect the display value, so user just needs to filter on "4").

 

However, when I start typing in 0.04, it seems that the filter component is resetting the field when enabling the "Filter" button if you're not fast enough. So, for example, you type in "0.0", the button enables, the component evaluates "0.0" and resets it to "0", losing the decimal. This is making it really frustrating to filter on these values.

If you do it fast enough, you can avoid this and filter as expected.

Any thoughts on how to fix this, or pereferably how to get it to filter based on the percentage itself?

Zornitsa
Telerik team
 answered on 19 Mar 2025
0 answers
26 views
kendo-grid-date-filter-menu
    #dateFilterMenu
    [column]="column"
    [filter]="filter"
    [filterService]="filterService"
>
</kendo-grid-date-filter-menu>

 

I am using the above date filter in a custom filter component. I want to have the 1st filter be gte, and the second fitler be lte. However, I cannot seem to get it to default this way - any default operator I give it applies to both filters

 

Ryan
Top achievements
Rank 1
Iron
 asked on 12 Mar 2025
1 answer
42 views
Using the Angular grid with a detail template for master-detail functionality, how can I disable the functionality and hide the plus sign on rows which have no child data to display?  I found a feature request from 2016 here: https://github.com/telerik/kendo-angular/issues/106 , but it does not appear to have been implemented as described given errors I get in the console.
Hetali
Telerik team
 answered on 03 Mar 2025
Narrow your results
Selected tags
Tags
+? more
Top users last month
Anislav
Top achievements
Rank 6
Silver
Bronze
Bronze
Jianxian
Top achievements
Rank 1
Iron
Marco
Top achievements
Rank 3
Iron
Iron
Iron
Jim
Top achievements
Rank 2
Iron
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Anislav
Top achievements
Rank 6
Silver
Bronze
Bronze
Jianxian
Top achievements
Rank 1
Iron
Marco
Top achievements
Rank 3
Iron
Iron
Iron
Jim
Top achievements
Rank 2
Iron
Iron
Nurik
Top achievements
Rank 2
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?