github radzenhq/radzen-blazor v12.1.8
12.1.8

3 hours ago

12.1.8 - 2026-10-28

Improvements

  • DataGrid can be given an accessible name through the new AriaLabel and AriaLabelledBy parameters, rendered on the element with the grid or treegrid role. The role element rendered no name and aria-label or aria-labelledby splatted onto the component landed on the role-less wrapper where assistive technology ignores them, so screen readers announced an unnamed grid and axe reported "ARIA grid must have an accessible name". When the parameters are not set a splatted aria-label or aria-labelledby is used instead and those two attributes no longer reach the wrapper, because ARIA 1.2 prohibits naming a generic element (#2780).

Fixes

  • AppearanceToggle has an accessible name and reports aria-pressed for the dark theme. The button rendered no name, because RadzenToggleButton wrote its AriaLabel parameter after the splatted attributes and removed an aria-label placed on the component; the toggle button now falls back to the splatted aria-label and omits the attribute when neither is given, and RadzenAppearanceToggle gains an AriaLabel parameter that defaults to the localized "Dark theme" text. The pressed state used to mean the light theme was active, so screen readers announced "Dark theme, pressed" in the light theme; aria-pressed, the active state and the toggled style now follow the dark theme while the icons and click behavior are unchanged. When the light and dark names resolve to the same theme the button is rendered disabled instead of flipping a pressed state that changed nothing (#2781).
  • DataGrid applies KeyProperty regardless of where it appears in the markup. The key getter used to match selected, expanded and child-data items by key was created only when Data changed, so a KeyProperty placed after Data was ignored on the first render and a Value item that was a different instance with the same key was not highlighted; a later change of KeyProperty was ignored as well. The getter is now created after the parameters are set and recreated when KeyProperty changes.
  • DataGrid keeps the selection when Value is bound before Data and both change in the same render. Reset, which runs whenever Data changes, emptied the Value backing field without touching the selected items, so Blazor assigned Value first, the Data setter wiped it and no row was highlighted until the next render while Value reported no selection. The field is now cleared only together with the selected items when Reset is asked to reset row state.
  • DataGrid merges a class added through RowRender with the row class instead of replacing it. The consumer class was splatted after the computed row class and removed rz-data-row and the rz-state-highlight selection class, so styled rows lost their selection highlight; the classes are now combined, also when a RowClick handler adds the row click to the same attributes.

Don't miss a new radzen-blazor release

NewReleases is sending notifications on new releases.