In Development
Last Updated: 12 Aug 2026 13:30 by Sebastian
Scheduled for 2026 Q3 (Aug)
Created by: Sebastian
Comments: 1
Category: PDFViewer
Type: Bug Report
1
  • The PDF Viewer does not display the initial file if Zoom is set to FitToWidth or FitToPage. This is due to --scale-factor: NaN; --total-scale-factor: NaN; set on the PDF Viewer element.
  • If the PDF Viewer initially shows with no loaded file, setting Zoom to FitToWidth or FitToPage initially or after opening a file leads to infinity zoom due to --scale-factor: Infinity; --total-scale-factor: Infinity; set on the PDF Viewer element.

The only scenario that works is to set the initial Zoom to a numeric value and have an open file by default.

Planned
Last Updated: 12 Aug 2026 12:56 by ADMIN
Scheduled for 2026 Q4 (Nov)

Description

When the ComboBox is bound with the OnRead event, after filtering and pressing the Tab key the highlighted item that matches the user input is not selected. If the ComboBox is bound through the Data parameter, the highlighted item is selected as expected.

Steps To Reproduce

  1. Run this REPL example: https://blazorrepl.telerik.com/GKOwYyuD25UuABfR07
  2. Focus the ComboBox and type in "BMW"
  3. Press the Tab key.

Actual Behavior

The ComboBox is blurred and the BMW item is not selected.

Expected Behavior

The ComboBox is blurred and the BMW item is selected.

Browser

All

Last working version of Telerik UI for Blazor (if regression)

No response

Completed
Last Updated: 12 Aug 2026 12:30 by ADMIN
Release 2026 Q2

When ActiveTabId is null, the TabStrip selects the first tab automatically, but does not render its content.

<TelerikTabStrip @bind-ActiveTabId="@TabStripActiveTabId">
    <TabStripTab Title="First" Id="t1">
        First tab content.
    </TabStripTab>
    <TabStripTab Title="Second" Id="t2">
        Second tab content.
    </TabStripTab>
    <TabStripTab Title="Third" Id="t3">
        Third tab content.
    </TabStripTab>
</TelerikTabStrip>

@code {
    private string? TabStripActiveTabId { get; set; }
}

Completed
Last Updated: 12 Aug 2026 12:12 by ADMIN
Release 2026 Q2
Created by: Stefan
Comments: 5
Category: Upload
Type: Bug Report
8

Description

File data is not available in the Upload's OnSuccess event.

Regression in version 9.0.0 introduced with the addition of the chunk upload functionality.

https://github.com/telerik/blazor/blob/master/js/telerik-blazor/src/upload/upload.ts#L282-L288

Steps To Reproduce

  1. Attach a handler to the OnSuccess event:
<TelerikUpload SaveUrl="/api/upload/save"
               RemoveUrl="/api/upload/remove"
               OnSuccess="@OnSuccessHandler" />

@code {
    async Task OnSuccessHandler(UploadSuccessEventArgs e)
    {
        foreach (var file in e.Files)
        {
            Console.WriteLine($"Name = {file.Name}, Size = {file.Size}, Extension = {file.Extension}");
        }

        StateHasChanged();
    }
}
  1. Upload a file and try to access its Name, Size, and Extension properties in the event handler.

Actual Behavior

The properties have their default values (null for Name and Extension and 0 for Size).

Expected Behavior

The actual file data is accessible in the OnSuccess event handler.

Browser

All

Last working version of Telerik UI for Blazor (if regression)

8.1.1

Completed
Last Updated: 12 Aug 2026 12:10 by ADMIN
Release 2026 Q2

With `PersistTabContent="true"`, when tabs start with `Visible="false"` and later become `Visible="true"`, all visible tab contents are instantiated simultaneously instead of only the active tab.

Reproduction: 

@page "/TestPage"

<button @onclick="Load">Load</button>

<TelerikTabStrip PersistTabContent="true">
    <TabStripTab Title="Tab 1" Visible="@_tabsVisible">
        <TestInitComponent Message="Hello from tab1" />
    </TabStripTab>
    <TabStripTab Title="Tab 2" Visible="@_tabsVisible">
        <TestInitComponent Message="Hello from tab2" />
    </TabStripTab>
    <TabStripTab Title="Tab 3" Visible="@_tabsVisible">
        <TestInitComponent Message="Hello from tab3" />
    </TabStripTab>
