We use the KendoUI for jQuery framework in the enterprise SaaS application we create. Giving our clients access to their data and being able to provide a mechanism where a client could build out some of their own functionality on our Saas platform (ie accessing the Data, webservices etc) is highly desirable.
Our front end is based on a MicroUI approach, so if the client can vibecode building a new microUI, the UI experience with the other microUI we provide would be seamless. Examples might be: Create a Scheduler view showing all the European Holidays in 2026, or create a grid view populated with all the customers who have not transacted in 2025 and show their linkedin link/profile.
We can easily wrap any vide coded application into our application now using the microUI approach, but what we dont get is the same look and feel, themes and components being used. It is this we are looking to solve.
I am currently using the ANDI accessibility tool and have encountered an accessibility issue with the tooltip icons across my application.
The tool reports an "Aria-Hidden Alert" stating: "Element is focusable but has or is contained by [aria-hidden = true]." The tool also reports as "Keyboard Access Alerts" which states" "Focusable element is not in keyboard tab order; should it be tabbable"?
The HTML for these elements shows aria-hidden = true and focusable = false. I believe the focusable attribute should be set to true.
I have attempted to resolve this using JavaScript to directly removing aria-hidden = true and changing focusable to true. However, there is no built-in configuration in Kendo UI for ASP.NET MVC to customize these accessibility attributes for tooltip icons therefore it didn't work.
Can you make the icons customizable?
I am including a screenshot of the code.
To reproduce :
go to official dojo https://dojo.telerik.com/PfhfyBzh
select all text (ctrl+A) (or select text with image at the same time with mouse)
Start dragging the selection
---> the error occurs (check console devTools)
Uncaught TypeError: Cannot read properties of undefined (reading '_destroyResizeHandles')
The error occurs here :
let fe = u.extend({
create: function(e) {
let t = this;
a(e.body).on(`dragstart` + S, function() {
var t = x.nodes(e.getRange())
, n = !1;
t.forEach(function(e) {
e.nodeName === `IMG` && (n = !0)
}),
n && t.length > 1 && e.elementResizing._destroyResizeHandles()your algorithm find one image in the selection and assume we are resizing and try to call "_destroyResizeHandles"
I think you should test before calling this method so it should be :
n && t.length > 1 && e.elementResizing && e.elementResizing._destroyResizeHandles()
The @progress/kendo-ui npm package creates the following dependency tree:
@progress/kendo-ui 2026.1.415
|
- @progress/kendo-pdfviewer-common ^0.6.4 -> 0.6.4
|
- pdfjs-dist 4.6.82 -> 4.6.82
|
- canvas ^2.11.2 -> 2.11.2
|
- @mapbox/node-pre-gyp ^1.0.0 -> 1.0.11
|
- tar ^6.1.11 -> 6.2.1All packages have been updated to the latest version possible.
Versions <= 7.5.10 of tar have multiple known vulnerabilities:
I am using the Kendo-UI Grid's resizeColumn method do change column widths programmatically (e.g., to distribute column widths by our own custom rules). I have noticed that doing so sometimes leads to unexpected results as demonstrated in this DOJO:
Assume a grid with two columns: one has a fixed size of 200px and the other has no explicit width set.
In the first example, we programmatically set the first column's width to 200px (which should not change anything since the column already is 200px wide.
grid.resizeColumn(column, 200);This works as expected.
In the second example, we programmatically set the first column's width first to 20px and then immediately to 200px. I would expect the final outcome to be the same, since the second column should compensate.
grid.resizeColumn(column, 20);
grid.resizeColumn(column, 200);However, the second column does not shrink and the overall grid grows larger instead. Doing this repeatedly causes the columns to grow larger and larger over time.
Of course, this is a simplified example and I do not call resizeColumn() twice right after each other.
In Kendu UI 2026 Q2 (version 520) file kendo.all.d.ts
The interface IChatOptions has a duplicate defintion for the messageTemplate
Line 3849:
messageTemplate?: MessageTemplateFunction | null;Lines 3916/3917
/** Template for rendering individual messages */
messageTemplate?: MessageTemplateFunction | null;
Errors during build process:
(replace-metadata plugin) [SOURCEMAP_BROKEN] Sourcemap is likely to be incorrect: a plugin (replace-metadata) was used to transform files, but didn't generate a sourcemap for the transformation. Consult the plugin documentation for help: https://rolldown.rs/guide/troubleshooting#warning-sourcemap-is-likely-to-be-incorrect
There should be no errors
1716119
Follow the stpes described in the link below:
When running the npm run build error appear Cannot find package 'glob' imported from …..\kendoui.for.jquery.2026.3.811.source\src\rolldown.config.mjs
There should be no error and the kendo scripts should be built as expected.
Following the commands in the following article
https://www.telerik.com/kendo-jquery-ui/documentation/intro/installation/ecmascript
and the steps for version after February 2026 - https://www.telerik.com/kendo-jquery-ui/documentation/intro/installation/ecmascript
when running npm run scripts: custom command or npm run build: custom an error is thrown:
Error: spawn npx ENOENT
at ChildProcess._handle.onexit (node:internal/child_process:287:19)
at onErrorNT (node:internal/child_process:525:16)
at process.processTicksAndRejections (node:internal/process/task_queues:90:21)
Emitted 'error' event on ChildProcess instance at:
at ChildProcess._handle.onexit (node:internal/child_process:293:12)
at onErrorNT (node:internal/child_process:525:16)
at process.processTicksAndRejections (node:internal/process/task_queues:90:21) {
A custom folder containing a custom script wth only the needed components should be created.
Product: Kendo UI for jQuery — TreeList (also related Grid issues below)
Version: 2026.2.520 (2026 Q2), jQuery 3.5.1
Browser / AT: Google Chrome 155 (Windows 11) with NVDA (latest)
Severity: Accessibility (WCAG 2.2 SC 1.3.1 Info and Relationships)
Summary
In a TreeList that has a locked column, NVDA announces the locked column's header instead of the current column's header when keyboard focus moves to a cell in the scrollable part.
A Grid with the same layout (locked column + scrollable columns + hidden columns) is announced correctly, so the problem seems specific to how the TreeList builds its accessible table (`role="treegrid"` with rows assembled through `aria-owns`).
Here is a Dojo showing the issue: https://dojo.telerik.com/QYJCWJUj
Steps to reproduce
1. Create a TreeList with `navigatable: true`, one or more locked columns (including a hidden locked column) and several unlocked columns (sample here).
2. Open it in Chrome with NVDA running.
3. Click a cell in the first unlocked column ("April"), or Tab into the TreeList and use the arrow keys to reach it.
Expected
NVDA announces the cell, its row and its own column header, e.g.:
`0 / 8, row 2, April, column 2`
Actual
NVDA announces the locked column's header and wrong column number:
`0 / 8 April row 2 Hierarchy column 4`
<div id="treelist"></div>
<script>
$("#treelist").kendoTreeList({
navigatable: true,
height: 300,
dataSource: {
data: [
{ id: 1, parentId: null, name: "Region A", apr: "0 / 8", may: "1 / 8", jun: "2 / 8", jul: "3 / 8" },
{ id: 2, parentId: 1, name: "Store 1", apr: "0 / 2", may: "1 / 2", jun: "2 / 2", jul: "2 / 2" }
],
schema: { model: { id: "id", parentId: "parentId", expanded: true } }
},
columns: [
{ field: "id", title: "Id", hidden: true, locked: true, width: 80 },
{ field: "name", title: "Hierarchy", locked: true, width: 220 },
{ field: "mar", title: "March", hidden: true, width: 120 },
{ field: "apr", title: "April", width: 120 },
{ field: "may", title: "May", width: 120 },
{ field: "jun", title: "June", width: 120 },
{ field: "jul", title: "July", width: 120 }
]
});
</script>Moving right through the unlocked columns keeps announcing "Hierarchy" as the column header. The correct header is only heard because each cell's `aria-describedby` points to its header cell.
What we checked in the DOM
- The `role="treegrid"` table owns the `thead` and `tbody` row groups (`aria-owns`).
- The header row and every data row each own the same number of cells (locked cells first, then scrollable cells) in the same order. No element is owned twice.