Test Environment:
OS: Windows_11
Actual Behavior:
Focus moves on non-interactive controls.
Expected Behavior:
Focus shouldn't go to the non-interactive element in table content.
Test Environment:
OS: Windows_11Repro Steps:
6. Observe an issue that 'Month' control on 'Calendar' popup is not accessible using keyboard.
'Click to book' and header controls are not accessible using keyboard.
1. Open URL: SMB Scheduler (agentcalendardevone.azurewebsites.net) page in Edge Browser.
2. Provide valid 'Email address' in text field and activate 'Book New Appointment'.
3. Select any 'Time Zone' in dropdown and click 'View Available appointments' button.
4. Navigate to the table content.
5. Observe the issue that the controls in the table such as ("<", ">", "Today", calendar widget, "Week", "Click to the book") does not receive keyboard focus.
Actual Behavior:
'Month' Control on 'Calendar' popup is not accessible using keyboard.
Expected Behavior:
Control(s) must be accessible to Bluetooth keyboards and other assistive technology. Common causes of this problem include a) the element does not have a proper role assigned, b) the element needs tab-index="0" attribute to be focusable, or c) the component is not registering key presses.
Hello,
I'm facing JavaScript issues after enabling "Telerik.ScriptManager.EnableHandlerEncryption" on Web.config,
I've just followed Encrypt Telerik WebResource Querystring in order to hide the Telerik version.
After this the RadMenu breaks when i do a PostBack action (by pressing a button), the console outputs the same error when hovering a RadMenuItem and the submenus has stop being displayed.
The console error:
Uncaught TypeError: Cannot read properties of null (reading 'apply')
at Type.callBaseMethod (Telerik.Web.UI.WebRe...=:6:7353)
at c.RadMenuItem._createChildControls (Telerik.Web.UI.WebRe...=:5300:49)
at c.RadMenuItem._ensureChildControls (Telerik.Web.UI.WebRe...=:2770:72)
at c.RadMenuItem._getChildren (Telerik.Web.UI.WebRe...=:2768:32)
at c.RadMenuItem.get_items (Telerik.Web.UI.WebRe...=:3552:36)
at c.RadMenuItem._onItemMouseOver (Telerik.Web.UI.WebRe...=:4159:8)
at Telerik.Web.UI.EventMap._onDomEvent (Telerik.Web.UI.WebRe...=:3289:6)
at HTMLDivElement.<anonymous> (Telerik.Web.UI.WebRe...=:6:307)
at HTMLDivElement.b (Telerik.Web.UI.WebRe...=:623:53)
I've tested this error with version 2020.2.617.45 and 2022.3.913 but the same problem.
Looking in the forum i've found this post with a related issue also a reply has a reference to a private feedback and this last one seems to be the same or almost the same problem, so i've tried to follow the workaround on "global.asax" file and "Page_Load" on the master page without luck.
The steps i've follow:
I'd like to have another way to workaround this in order to make RadMenu work properly again and keep Telerik version hidden.
Regards
Hi,
Heres a simple one: I have a dynamic grid `MasterTableView.EnableColumnsViewState = false;` on page init and all works fine. However, when the client/browser show a dynamic column thats hidden (or vise versa), and the column is gone on postback (being a dynamic grid this can happen), the LoadClientState tries to get the column - and if it fails to, it breaks down hard.. Instead it should just ignore it, as its just a pretty un-important show/hide state.
Your RadGrid code goes something like this:
LoadClientState ->
if (clientState.ContainsKey("showedColumns")) ->
control.GetColumn(columnUniqueName).Display = true; <-- just ignore this if not found - also on the others like hide, resize etc.
Thank you!... +1 for making this html editor a MD flavor instead :)
/Anders
TEST ENVIRONMENT
OS: Windows_11Screen Reader: NVDA (2021.3)
REPRO STEPS:
1. Open URL Telerik Web UI Grid Overview Demo | Telerik UI for ASP.NET AJAX page in edge browser and turn on NVDA.
2. Navigate to next/previous controls in browse mode on the over view page.
3. Observe the issue.
ACTUAL RESULTS:
In browse mode, name property is not announced by the screen reader for next/previous buttons.
EXPECTED RESULT:
In browse mode, Screen reader should announce a name p:roperty 'First, Next, Previous and Last page' for the controls.
When we are trying to crop the image when CanvasMode is set to "No", Instead of the position from where the image must be cropped, it is cropping the image from coordinates (0,0) i.e. from the top left corner.
Also, we are getting the issue in only some of the files. We are able to edit other files.
Pasting plain text content from notepad or other text editor into the RadEditor control (design view) results in container HTML tags adding to the content and inline styles that make the text unreadable.
Content pasted:
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut placerat orci nulla pellentesque dignissim enim sit. Diam quam nulla porttitor massa id neque. Ipsum suspendisse ultrices gravida dictum fusce ut. Sed odio morbi quis commodo odio aenean. Sed faucibus turpis in eu mi bibendum neque egestas congue. Sed pulvinar proin gravida hendrerit. Cras semper auctor neque vitae tempus. Nisi porta lorem mollis aliquam ut porttitor leo a diam. Quis vel eros donec ac odio tempor. Tellus in metus vulputate eu scelerisque felis imperdiet proin. Et ligula ullamcorper malesuada proin libero nunc consequat interdum. Neque viverra justo nec ultrices.
Result in RadEditor:
<div class="telerik_paste_container" style="border-width: 0px; position: absolute; overflow: hidden; margin: 0px; padding: 0px;">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut placerat orci nulla pellentesque dignissim enim sit. Diam quam nulla porttitor massa id neque. Ipsum suspendisse ultrices gravida dictum fusce ut. Sed odio morbi quis commodo odio aenean. Sed faucibus turpis in eu mi bibendum neque egestas congue. Sed pulvinar proin gravida hendrerit. Cras semper auctor neque vitae tempus. Nisi porta lorem mollis aliquam ut porttitor leo a diam. Quis vel eros donec ac odio tempor. Tellus in metus vulputate eu scelerisque felis imperdiet proin. Et ligula ullamcorper malesuada proin libero nunc consequat interdum. Neque viverra justo nec ultrices.</div>
See accompanying screenshots.
There is a problem in Safari on Mac while selecting Table cell properties via the context menu when a table cell is selected. Its Wrongly selected in the Table Wizard window. Reproduction steps: - Load the default demo in Safari Mac: http://demos.telerik.com/aspnet-ajax/editor/examples/overview/defaultcs.aspx - Right click over the third cell in the second column ("Los Gigantes is located...") and choose Cell Properties. - The Preview of the Cell Properties in the Table Wizard will show that the first cell is selected but not the right one.
For a better description of the issue and reproduction steps, please view the ticket: http://www.telerik.com/account/support-tickets/view-ticket?threadid=1010438 If a user clicks 'Ignore All' for a misspelled word, the focus moves to the next misspelled word after the last word included in the ignore all list. This becomes problematic when editing a large quantity of text and the user's trying to go through things in order, but the focus moves to the very bottom of the content area. In MS Word, it works as our users expect it would. Once 'Ignore All' is chosen, the very next misspelled word is highlighted.
Inserting a new line after a link typically adds a new line and removes the copied link. However, this does not work when paragraph is about to be split. For the time being you can override the _nodeInsertedHandler method to resolve the bug as in this example: <telerik:RadEditor runat="server" ID="RadEditor1"> <Content> <p><a href="http://www.telerik.com" >link</a>text</p> </Content> </telerik:RadEditor> <script> Telerik.Web.UI.Editor.InsertParagraphCommand.prototype._nodeInsertedHandler = function (args) { var command = this, cursor = args.get_cursor(), container = args.get_container(), isEmptyContainer = command._isEmptyContainer(container, cursor), $E = Telerik.Web.UI.Editor, utils = $E.Utils; var parentAnchor = utils.getElementParentByTag(cursor, "A"); if (command._isEmptyContainer(parentAnchor, cursor)) command._removeNode(parentAnchor); if (isEmptyContainer) { if (command.get_editor().get_enableTrackChanges()) { var tcUtils = $E.TrackChangesUtils, parentTrackedInsert = tcUtils.getParentTrackChangesInsertNode(cursor, container), parentTrackedDelete = tcUtils.getParentTrackChangesDeleteNode(cursor, container); command._removeNode(parentTrackedInsert); command._removeNode(parentTrackedDelete); } } }; </script>
It is a common scenario users to start selecting text and accidental trigger mouseup event outside of the content area. Still, the focus is inside RadEditor and InlineEditCompleted event should not fire. Possible workaround: <telerik:RadEditor runat="server" ID="RadEditor1" EditType="Inline" OnClientLoad="OnClientLoad" OnClientInlineEditCompleted="OnClientInlineEditCompleted"> <Content> some text </Content> </telerik:RadEditor> <script> function OnClientInlineEditCompleted(sender, args) { if (sender._editCompleted) { alert("Fired!"); } } function OnClientLoad(sender, args) { $telerik.$(document).on("mouseup", function (e) { if (e.target === sender.get_contentArea() || e.target === sender.get_textArea()) { sender._editCompleted = true; } }) $telerik.$(document).on("mousedown", function (e) { if (e.target === sender.get_contentArea() || e.target === sender.get_textArea()) { sender._editCompleted = false; } else { sender._editCompleted = true; } }) } </script>
Having more than one editor on the page, with EditType="Inline", and using dropdown tools causes the event to be raised for the incorrect editor.
When the height of FileExplrorer is bigger that the current view port and an item from its right pane is selected, the content of the page jumps (the active element is brought to the top corner of the page). video: http://screencast.com/t/Ezuteb3xIoCp
Upon inserting a new record after filtering on the Grid with No records, the exception "No property or field 'Name' exists in type 'DataRowView'" is thrown.
Steps to reproduce:
Code to replicate the issue:
<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false" AllowFilteringByColumn="true"
OnNeedDataSource="RadGrid1_NeedDataSource" OnInsertCommand="RadGrid1_InsertCommand">
<MasterTableView CommandItemDisplay="Top" DataKeyNames="ID">
<Columns>
<telerik:GridEditCommandColumn></telerik:GridEditCommandColumn>
<telerik:GridButtonColumn CommandName="Delete"></telerik:GridButtonColumn>
<telerik:GridBoundColumn DataField="ID" HeaderText="ID" UniqueName="ID" ReadOnly="true"
CurrentFilterFunction="Contains" AutoPostBackOnFilter="true" />
<telerik:GridBoundColumn DataField="Name" HeaderText="Name" UniqueName="Name"
AutoPostBackOnFilter="false" />
<telerik:GridBoundColumn DataField="Category" HeaderText="Category" UniqueName="Category" DataType="System.String"
CurrentFilterFunction="Contains" AutoPostBackOnFilter="true" />
<telerik:GridBoundColumn DataField="Price" HeaderText="Price" UniqueName="Price"
CurrentFilterFunction="Contains" AutoPostBackOnFilter="true" DataFormatString="{0:C}" />
</Columns>
<EditFormSettings InsertCaption="Add New Item" />
</MasterTableView>
</telerik:RadGrid>
C#
private const string DataTableSessionKey = "RadGridDataTable";
private DataTable SessionDataSource
{
get
{
DataTable dt = Session[DataTableSessionKey] as DataTable;
if (dt == null || !IsPostBack)
{
// Create an empty DataTable with schema defined
dt = new DataTable();
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Category", typeof(string));
dt.Columns.Add("Price", typeof(decimal));
dt.PrimaryKey = new DataColumn[] { dt.Columns["ID"] };
Session[DataTableSessionKey] = dt;
}
return dt;
}
}
protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
(sender as RadGrid).DataSource = SessionDataSource;
}
protected void RadGrid1_InsertCommand(object sender, GridCommandEventArgs e)
{
GridEditableItem insertItem = (GridEditableItem) e.Item;
Hashtable newValues = new Hashtable();
insertItem.ExtractValues(newValues);
DataRow findLastItem = SessionDataSource.Select("ID=MAX(ID)").FirstOrDefault();
newValues["ID"] = findLastItem != null ? (int) findLastItem["ID"] + 1 : 0;
DataRow rowToInsert = SessionDataSource.NewRow();
foreach (DictionaryEntry entry in newValues)
{
rowToInsert[entry.Key.ToString()] = entry.Value ?? DBNull.Value;
}
SessionDataSource.Rows.Add(rowToInsert);
}
The tabs get hidden when a top oriented SlidingPane is docked inside a horizontal SlidingZone. The issue is reproducible when the resize mode of the parent Splitter is != AdjacentPane. Steps to reproduce: 1. Run the following code: <div style="padding: 200px"> <telerik:RadSplitter runat="server" ID="RadSplitter2" Orientation="Horizontal" ResizeMode="Proportional"> <telerik:RadPane runat="Server" ID="radpane11" Height="20px" MaxWidth="980" Scrolling="None" BackColor="Green"> <telerik:RadSlidingZone ID="ListMetricsSlidingZone" runat="server" Height="25px" DockedPaneId="ListMetricsPane" SlideDirection="Top"> <telerik:RadSlidingPane ID="ListMetricsPane" Title="DEF" runat="server"> 1111 </telerik:RadSlidingPane> <telerik:RadSlidingPane ID="ListHistorySlidingPane1" Title="XYZ" Font-Size="X-Large" runat="server"> 222 </telerik:RadSlidingPane> </telerik:RadSlidingZone> </telerik:RadPane> <telerik:RadPane runat="Server" ID="radpane33" Scrolling="None"> </telerik:RadPane> </telerik:RadSplitter> </div> 2. Undock and dock a sliding pane. Expected: The tabs remains visible all the time (change the Splitters ResizeMode="AdjacentPane" for reference)
Hi,
I am contacting you today to let you know I have found cross-site scripting vectors within the latest version of the RadEditor. I have attached images of the payloads that seem to bypass the XSS filter.
The second payload only works on Firefox browsers, but the first works on Chrome browsers too. While it still requires users to click on the link to trigger XSS, it can be easily social engineered in most situations.