</TelerikTabStrip>

@code {
    private bool _tabsVisible = false;

    private void Load()
    {
        _tabsVisible = true;
    }
}

TestInitComponent.razor

<h3>TestInitComponent</h3>

@code {

    [Parameter]
    public string Message { get; set; } = string.Empty;

    protected override void OnInitialized()
    {
        base.OnInitialized();
        Console.WriteLine($"TestInitComponent OnInitialized {Message}");
    }
}

Steps: Open page → click Load.

Completed
Last Updated: 12 Aug 2026 12:04 by ADMIN
Release 2026 Q2

The appointments at the start of the day seem accurate. If you scroll down, the position of the appointments does not line up with the grid line for the hour that it starts at or ends at. The issue can be observed in the live demo.

 

Completed
Last Updated: 12 Aug 2026 12:03 by ADMIN
Release 2026 Q3 (Aug)

If the Start and End match exactly, the rendering of the Scheduler breaks in Day view. If another view is used, the event looks as if it is rendered on the previous day.

===

ADMIN EDIT

===

A possible workaround for the time being is to use a custom edit form and implement some kind of validation that prevents the user from selecting the same value for the Start and End of an event.

Completed
Last Updated: 12 Aug 2026 10:12 by ADMIN
Release 2026 Q3 (Aug)
Created by: David
Comments: 0
Category: DropDownList
Type: Bug Report
9

In TelerikSelectBase that the DropDownList inherits, the FieldIdentifier is set only in the OnInitializedAsync method and therefore the FieldIdentitier is never updated. This can cause issues with validation as seen in this example:  https://blazorrepl.telerik.com/GyamPdlf37LXpPAW36.

To reproduce:

  • Select the last item in the tree 7.Garden and change the value in the drop down list to Unsupported - the drop down list shows a red border.
  • Select item 6.Garden from the tree. (Any item in the tree other than 1 will do) - I expect the drop down to not have the red border, yet is does.

For reference, in the TelerikInputBase, the FieldIdentifier is set in the SetParameterAsync and thus it is accordingly updated. See the TextBox behavior in the above sample.

Completed
Last Updated: 12 Aug 2026 10:12 by ADMIN
Release 2026 Q3 (Aug)
Created by: Tim
Comments: 0
Category: Grid
Type: Bug Report
1

If the GridScrollMode.Virtual is enabled for the Grid, and the NoDataTemplate exceeds the height of the Grid container, a user can infinitely scroll inside the table even when there is no data and the template is displaying.

 

===ADMIN EDIT===

A possible workaround is to apply "overflow-y: hidden;" when the NoDataTemplate is shown: REPL link.

Completed
Last Updated: 12 Aug 2026 10:11 by ADMIN
Release 2026 Q3 (Aug)
Hello Telerik Support Team,

We are experiencing a scrolling issue in **Telerik PivotGrid for Blazor (v12)** when both vertical and horizontal scrollbars are present.

**Issue Summary**
When the PivotGrid contains enough expanded data to require both vertical and horizontal scrolling, interacting with one scrollbar causes the grid to unexpectedly reset the other scroll position (jumping back to the top or left-most column).

**Steps to Reproduce**
e.g.: https://demos.telerik.com/blazor-ui/pivotgrid/overview

1. Bind the PivotGrid with a large dataset.
2. Expand a column hierarchy (e.g., Year → Months) to generate horizontal scrolling.
3. Expand multiple row groups (some near the top and some further down) to generate vertical scrolling.
4. Scroll fully to the **right**.
5. Attempt to scroll **down** using the vertical scrollbar or mouse wheel.

   * The grid scrolls down, but the horizontal position resets to the first column.
6. Scroll to the **bottom**.
7. Attempt to scroll **right** using the horizontal scrollbar.

   * The grid scrolls right, but the vertical position resets to the top.

**Actual Behavior**
Scrolling in one direction causes the PivotGrid to reset the scroll position in the other direction.

