I am receiving the following ADA Compliance errors, when running a page scan for WCAG 2.1 AA:
Buttons must have discernible text: button.rcbActionButton
<button class="rcbActionButton" tabindex="-1" type="button">select</button>
Form elements must have labels: input.rcbInput.radPreventDecorate
<input name="ctl00$MainContent$MyCombo" type="text" class="rcbInput radPreventDecorate rcbEmptyMessage" id="ctl00_MainContent_MyCombo_Input" value="Search..." autocomplete="off"></input>
This is the component:
Hello -
I just updated my components to 2025.1.218, and am receiving the following ADA Compliance issues on a page scan. This is to conform to WCAG 2.1 AA. The component is the Ajax telerik:RadComboBox:
Buttons must have discernible text
<button class="rcbActionButton" tabindex="-1" type="button">select</button>
Form elements must have labels
<input name="ctl00$MainContent$ComboBox$NewCombo" type="text" class="rcbInput radPreventDecorate rcbEmptyMessage" id="ctl00_MainContent_ComboBox_NewCombo_Input" value="Search..." autocomplete="off"></input>
Component in .ascx file:
Please advise. Thanks!
Based on Ticket ID 1683806 it was suggested to add this here. It should be fairly straight forward and would resolve issues that I have.
My Suggestion:
Why can you not just add the clientEvents to the RadEditor1.FileExplorerSettings
Something like RadEditor1.FileExplorerSettings.ClientEvents.OnClientFileOpen="somefunction"
Your response.
Thank you for your suggestion to add client events directly to RadEditor1.FileExplorerSettings. It's a thoughtful idea that could indeed enhance client-side flexibility and streamline interactions.
At present, this feature is not available. However, we encourage you to submit it as a feature request through our public feedback portal, where our product team actively reviews community input for potential inclusion in future updates.
Also, please see my ticket for a bug in the ImageManager using th URL to return the item instead of the OriginalPath. This makes my custom content provider not feasible.
Thanks!
While trying to update to latest version of Telerik ASP.Net Ajax, we are getting following exception:
An error occurred while running the wizard.
Error executing custom action Telerik.Web.UI.VSX.Actions.MultiProjectUpdateReferencesAction: System.Runtime.InteropServices.COMException (0x80004005): This reference cannot be removed from the project because it is always referenced by the compiler.
at VSLangProj.Reference.Remove()
at Telerik.VSX.Internal.VisualStudio.VisualStudioThreadHelper.<>c__DisplayClass0_0.<<RunInMainThread>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.Threading.JoinableTask.CompleteOnCurrentThread()
at Telerik.VSX.Internal.VisualStudio.VisualStudioThreadHelper.RunInMainThread(Action action)
at Telerik.VSX.ProjectConfigurators.ApplicationReferenceManager.RemoveReferences()
at Telerik.VSX.ProjectConfigurators.ApplicationReferenceManager.UpdateReferences()
at Telerik.VSX.Actions.UpdateReferencesAction.UpdateReferences(IProjectWrapUIComponents projectWrap)
at Telerik.VSX.Actions.MultiProjectActionBase`1.Execute(WizardContext wizardContext, IPropertyDataDictionary arguments)
at Telerik.VSX.Actions.MultiProjectUpdateReferencesActionBase`1.Execute(WizardContext wizardContext, IPropertyDataDictionary arguments)
at Telerik.VSX.WizardEngine.ActionManager.ExecActions()
I would request to have the upgrade wizard handle it and show a graceful message instead of throwing the exception as it is doing right now.
Scenario description and workaround follow. Note the comments in the workaround and test before using, because it introduces some other unwanted behaviors, mostly related to the bottom/right edge of the zone. WORKAROUND 1: <div id="zone" style="width: 600px; height: 500px; background: yellow;"></div> <telerik:RadWindow runat="server" ID="rw1" RenderMode="Lightweight" VisibleOnPageLoad="true" Left="0" Top="0" RestrictionZoneID="zone"></telerik:RadWindow> <script> Telerik.Web.UI.Window.LightweightView.prototype._resizingHandler = function(resizable, args){ $telerik.cancelRawEvent(args.get_domEvent()); var edges = this.restrictBounds, bounds = this._getResizeBounds(args), borders = this.resizeHelper.borders, fullBounds = { x: bounds.x - borders.left,//originally, subtract y: bounds.y - borders.top,//originally, subtract width: bounds.width + borders.horizontal, height: bounds.height + borders.vertical}; //debugger //console.log(fullBounds); //changing the direction in which borders are counted above (+ or -) changes the behavior and the potential issues //if you subtract from the position, resizing will not be available next to the top/left border of the restriction zone //if you add to the position, resizing will be available but the user can resize in the direction of the zone bounds and thus, out of the bounds of the zone, so dragging may become unavailable //also, this will make resizing worse when the window touches the right or bottom of the zone var inContainer = this.window._checkRestrictionZoneBounds(edges, fullBounds); bounds.width = Math.max(resizable.options.constraints.minWidth, bounds.width); bounds.height = Math.max(resizable.options.constraints.minHeight, bounds.height); args.set_cancel(true); if(inContainer && this.touchCount++ > 0) { var style = this.ui.container.style; style.left = bounds.x + "px"; style.top = bounds.y + "px"; this._setWidth(bounds.width); this._setHeight(bounds.height); this._currentResizeBounds = bounds; } } </script> WORKAROUND 2: Add this to the resizeEnd and dragEnd events of the RadWindow to try and have it never touch the sides of the restriction zone at all. function keepThisWindowInBounds(sender) { if (!sender.isMinimized() && !sender.isMaximized()) { var position = sender.getWindowBounds(); var rzRect = document.getElementById(sender._restrictionZoneID).getBoundingClientRect(); // note rzRect height and width are both 1px bigger than the rzElement clientWidth and clientHeight // check width and height if (position.width > rzRect.width - 3) { position.width = rzRect.width - 3; sender.set_width(position.width); } if (position.height > rzRect.height - 3) { position.height = rzRect.height - 3; sender.set_height(position.height); } var needToMove = false; if (position.x < 1) { needToMove = true; position.x = 1; } else if (position.x > rzRect.width - position.width - 2) { needToMove = true; position.x = rzRect.width - position.width - 2; } if (position.y < 1) { needToMove = true; position.y = 1; } else if (position.y > rzRect.height - position.height - 2) { needToMove = true; position.y = rzRect.height - position.height - 2; } if (needToMove) sender.moveTo(position.x, position.y); } }
Please create a method that will convert the old expressions to new format and make them re-usable again.
One workaround is to remove nodes that are not visible, e.g., in the Page_Load event: RadNavigation1.Nodes.RemoveAll(x => !x.Visible); Another workaround is to remove the HTML of hidden nodes. Note that this will not affect the nodes collections and they will still be present. Invoking operations or methods on such removed nodes can cause errors. <telerik:RadNavigation runat="server" ID="RadNavigation1" OnClientLoad="OnClientLoad"> <Nodes> <telerik:NavigationNode Text="first"></telerik:NavigationNode> <telerik:NavigationNode Text="second" Visible="false"></telerik:NavigationNode> <telerik:NavigationNode Text="third"></telerik:NavigationNode> </Nodes> </telerik:RadNavigation> <script> function OnClientLoad(sender, args) { var nodes = sender.get_allNodes(); var indicesToRemove = []; for (var i = 0; i < nodes.length; i++) { if (nodes[i].get_element().style.display == "none") { $telerik.$(nodes[i].get_element()).remove(); } } } </script>
Using the set_enabled() method of the NumericTextBox doesn't disable/enable the TextBox properly:
<telerik:RadCheckBox runat="server" ID="CheckBox1" OnClientCheckedChanged="onClientCheckedChanged" Text="Enable/Disable" AutoPostBack="false" />
<telerik:RadNumericTextBox ID="RadNumericTextBox1" runat="server" />
function onClientCheckedChanged(sender, args) {
let numericTextBox = $find("<%= RadNumericTextBox1.ClientID %>");
let isChecked = args.get_checked();
numericTextBox.set_enabled(isChecked);
}
Accessibility Management Platform (AMP) reports that the Telerik Web Forms ComboBox has an attribute mismatch
This element has a mismatch between the value of its readonly and aria-readonly attributes
The following structure replicates the error
<telerik:RadComboBox ID="RadComboBox1" runat="server" EmptyMessage="Empty Message" EnableAriaSupport="true">
<Items>
<telerik:RadComboBoxItem Text="Item 1" />
<telerik:RadComboBoxItem Text="Item 2" />
<telerik:RadComboBoxItem Text="Item 3" />
<telerik:RadComboBoxItem Text="Item 4" />
</Items>
</telerik:RadComboBox>
I know its a long shot, but do you have anything that resembles the attached control.
Thank you
We have the latest update for Ajax installed today and have found an issue with the RadSpell control. If you type a value of 'tha' into a textbox/text area control that spell check will target, you will get an error 'Uncaught SyntaxError: Unterminated string in JSON' error in the console. This is able to replicated within the demo page of the Spell control.
Remove the text in the first textbox in this page and replace it with 'tha' and in the console you will see the error shoot off.
I am experiencing an issue in the Telerik Rad Editor where, after copying and pasting a long sentence in a single line, if I apply bold formatting to a word and place the cursor at the beginning of the bolded word, pressing Enter results in an empty line being inserted between the text. This behavior is reproducible on the Telerik webforms editor demo site as well.
I would appreciate any guidance on how to resolve this issue. Thanks in advance.
Hello All,
I'm using a couple of Radbuttons to enable users to download some forms (in Word). This has stopped working in Chromium based browsers for some reason (new Edge, Chrome). It still works in Internet Explorer. No errors in the browser DevTools and no error on the server either.
It also does not work in Cassini (VS2017).
Not sure where to go from here - can anyone confirm/deny?
TIA - Marcus.
code stub:
<telerik:RadButton ButtonType="LinkButton" RenderMode="Lightweight" ID="btnName" runat="server" Text="Button Text" CssClass="TemplBtn" NavigateUrl="~/assets/someform.docx">
<Icon PrimaryIconCssClass="rbDownload" />
</telerik:RadButton>