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.
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.
The Kendo-UI Diagram widget supports moving the whole diagram using the pan() method. However, the given offset does always have to be absolute.
Consider the following example:
The diagram is zoomed in and therefore not fully visible - assume a current offset of (-100, -100). The users should be able to pan using keyboard shortcuts. Whenever pressing one of the arrow keys, the diagram is moved in the corresponding direction by e.g. 50px:
If the user presses [ArrowRight], pan() needs to be called with an offset of (-50, -100).
If the user presses [ArrowUp], pan() needs to be called with an offset of (-100, -150).
However, since I do not know how much the diagram has already been moved, I cannot set the absolute offset required.
I have seen that pan() returns the current offset when being called without arguments, but this is not documented. Is this safe to use for that purpose or is there a better alternative? If yes, the documentation should be updated.
In the latest version of Kendo UI, various input controls like the NumericTextBox or the ColorPicker now consist of an input field and a button control (used for increasing/decreasing the value or opening the dropdown).
The border-radius for those widgets can be controlled by setting the "rounded" option. At the same time, when using SASS themes, a button's default border-radius might be set using the $kendo-button-border-radius variable. The buttons inside e.g. a NumericTextBox do not override the theme's border-radius which leads to an outcome like this:
Widgets that use Buttons internally (and therefore offer no way of overriding the button's border-radius by setting its "rounded" option manually) should override the default styles.
Unfortunately, I could not reproduce the behavior in a DOJO, because I cannot transpile SASS themes there.
If you create a grid with editable set to true, selectable set to one of the multiple options ("multiple, row" or "multiple, cell"), batch set to true and a column with editing disabled (either through the model or through the columns editable property), then when you update an editable cell and click the non-editable cell in the same row the "Save changes" and "Cancel changes" buttons do not appear.
See https://dojo.telerik.com/zAKmmTEU and attached example.html.zip
Notes:
Editable is disabled using a JavaScript function for UnitsInStock
{ field: "UnitsInStock", title: "Units In Stock", width: 120, editable: function() { return false; } },Editable is set to false in the schema model for Discontinued
Discontinued: { type: "boolean", editable: false },
In this example, if you change the value of a UnitPrice cell and then click one of the non-editable cells (UnitsInStock or Discontinued) in the same row, the UnitPrice cell will be marked as dirty, but the "Save changes" and "Cancel changes" buttons will not appear.
This appears to happen because of the following:
Stack trace:
n (kendo.all.min.js:9)See attached image.png for an example image.
Dear Team,
Currently, Telerik Smart Grid AI features rely on external AI services (e.g., OpenAI cloud). While this works well, customers who cannot use online services face challenges when trying to integrate local models (such as Ollama).
Since the Smart Grid already exposes its schema to the AI service, it would be highly beneficial if Telerik could provide at least one default AI service (hosted and managed by Telerik) that:
Works seamlessly with dynamic/auto-generated columns
Supports basic grid operations such as sorting, filtering, paging, highlighting, and grouping
Ensures compatibility with the Telerik.AI.SmartComponents.Extensions package
Rationale:
Many enterprise customers have restrictions on using cloud-based AI services and prefer local or vendor-hosted solutions.
A default AI service from Telerik would simplify integration, reduce configuration overhead, and guarantee compatibility with Kendo Grid features.
This would also ensure consistent behavior across environments without requiring customers to experiment with different local models.
Impact: This feature would significantly improve adoption of AI-powered grid functionality for customers with strict data policies, while ensuring a smooth developer experience.
Reference: For more details on the issue and context, kindly refer to the support ticket: Telerik Support Ticket #1707506 (https://www.telerik.com/account/support-center/view-ticket/1707506)
Thanks & Regards,
Hiren Lad
Hi Team,
While I understand there are release notes and breaking changes, I would like to request you consider adding some version information to the documentation. This would help identify when certain features were introduced.
Thank you!
When the Editor is used in ExpansionPanel and an image is dragged in the Editor an error is thrown, The issue is reproducible after the ExpansionPanel is collapsed and then expanded.
The image is displayed in a new tab and the following error appears: Cannot read property 'nodeType' of null
The image should be rendered in the Editor without errors in the console even after collapsing/expanding the ExpasnionPanel
When there is a DOM element with "page-break" class inside an element that is about to be exported to PDF, this "page-break" results in a new page in the reported PDF file.
If we hide the parent element in which the element with a "page-break" class is nested and export the content to PDF, in the result file, the content of the hidden DIV is not displayed but there are blank pages for each "page-break" class that can be found in the hidden element.
There are two blank pages at the beginning of the exported document. Each of these pages is a result of the "page-break" CSS classes inside the "#test" element
The "page-break" class should not result in the exported file if it is nested in a hidden element. Here is a Dojo demonstrating the correct behavior: https://dojo.telerik.com/iZAXiZEz
When a text with background color set is made bold and copy/pasted, the background color is not being preserved.
The issue can be reproduced on the following Dojo example.
Steps to reproduce:
Dojo example.
Drawing does not export the content. This is due to the img tags having a loading="lazy" attribute.
The images are exported. The attribute should be stripped if needed.
If you create a spreadsheet in excel and just have the below formula - it locks up when you activate the sheet.
Or if you use the kendo spreadsheet and paste this into a cell, it also locks up.
Bug report
When using the raw JavaScript files from the src\src\dist\raw-js folder (included directly via <script> tags), the Kendo UI version (kendo.version) always returns 0.0.0, and the package metadata in kendo.all.js has the version field hardcoded to 0.0.0.
Reproduction of the problem
1. Download Kendo UI for jQuery commercial distribution.
2. Use the files from the following path:
`src\src\dist\raw-js\`
3. Include kendo.all.js (and other scripts) directly in an HTML page using <script> tags.
4. Include a valid license key using:
`KendoLicensing.setScriptKey("your-license-key");`
5. Run the application and inspect the console.
Call: console.log(kendo.version);
Result: The version displayed is "0.0.0".
Current behavior
kendo.version returns "0.0.0".
_parsedPackageMetadata in kendo.all.js shows:
version: '0.0.0'
Expected/desired behavior
Environment
Kendo UI version: 2025.3.1002
Browser: [all ]
Please make the speech to text button/suffix of a kendo textarea available via mvvm. Also speech to text button to come standard as a tool in the kendo editor.
When I add a minimum or maximum value to the date picker, the control allows out-of-range dates to be entered until the dateInput option is set to true. At that point, any out-of-range date will be set to either "min" or "max." The change event will not be called for that change.
This would be perfect:
We have noticed a serious performance issue in the TreeList control which I have confirmed in the latest version in this Dojo: https://dojo.telerik.com/aNuKanAG. This Dojo is a based on the TreeList in-cell editing demo from your website.
I was trying to figure out if there was any good reason for this. In the Dojo above all data are nested under a single parent. So, I created another Dojo but this time there are two separate parent groups: https://dojo.telerik.com/OcEmAgIz. This Dojo is based on the Binding to local data demo from your website.
The problem here is that these re-renders are very expensive. Imagine if the call to console.log was instead something else that might need a bit of computation time to complete.
The simple act of expanding and collapsing a group from an unrelated part of the tree, or simply opening and closing an editable cell should not result in the entire tree being re-rendered. This is a serious performance issue, and seems completely unnecessary.
What I have demonstrated in the Dojos I created is that Kendo is re-rendering the ENTIRE structure. The goal of this feature would be to rerender only the specific cells of the treelist that have been impacted by an edit.
Currently, the Kendo UI RangeSlider provides a single-colored track (.k-slider-track) with a separate style applied only to the selected range. However, in many modern design requirements, there is a need to split the track into multiple colored sections (e.g., 3 or more segments with different colors) to visually represent thresholds, ranges, or categories.
Example Use Cases:
Displaying low, medium, and high ranges with green, yellow, and red colors.
Visualizing different risk or performance levels directly on the slider track.
Providing a better UI experience by mapping ranges to business values.
Requested Feature:
Add native support to configure multiple color segments within the RangeSlider track (either via configuration options or styling hooks). Ideally, developers should be able to specify:
Number of segments.
Color for each segment.
Segment boundaries (percentage or value-based).
Workarounds Tried:
Custom CSS overlays and pseudo-elements can partially simulate the effect, but they are not reliable or fully aligned with the slider’s rendering behavior.
Impact:
This feature would enhance usability and visualization, making the RangeSlider more flexible for dashboards, financial apps, performance monitoring, and other business-critical UI scenarios.
Reference:
Please find an attached image illustrating the requested multicolored track (example with 3 segments: green, yellow, and red).
We have a column in our grid bound to a complex JSON object. When a different column's value is changed, we need to change the nested properties in the complex JSON object.
To do this, in the grid's Save event, we are calling model.set("theComplexObject.NestedProperty", newValue). However, doing this does not automatically update the UI for that row's cell. Furthermore, it never seems to mark the column dirty. Manually calling grid.refresh() will fix the issue, but the grid we are working on has a lot of columns and it adds a performance hit.
This approach works for all of our other columns that do NOT use complex objects. They correctly show the dirty flag and new model value after the save operation completes.
Below is a Dojo example with the save event wired up and a complex name column. It's worth mentioning that the dirty flag also doesn't appear to be working on the eye color column. This may be another bug introduced in a newer version of Kendo.
https://dojo.telerik.com/ZHkxwJee
We would like the ability to execute custom actions once a control has been fully initialized and rendered.
Use Case
On our login page, we use the Form control. After the Form control is created, we need to reposition our SSO buttons so that they appear beneath the default buttons rendered by the form. Without a reliable event, it is difficult to determine when the control is ready for safe modification.
Proposed Solution
Introduce a Created event (or similar) that is triggered once the control is fully rendered. This event would provide a hook for developers to perform additional UI adjustments or integrate custom functionality.
Reference
Syncfusion ASP.NET Core controls provide this functionality through a Created event.