**Expected Behavior**
Vertical and horizontal scroll positions should remain independent. Scrolling in one direction should not reset the other.

This occurs consistently when multiple row and column groups are expanded and both scrollbars are active.

Please let us know if additional configuration details or a sample project would help.

Regards,
Niraj Phalke
Planned
Last Updated: 11 Aug 2026 15:58 by ADMIN
Scheduled for 2026 Q4 (Nov)
This issue is for all date inputs when having a higher latency (physical distance between the server and the end-user) the value of the date inputs is not correct. Additionally, When typing the year in the input field, the text overflows instead of staying within the 4-digit space. For reference, check the attached screenshot.
Unplanned
Last Updated: 11 Aug 2026 15:58 by ADMIN
Scheduled for 2026 Q4 (Nov)

Bug report

Reproduction of the problem

(bug report only)

  1. Run this example: https://blazorrepl.telerik.com/mUOqQflm56D4xScx54
  2. Select a font in the FontFamily dropdown.
  3. Click the UnorderedList tool in the Editor’s toolbar.
  4. A bullet is added and the FontFamily tool loses its value.
  5. Click right after the added bullet.
  6. Once again select a font in the FontFamily drodown.
  7. Click the UnorderedList tool in the Editor’s toolbar to remove the bullet.
  8. The FontFamily tool loses its value.

Current behavior

(optional)
Provide additional information if the steps for reproducing the faulty behavior are not sufficient to describe the issue.

Expected/desired behavior

The FontFamily tool should keep its value when an unordered list is added/removed.

Environment

  • Kendo/Telerik version: 14.0.0
  • Browser: [all]
Planned
Last Updated: 11 Aug 2026 15:58 by ADMIN
Scheduled for 2026 Q4 (Nov)

Bug report

Reproduction of the problem

(bug report only)
Regression introduced in 13.0.0.
1. Run this example: https://blazorrepl.telerik.com/wUuSGClv00orFeRm59

Current behavior

(optional)
The Size, Rounded, FillMode parameters are ignored.

Expected/desired behavior

The parameter values should apply and change the appearance of the SearchBox.

Environment

  • Browser: [all ]
Planned
Last Updated: 11 Aug 2026 15:57 by ADMIN
Scheduled for 2026 Q4 (Nov)

Description

Appointment editing does not work on Chrome for mobile (Android).

Steps To Reproduce

Run the following demo in the Chrome for mobile browser, on a mobile device with Android : https://demos.telerik.com/blazor-ui/scheduler/appointment-editing

  1. Attempt to edit an appointment by double tapping it

Actual Behavior

The popup editor does not show up.

Expected Behavior

The popup editor shows up.

Browser

Chrome

Last working version of Telerik UI for Blazor (if regression)

No response

Planned
Last Updated: 11 Aug 2026 15:57 by ADMIN
Scheduled for 2026 Q4 (Nov)
Created by: Emma
Comments: 5
Category: Scheduler
Type: Bug Report
2

I have been having issues adding the month view to a Telerik Blazor scheduler component, when there is grouping. It gives a null reference error any time I try to switch to the month view. I also tried it using the available demo for grouping in Telerik REPL, the only difference I found between my code and the demo was that I had used the ItemsPerSlot parameter.  I added this to the demo, and was able to reproduce the error I was seeing, and I have attached the console output from the REPL demo. I believe there is either a bug with the ItemsPerSlot being used in conjunction with grouping on a scheduler component, or some instruction missing from how to set it up properly to prevent this null reference issue. 

Changed code:

<SchedulerMonthView ItemsPerSlot="5"></SchedulerMonthView>

Demo used:

Blazor Scheduler (Event Calendar) Demos - Grouping | Telerik UI for Blazor

 


Planned
Last Updated: 11 Aug 2026 15:57 by ADMIN
Scheduled for 2026 Q4 (Nov)
In our serverside blazor application we use the Telerik's DateTimePicker. When we type values in to the date time picker control, it jumps to the next section or to the end before completing the currect section. We use the format 'yyyy-MM-dd HH:mm'

It does not happen always and I think it is happenning when the internet connection is slow and it shows a Javascript error as well (screenshots below)
Unplanned
Last Updated: 11 Aug 2026 15:54 by ADMIN
Scheduled for 2026 Q4 (Nov)

