The Bold, Italic, Underline, Justify, Indent, Outdent and other commands are not localized in the Undo/Redo dropdowns. Screenshots:Can be seen at http://demos.telerik.com/aspnet-ajax/editor/examples/localization/defaultcs.aspx.
Hi!
I use .resx file to change Gantt labels with italian translation.
Everything works as expected with the exception of the assign resources button in advanced form (see attachment).
I tried to set declaratively with the Localization-AdvancedAssignResources property but it doesn't work.
Thanks in advance.
Mattia
When AutoSize is enabled on a RadWindow, the calculated width and height of the window can be larger than the actual content requires. The extra size appears as dead space around the content, on the right side for width and at the bottom for height, and is most noticeable when the content or its wrapping container has its own padding or border.
Steps to reproduce:
Result:
The RadWindow is wider and/or taller than necessary. The extra space is not evenly distributed and shows up as unexpected empty space next to or below the content.
Expected:
The RadWindow width and height should match the actual content size, with the same behavior as before the 2026 Q1 release.
The built-in commands in the RadSpreadsheet context menu does not execute. Commands such as Delete Row, Delete Column, Hide Row, and Unhide Row/Column appear in the context menu, but clicking them has no effect.
The issue is reproducible in the official demo site.
Steps to reproduce
Actual result
The menu closes, but the selected built-in command is not executed.
Expected result
The selected command should execute and update the spreadsheet, for example, deleting the selected row or column or changing its visibility.
If both the CSRF validation and the Session state is turned off, the pages containing AsyncUpload control will throw a null reference exception.
<appSettings>
<add key="Telerik.AsyncUpload.EnableCsrfValidation" value="false" />
</appSettings>
<system.web>
<sessionState mode="Off" />
Summary When a RadPane has Scrolling="Y" (or X/Both) and also has BorderWidth, BorderStyle, BorderColor set (either directly on the pane or via the parent RadSplitter's PanesBorderSize), the pane's inner scrollbar does not render/work correctly. The space reserved for the scrollbar remains in the layout, but the scrollbar itself is missing or non-functional, effectively making the pane's content unscrollable.
Steps to Reproduce
Expected behavior The pane's scrollbar should render correctly and remain functional regardless of BorderWidth/BorderStyle/BorderColor/PanesBorderSize settings.
Actual behavior Scrollbar space is reserved but the scrollbar is missing/non-functional when a border is applied to the pane.
------------------- AI Summary -------------------
We upgraded Telerik UI for ASP.NET AJAX from version 2026.2.708 to 2026.3.812, with no changes to our navigation menu code. Our RadPanelBar menu is populated server-side via DataBind() using a SiteMapDataSource (no client-side population). Since the upgrade, clicking a menu item frequently does not navigate to its URL: the menu shifts vertically, the clicked item is not selected, and no navigation occurs. This is impacting customers’ ability to use our site.
--------------- End of AI Summary ---------------
We are requesting assistance to troubleshoot and resolve this issue as quickly as possible. This problem is causing significant usability issues.
Telerik UI for ASP.NTE AJAX nuget package adds ChartImage handler configs to Web.Config (system.web/httpHandlers and system.webServer/handlers) even though it does not support RadChart any more.
Also it seems to mess system.webServer/handlers configuration by adding remove actions for other Telerik handlers AFTER add actions.
system.web/httpHandlers before:
<httpHandlers> <add path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" validate="false" /> <add path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" validate="false" /> <add path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" validate="false" /> <add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false" /> </httpHandlers>
system.web/httpHandlers after:
<httpHandlers> <add path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" validate="false" /> <add path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" validate="false" /> <add path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" validate="false" /> <add path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" validate="false" /> <add path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" validate="false" /></httpHandlers>
system.webServer/handlers before:
<handlers> <add name="Telerik_Web_UI_SpellCheckHandler_axd" path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" preCondition="integratedMode" /> <add name="Telerik_Web_UI_DialogHandler_aspx" path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" preCondition="integratedMode" /> <add name="Telerik_RadUploadProgressHandler_ashx" path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" preCondition="integratedMode" /> <add name="Telerik_Web_UI_WebResource_axd" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" preCondition="integratedMode" /> </handlers>
system.webServer/handlers after:
<handlers> <add name="Telerik_Web_UI_SpellCheckHandler_axd" path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler" verb="*" preCondition="integratedMode" /> <add name="Telerik_Web_UI_DialogHandler_aspx" path="Telerik.Web.UI.DialogHandler.aspx" type="Telerik.Web.UI.DialogHandler" verb="*" preCondition="integratedMode" /> <add name="Telerik_RadUploadProgressHandler_ashx" path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler" verb="*" preCondition="integratedMode" /> <add name="Telerik_Web_UI_WebResource_axd" path="Telerik.Web.UI.WebResource.axd" type="Telerik.Web.UI.WebResource" verb="*" preCondition="integratedMode" /> <remove name="ChartImage_axd" /><remove name="Telerik_Web_UI_SpellCheckHandler_axd" /><remove name="Telerik_Web_UI_DialogHandler_aspx" /><remove name="Telerik_RadUploadProgressHandler_ashx" /><remove name="Telerik_Web_UI_WebResource_axd" /><add name="ChartImage_axd" path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler" verb="*" preCondition="integratedMode" /></handlers>
Regression introduced in: 2025.4.1111
When RadEditor is in HTML mode, calling get_html() without parameters modifies self-closing tags in the returned content.
According to the documented API behavior, the RadEditor client filters should modify the returned content only when the isFiltered argument is set to true. However, the content is currently passed through browser DOM serialization even when filtering is not requested. This normalizes HTML void elements and removes the XHTML self-closing slash.
Steps to reproduce
<img alt="" src="image.png" />
Actual result
The returned markup is modified and the self-closing slash is removed:
<img alt="" src="image.png">
Expected result
When filtering is not requested, the content entered in HTML mode should be returned without filter-related DOM serialization:
<img alt="" src="image.png" />
Calling editor.get_html(true) may modify the returned content according to the enabled RadEditor client filters.
Impact
Applications that store, compare, validate, or further process XHTML-compatible markup may receive content different from the source entered by the user. This can affect integrations that rely on self-closing tag syntax.
Hovering over the RadMenu sub-item toggle arrow icon does not expand its sub-item.
Can be reproduced with the following configuration:
<telerik:RadMenu ID="RadMenu2" _OnClientLoad="OnClientLoad" runat="server" RenderMode="Auto" ShowToggleHandle="true">
<Items>
<telerik:RadMenuItem Text="Main Menu">
<Items>
<telerik:RadMenuItem Text="Item 1">
<Items>
<telerik:RadMenuItem Text="Sumbenu 1"></telerik:RadMenuItem>
<telerik:RadMenuItem Text="Sumbenu 2"></telerik:RadMenuItem>
</Items>
</telerik:RadMenuItem>
<telerik:RadMenuItem Text="Item 2">
<Items>
<telerik:RadMenuItem Text="Sumbenu 3"></telerik:RadMenuItem>
<telerik:RadMenuItem Text="Sumbenu 4"></telerik:RadMenuItem>
</Items>
</telerik:RadMenuItem>
</Items>
</telerik:RadMenuItem>
</Items>
</telerik:RadMenu>
Workaround:
<script>
var menuItem = null;
function OnClientLoad(sender) {
$telerik.$(".rmToggle,.rmToggle *").on("mouseover", ExpandMenu);
}
function ExpandMenu() {
var item = $telerik.$(this).closest('.rmItem')[0]._item
if (!item.get_isOpen()) {
item.open()
}
}
</script>
When tabbing from first PanelBar to the second one it neither passes through the contentTemplate elements, nor to the second panelbar:
<telerik:RadPanelBar runat="server" ID="radPnlBarFundingSources" Width="100%" ExpandMode="MultipleExpandedItems" TabIndex="1">
<Items>
<telerik:RadPanelItem runat="server" Text="Funding Source">
<ContentTemplate>
<telerik:RadListBox runat="server" ID="radLbAvailFundingSource" Height="100px" Width="40%" SelectionMode="Multiple" AllowTransfer="true" TransferMode="Move" AllowTransferOnDoubleClick="true" TransferToID="radLbSelFundingSource" ButtonSettings-AreaWidth="35px" Enabled="True" style="font-family: Verdana, Trebuchet MS,Arial,sans-serif; font-size:0.9em;"></telerik:RadListBox>
<telerik:RadListBox runat="server" ID="radLbSelFundingSource" Height="100px" Width="40%"></telerik:RadListBox>
</ContentTemplate>
</telerik:RadPanelItem>
</Items>
</telerik:RadPanelBar>
</div>
<div class="Row">
<telerik:RadPanelBar runat="server" ID="radPnlBarContracts" Width="100%" TabIndex="2">
<Items>
<telerik:RadPanelItem runat="server" Text="Contract">
<ContentTemplate>
<telerik:RadListBox runat="server" ID="radLbAvailContract" Height="100px" Width="40%" SelectionMode="Multiple" AllowTransfer="true" AllowTransferOnDoubleClick="true" TransferToID="radLbSelContract" AutButtonSettings-AreaWidth="35px"></telerik:RadListBox>
<telerik:RadListBox runat="server" ID="radLbSelContract" Height="100px" Width="40%"></telerik:RadListBox>
</ContentTemplate>
</telerik:RadPanelItem>
</Items>
</telerik:RadPanelBar>
The RadEditor Add Link dialog uses HTML tables for layout, but the tables are exposed with data-table semantics.
The dialog contains:
Because these tables are used to arrange form fields and buttons rather than display tabular data, screen readers and automated accessibility tools may interpret them as data tables. The hidden headers are removed from the accessibility tree and do not provide useful table semantics. The nested table may also result in redundant or confusing table announcements.
This causes WCAG 2.1 accessibility findings related to table semantics, including F49 and F91 under Section 508.
RadGrid’s SEO Paging activates for normal users in the latest Brave browser, because sessions are misclassified as crawlers (Request.Browser.Crawler evaluates to true).
Even with PagerStyle.EnableSEOPaging set to False, SEO paging still turns on due to crawler detection, and ask whether the legacy Request.Browser.Crawler approach should be removed for ASP.NET WebForms in Telerik.
When EnableSEOPaging is True, query string paging is always used, but when False, the grid still enables SEO paging upon crawler detection, which is being incorrectly triggered in Brave.
Images with "*.jpeg" extension are saved as "*.jpg" in a different file even if the "Overwrite" option is checked.
Steps to reproduce:
1. Open an image with "*.jpeg" extension in ImageEditor (e.g. test.JPEG)
In version 2026.1.218.462 the Grid cannot scroll vertically. To work around it, you can overwrite the built-in function used for scrolling:
<script type="text/javascript">
Sys.Application.add_init(function () {
Telerik.Web.UI.GridScrolling.prototype._createTouchScrollExtender = function (toCreate) {
var contentElement = this._owner.GridDataDiv;
if (contentElement) {
var control = this._dropDownTouchScroll;
if (control) {
if (!toCreate) {
control.dispose();
this._dropDownTouchScroll = null;
}
} else if (toCreate) {
this._dropDownTouchScroll = new Telerik.Web.UI.TouchScrollExtender(contentElement);
this._dropDownTouchScroll.initialize();
if (this.AllowScroll) {
contentElement.style.overflow = 'auto';
}
}
}
};
});
</script>
OnClientModeChange event is not fired in Mobile RenderMode.
Steps to reproduce:
Run the following code in a mobile Chrome (or mobile emulation) and click the edit Pencil button that switches the edit modes:
<script type="text/javascript">
function OnClientModeChange(editor, args) {
var mode = editor.get_mode();
switch (mode) {
case 1:
alert("We are in Design mode");
//do something
break;
case 2:
alert("We are in Html mode");
//do something
break;
case 4:
alert("We are in Preview mode");
//do something
break;
}
}
</script>
<telerik:RadEditor runat="server" OnClientModeChange="OnClientModeChange" ID="RadEditor1" RenderMode="Auto">
</telerik:RadEditor>
The Delete and Backspace buttons remain enabled in spell check mode, allowing the client to delete selections inside the Editor's content area. Steps to reproduce: 1. Open http://demos.telerik.com/aspnet-ajax/editor/examples/spellchecker/defaultcs.aspx 2. Click the Spell check icon 3. Select several words from the content and press Backspace/Delete Result: The selected content is deleted Expected: The Delete/Backspace button press is ignored