When using min/max date the invalid dates have almost identical styling as the valid ones, this makes it hard for the user to see what dates are valid. It would be nice of there was some way of telling them apart except by hovering over them. Also when using "metro theme" the invalid date overrides the styling for dates belonging to "other month".
When the culture is set using Thread.CurrentThread.CurrentUICulture = new CultureInfo("it");
The following exception is thrown
https://www.screencast.com/t/YnQstdBUrY
The RadCalendar AccessKey property does not move focus to the RadCalendar control.
For example, set the AccessKey="K" for the RadCalendar.
<telerik:RadCalendar ID="RadCalendar1" RenderMode="Lightweight" AutoPostBack="true" AccessKey="K"
EnableKeyboardNavigation="true" EnableAriaSupport="true" EnableMultiSelect="true" runat="server"></telerik:RadCalendar>
However, focused is not moved to the Calendar with the AccessKey using ALT + Shift + key or ALT + key depending on the web browser. Please implement AccessKey for RadCalendar.
Thank You,
Carla
RadCalendar and RadDatePicker cannot pass the following check by https://achecker.ca/checker/index.php
WCAG 2.0 guideline
Section
1.3 Adaptable: Create content that can be presented in different ways (for example simpler layout) without losing information or structure.
Success Criteria 1.3.1 Info and Relationships (A)
Check 245: Data table with more than one row/column of headers does not use id and headers attributes to identify cells.
Repair: Add id and headers attributes to table cells so they identify the cells that relate to the headers.
Error Line 597, Column 8:
<table id="ctl00_ContentPlaceholder1_RadDatePicker1_calendar_Top" class="rcMainTable" summary="Table …
Steps to reproduce
Go to https://achecker.ca/checker/index.php
Paste https://demos.telerik.com/aspnet-ajax/datepicker/accessibilityandinternationalization/wcag2.0andsection508accessibility/defaultcs.aspx
or
https://demos.telerik.com/aspnet-ajax/calendar/accessibility-and-internationalization/wcag-2.0-and-section-508-accessibility/defaultcs.aspx
See the results ->
Check 245: Data table with more than one row/column of headers does not use id and headers attributes to identify cells.
Repair: Add id and headers attributes to table cells so they identify the cells that relate to the headers.
Error Line 568, Column 8:
<table id="ctl00_ContentPlaceholder1_RadDatePicker1_calendar_Top" class="rcMainTable" summary="Table ...
=======================================
WORKAROUND:
$telerik.$("table.rcMainTable tbody th").each(function (idx, el) {
var thId = $telerik.$(el).attr("id");
$telerik.$(el).siblings("td").attr("header", thId);
})
Workaround 1) Use .resx files as the attached ones
Workaround 2) Set properties to ViewState
RadMonthYearPicker1.MonthYearNavigationSettings.ViewState["_mCancelButtonCaption"] = "my cancel";
RadMonthYearPicker1.MonthYearNavigationSettings.ViewState["_mTodayButtonCaption"] = "my today";
RadMonthYearPicker1.MonthYearNavigationSettings.ViewState["_mOkButtonCaption"] = "my ok";
Open a demo page https://demos.telerik.com/aspnet-ajax/datetimepicker/overview/defaultcs.aspx?skin=Bootstrap and select Bootstrap skin. You will see that the right corners of the clock button are cutted down.
Workaround:
.RadPicker .rcSelect {
border-top-right-radius: 4px !important;
border-bottom-right-radius: 4px !important;
}
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.
verified still present in 2026.2.519 — RadCalendarScript.js
When `EnableNavigationAnimation` is enabled (the default) and the browser zoom is not 100% (and Windows uses fractional display scaling such as 125%/150%),
navigating the RadCalendar to the NEXT month removes the day grid and never renders the new one. The calendar title updates, but the view area stays empty permanently.
Because `_enableNavigation(false)` and `EnableDateSelect = false` are set before the animation and only restored when it completes, the calendar is also left with navigation
and date selection disabled — the control is dead until the page is reloaded.
Navigating BACKWARD works correctly (see root cause below for why), which is a useful way to confirm this specific bug.
End users hit this routinely because Chrome persists per-site zoom and many laptops default to 125%/150% display scaling.
Steps to reproduce:
1. Page with a default RadCalendar:
<telerik:RadCalendar ID="RadCalendar1" runat="server" EnableNavigationAnimation="true" /> 2. Open in Chrome, set zoom to 110% (Ctrl and +), reload.
3. Click the "next month" arrow (repeat at a couple of zoom levels, e.g. 110%,
125%, 150% — whether a given level triggers it depends on rounding of the
calendar's rendered width).
c = function () {
o > 0 && r.scrollLeft + r.offsetWidth < r.scrollWidth ||
o < 0 && r.scrollLeft > 0
? (r.scrollLeft += 10 * o, window.setTimeout(c, 10))
: d(); // d() re-attaches the new table and re-enables the control
};`Element.scrollLeft` is a fractional double, while `offsetWidth`/`scrollWidth` are rounded integers. At zoom levels other than 100%, `scrollLeft` clamps at a fractional maximum (e.g. 219.4545) while the rounded widths suggest an integer maximum (e.g. 220 with scrollWidth 440). The forward-direction termination
check `scrollLeft + offsetWidth < scrollWidth` (439.45 < 440) then remains true forever: `scrollLeft += 10` is clamped and makes no further progress, so the loop reschedules itself indefinitely and `d()` is never called. The new view table is never appended, and navigation/date selection are never re-enabled.
The backward direction terminates on `scrollLeft > 0`, and `scrollLeft` clamps to exactly 0 — which is why only forward navigation is affected.