Bug report

Reproduction of the problem

(bug report only)
1. Run this example: https://blazorrepl.telerik.com/cUaBGOOZ34pkp6wB57
2. Inspect the MultiSelect’s input.
3. Click within the component’s input area, to open its popup.

The issue is also reproducible in the other dropdown components: https://blazorrepl.telerik.com/GUurGmvw32oPqGYu03

Current behavior

(optional)
When the dropdown opens, an aria-controls attribute is applied to the MultiSelect’s input. Its value does not match any existing DOM element.

Expected/desired behavior

The value of the aria-controls attribute should point at an existing element (e.g., the popup’s list element: https://www.telerik.com/blazor-ui/documentation/components/multiselect/accessibility/wai-aria-support#multiselect-wrapping-element ). But in this case the MultiSelect is not bound to data and a list element is not rendered in the popup.

Environment

  • Kendo/Telerik version: 14.1.0
  • jQuery version:
  • Browser: [all ]
Completed
Last Updated: 11 Aug 2026 15:43 by ADMIN
Release 2026 Q3 (Aug)
Created by: Neil N
Comments: 3
Category: DatePicker
Type: Feature Request
18

I would like the following behavior in the date picker. Perhaps it can be achieved with a parameter similar to the one in UI for ASP.NET AJAX - the FocusedDate property (something like RadDatePicker1.FocusedDate = DateTime.Today.AddDays(30);).

The current behaviour is:

* if date is set, show month of set date
*else show month of current date (today)

Desired behaviour:

* if date is set, show month of set date
* else if min date's month is greater than current date month then show month of min date
* else show month of current date

Here is a code snippet to illustrate the issue:

 

Open the picker - it will start in the month with today's date, but I want it to start at the min date - one month later

<TelerikDatePicker @bind-Value="@theDate" Min="@minDate" Max="@maxDate"></TelerikDatePicker>
@code {
    DateTime theDate = DateTime.Now;
    DateTime minDate = DateTime.Now.AddDays(60);
    DateTime maxDate = DateTime.Now.AddDays(230);
}

 

===

ADMIN EDIT

===

The request also applies to the rest of the pickers - DateTimePicker and DateRangePicker.
Planned
Last Updated: 11 Aug 2026 15:42 by ADMIN
Scheduled for 2026 Q4 (Nov)
Created by: Doug
Comments: 3
Category: DateTimePicker
Type: Feature Request
19

With Blazor server, clicking the NOW button (obviously) sets the time to the time on the server since that's where the code is running. Is there a way to trap the NOW button click or somehow give it an offset or define the value that NOW means so NOW will mean the time that the user is sitting in?

---

TELERIK EDIT

In the meantime, here are a few possible workarounds:

1. Use the DateTimePicker's ValueChanged event to detect new values that are very close or match the server's current DateTime. In such cases, you can assume that the user has clicked on TODAY / NOW, and set the local user time as a component value.

Server Time on UI Refresh: @DateTime.Now.ToLongTimeString()
<br />
User Local Time on Page Load: @LocalTime?.ToLongTimeString()
<br />
User Local Time Offset: @LocalOffset
<br />
<br />

<TelerikDateTimePicker Value="@PickerValue"
                       ValueChanged="@( (DateTime? newValue) => PickerValueChanged(newValue) )"
                       ValueExpression="@( () => LocalTime )"
                       Format="yyyy-MMM-dd HH:mm:ss"
                       Width="240px" />

<!-- Move JS code to a separate JS file in production -->
<script suppress-error="BL9992">
    function getLocalTime() {
        var d = new Date();
        return d.getTimezoneOffset();
    }
</script>

@code {
    private DateTime? PickerValue { get; set; }
    private DateTime? LocalTime { get; set; }
    private int LocalOffset { get; set; }

    private void PickerValueChanged(DateTime? newValue)
    {
        DateTime serverNow = DateTime.Now;
        DateTime utcNow = DateTime.UtcNow;
        TimeSpan nowTolerance = new TimeSpan(0, 0, 10);

        if (newValue - serverNow < nowTolerance)
        {
            PickerValue = utcNow.AddMinutes(-LocalOffset);
        }
        else
        {
            PickerValue = newValue;
        }
    }

    protected override async Task OnAfterRenderAsync(bool firstRender)
    {
        if (firstRender)
        {
            LocalOffset = await js.InvokeAsync<int>("getLocalTime");
            LocalTime = DateTime.UtcNow.AddMinutes(-LocalOffset);
            StateHasChanged();
        }

        await base.OnAfterRenderAsync(firstRender);
    }
}

 

2. Use the DatePicker's HeaderTemplate with a custom TODAY / NOW button. 

3. Hide the NOW button with CSS:

<style>
    .no-now-button .k-time-now {
        display: none;
    }
</style>

<TelerikDateTimePicker @bind-Value="@PickerValue"
                       Format="yyyy-MMM-dd HH:mm:ss"
                       PopupClass="no-now-button"
                       Width="240px" />

@code {
    private DateTime? PickerValue { get; set; }
}

 

Duplicated
Last Updated: 11 Aug 2026 12:48 by ADMIN
Created by: Jeremi
Comments: 0
Category: UI for Blazor
Type: Bug Report
1
# Bug report: Grid `role="grid"` fails Lighthouse `aria-required-children`
 
**Product:** Telerik UI for Blazor
**Component:** Grid
**Version:** 14.0
**Detection tool:** Google Lighthouse — Accessibility audit (Chrome DevTools)
**Related feedback item:** [#1601296 – "[Accessibility] Ensure elements with ARIA roles have all required ARIA attributes"](https://feedback.telerik.com/blazor/1601296-accessibility-ensure-elements-with-aria-roles-have-all-required-aria-attributes) (currently Unplanned)
 
---
 
## Description
 
The Grid renders its accessibility root (`div.k-grid-aria-root`) with
`role="grid"`, but the required child roles (`rowgroup` / `row`) are not reachable
from it. As a result, the **Lighthouse Accessibility audit** reports a failing
`aria-required-children` audit:
 
> "Elements with an ARIA [role] that require children to contain a specific
> [role] are missing some or all of those required children."
 
Lighthouse's Accessibility category is powered by axe-core, so this corresponds
to the axe rule **`aria-required-children`** (WCAG 2.1 SC 1.3.1, Level A).
 
This appears to be the same underlying problem tracked in #1601296. This report
adds a clean, Lighthouse-based reproduction in case it is useful for
prioritization.
 
## Steps to reproduce
 
1. Create a page with a `<TelerikGrid>` bound to any data source (a few rows is
   enough).
2. Open the page in Chrome.
3. Open DevTools → **Lighthouse** tab.
4. Select the **Accessibility** category and click **Analyze page load**.
5. In the report, expand the failing **`aria-required-children`** audit.
## Expected behavior
 
The Lighthouse Accessibility audit passes. The element carrying `role="grid"`
exposes valid `rowgroup` / `row` children (or the intermediate wrapper elements
carry `role="presentation"` so the grid → row ownership chain is preserved).
 
## Actual behavior
 
The `aria-required-children` audit fails. Lighthouse flags the grid root and
cites `div.k-grid-content` as the element interrupting the required-children
chain.
 
**Rendered markup (abridged):**
 
```html
<div class="k-grid-aria-root" role="grid" aria-rowcount="52" aria-label="Data table">
  ...
  <div class="k-grid-content" tabindex="-1">   <!-- no role; sits directly on the <table> -->
    <table class="k-grid-table">
      <tbody>
        <tr role="row"> ... </tr>
      </tbody>
    </table>
  </div>
</div>
```
 
## Analysis
 
`role="grid"` must own `rowgroup` / `row` descendants. In the rendered DOM the
rows live inside a native `<table>` (implicit `role="table"`), and the wrapper
`<div>`s between the grid root and the table (`k-grid-container`,
`k-grid-content`) carry no ARIA role. This breaks the `grid → row` ownership
chain that axe-core (and therefore Lighthouse) requires. `k-grid-content` is
specifically cited because its `tabindex="-1"` makes it a focusable,
non-transparent node sitting directly above the table.
 
1 2 3 4 5 6