Unplanned
Last Updated: 01 Mar 2022 06:22 by ADMIN
Created by: Jeff
Comments: 2
Category: KendoReact
Type: Feature Request
0

A few suggestions for the React Grid (as of v5.0.1) to help devs conform to accessibility compliance...

1) Standard HTML tables can contains a <caption> element, which screenreaders will use as the descriptive name of the table. Kendo Grid does not appear to have any way to name the table.

2) Related to number 1, other ways to assign a descriptive name to a table may be to include a `title`, `aria-label` or `aria-describedby` attributes, but none of these work on <Grid>. They are not rendered into the HTML if passed as props.

3) Allow GridCell and other Cell components to take `children` to render. The current documentation generally advises us to override the `cell={}` prop on a GridColumn for custom cell rendering. What is not listed in the docs is that doing what seems like the obvious thing:

<GridColumn cell={() => <td>myContent</td>} />

actually breaks accessibility. At a minimum the cell MUST get the attributes

            role={'gridcell'}
            aria-colindex={props.ariaColumnIndex}

to have the table actually be represented correctly in most screen readers. The Kendo <GridCell> component would normally add these, but only renders the field from the dataItem. It can only render custom data if the `render` prop is set, in which case it yet again does not render the `<td role= aria-colindex=` portions on it's own.

What I'm getting at is, everyone who ever wanted to render a custom cell in Keno Grid always had to make their own cell component that added at least the `role` and `aria-colindex` attributes, and if they didn't, they probably unknowingly broke accessibility.

Kendo could make this clearer in the docs (including the accessibility page for the Grid), and could easily alter GridCell to render `children` if they are passed. Then we could do:

<GridColumn cell={<GridCell><button>yay</button></GridCell>} />

and have the rendered HTML:

<td colSpan="1" style="" class="" role="gridcell" aria-colindex="1" aria-selected="false"><button>yay</button></td>

I think in GridCell this would be as easy as changing:

        defaultRendering = (
          <td
            colSpan={props.colSpan}
            style={props.style}
            className={className}
            role={'gridcell'}
            aria-colindex={props.ariaColumnIndex}
            aria-selected={props.isSelected}
            {...{[GRID_COL_INDEX_ATTRIBUTE]: props.columnIndex}}
            {...navigationAttributes}
          >
            {dataAsString}
          </td>
to:
        defaultRendering = (
          <td
            colSpan={props.colSpan}
            style={props.style}
            className={className}
            role={'gridcell'}
            aria-colindex={props.ariaColumnIndex}
            aria-selected={props.isSelected}
            {...{[GRID_COL_INDEX_ATTRIBUTE]: props.columnIndex}}
            {...navigationAttributes}
          >
            {children || dataAsString}
          </td>

Unplanned
Last Updated: 26 Jul 2023 09:41 by ADMIN

All of the Kendo components that "hide" content (tab views, collapse panels, etc) don't actually hide any content. They require us to not render any children.


<ExpansionPanel
  {expanded === item.id && (
    <ExpansionPanelContent>

This just strikes me as an odd design decision. I guess I don't understand the point of these components if they don't do the 1 thing they are supposed to do; hide portions of the content.

Un-rendering the content is usually not desirable. The contents are often still important. Possibly for SEO purposes, A11y, or if they are part of a Form:


<Form
  render={() => {
    <FormElement>
      <ExpansionPanel>
        {expanded === item.id && (
          <ExpansionPanelContent>
            <Field
                name={"firstName"}
                component={Input}
                validator={() => 'always invalid'}
              />
          </ExpansionPanelContent>
      </ExpansionPanel>
    </FormElement>
  }}
/>

This makes the Form valid as long as the panel is collapsed.

 

Can check out how Bootstrap collapse panels work to see how most people would expect these components to behave. The contents is rendered into the DOM and JS and CSS are used to hide it. There should be a way to achieve this same behavior with Kendo.

As a workaround I end up having to do my own CSS/SASS to hide the contents


.k-expander {
  .k-expander-content-wrapper {
    height: 0;
    overflow: hidden;
  }

  &.k-expanded {
    .k-expander-content-wrapper {
      height: auto;
    }  
  }
}

Unplanned
Last Updated: 14 Mar 2022 12:17 by ADMIN

 

Hello

Currently, the KendoReact Grid can only select all columns as shown in this demo:

https://www.telerik.com/kendo-react-ui/components/grid/selection/#toc-customizing-the-selection

We wish to be able to select only specific columns programmatically. 

 

Declined
Last Updated: 31 Mar 2022 09:50 by ADMIN

There is an inconsistency with the DateRange picker in the way element focus is set when closing the date selection popup by mouse vs keyboard. When using the mouse to close the date range selection popup, element focus becomes lost/reset.

You can simulate this from the example page https://www.telerik.com/kendo-react-ui/components/dateinputs/daterangepicker/

Steps to simulate good behavior (this works correctly):

* click the 'from' input text element (causes the popup to open and the text input to have focus)
* press 'escape' to close the popup (the popup is closed, and the 'from' input element retains focus)
* press 'tab' (focus moves to the 'to' text input element)

Steps to simulate behavior that could be improved:

* click or tab into the 'from' input element (causes the popup to open and the text input to have focus)
* click (with the mouse) outside the popup to close it (the popup is closed, and focus appears to be lost.)
* press 'tab' (focus moves to the 'from' input element again because we are back at the beginning of the tab order list)

This input can lead you into a tab order loop if you mix pressing 'tab' to advance focus, and using the mouse to click to close the date selection popup.
Feature request: when clicking to close the popup, element focus should be retained in the 'from' or 'to' text input; whichever had focus before the popup close, the same as pressing 'escape' to close the popup.

Unplanned
Last Updated: 29 Mar 2022 12:33 by ADMIN
Created by: Rachel
Comments: 1
Category: KendoReact
Type: Feature Request
0

I use a Datepicker with 'he' loclae. It works fine, but the week's days are displayed from left to right instead of right to left as expected.
I tried to add className = 'k-rtl' but it did not help.
Is there a way to change that?

Here is a demonstration of the problem:

https://stackblitz.com/edit/react-vkzwzo?file=app%2Fmain.jsx

Won't Fix
Last Updated: 10 May 2022 14:27 by Jeff
Created by: Jeff
Comments: 2
Category: KendoReact
Type: Bug Report
0

Set up a TimePicker with a `min` and `max`. For example

            min={new Date(0, 0, 0, 0, 0)}
            max={new Date(0, 0, 0, 5, 0)}

Click on the text input to focus the 'hours' portion.

Roll the mouse scrollwheel up/down to change the hours.

You can 'scroll' past 5:00 and set the time to anything above the max.

You can also use the keyboard to enter any number outside the min/max.

Is this the expected behavior? Do we always have to add our own validation to check the min/max ourselves?

Completed
Last Updated: 26 Jul 2023 10:10 by ADMIN
Created by: Jeff
Comments: 1
Category: KendoReact
Type: Bug Report
0

A TimePicker control will take all scroll events if the mouse cursor is over it, whether the element has focus or not, and prevent the scroll from bubbling up to the page. This prevents a page from scrolling as soon as the mouse cursor touches a TimePicker.

Using Kendo rect v5.1.0 in FireFox v98 on OSX. (Issue does not happen in Chrome)

You can view the problem in the demo page: https://www.telerik.com/kendo-react-ui/components/dateinputs/timepicker/
Just try to scroll down the view, and as soon as the TimePicker is under the mouse cursor, the page can no longer be scrolled until you move the cursor off the control.

Completed
Last Updated: 31 Mar 2025 13:00 by ADMIN
Created by: Joel Parker Henderson
Comments: 4
Category: KendoReact
Type: Bug Report
0
## Missing kendo-react-popup

On this page: https://www.telerik.com/kendo-react-ui/getting-started/

On this section: "Add a KendoReact Data Grid"

When I launch the app as usual:

```sh
yarn start
```

Then the browser page includes this error:

```
Compiled with problems:

ERROR in ./.yarn/__virtual__/@progress-kendo-react-data-tools-virtual-df92d36fcf/0/cache/@progress-kendo-react-data-tools-npm-5.2.0-8d098f65a0-5d68752aaa.zip/node_modules/@progress/kendo-react-data-tools/dist/es/columnmenu/ColumnMenuFilterForm.js 19:0-55

Module not found: Error: @progress/kendo-react-data-tools tried to access @progress/kendo-react-buttons (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound.

Required package: @progress/kendo-react-buttons
Required by: @progress/kendo-react-data-tools@virtual:79c9c696d5f1e6f4dd730946c0d2912611551a498926b146bcbdd9d142588c5f4c2333469b63e7a9a2bdd1f0f1313d0d70b72cc8dbcafcc20e21e6b9790f6068#npm:5.2.0 (via /Users/joel/git/joelparkerhenderson/demo/demo-react-kendo/.yarn/__virtual__/@progress-kendo-react-data-tools-virtual-df92d36fcf/0/cache/@progress-kendo-react-data-tools-npm-5.2.0-8d098f65a0-5d68752aaa.zip/node_modules/@progress/kendo-react-data-tools/dist/es/columnmenu/)
Ancestor breaking the chain: demo-react-kendo@workspace:.

…

```

The solution that works for me...

Add the package:

```sh
yarn add @progress/kendo-react-popup
````

Edit `src/App.js` and add this line:

```js
import '@progress/kendo-react-popup';
```

Completed
Last Updated: 15 Oct 2024 15:42 by ADMIN
Release 2024 Q4 (Nov)
Created by: Joel Parker Henderson
Comments: 7
Category: KendoReact
Type: Bug Report
0
## Missing kendo-react-buttons

On this page: https://www.telerik.com/kendo-react-ui/getting-started/

On this section: "Add a KendoReact Data Grid"

On this page: https://www.telerik.com/kendo-react-ui/getting-started/

On this section: "Add a KendoReact Data Grid"

When I launch the app as usual:

```sh
yarn start
```

Then the browser page includes this error:

```
Compiled with problems:

ERROR in ./.yarn/__virtual__/@progress-kendo-react-data-tools-virtual-df92d36fcf/0/cache/@progress-kendo-react-data-tools-npm-5.2.0-8d098f65a0-5d68752aaa.zip/node_modules/@progress/kendo-react-data-tools/dist/es/columnmenu/ColumnMenuFilterForm.js 19:0-55

Module not found: Error: @progress/kendo-react-data-tools tried to access @progress/kendo-react-buttons (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound.

Required package: @progress/kendo-react-buttons
Required by: @progress/kendo-react-data-tools@virtual:79c9c696d5f1e6f4dd730946c0d2912611551a498926b146bcbdd9d142588c5f4c2333469b63e7a9a2bdd1f0f1313d0d70b72cc8dbcafcc20e21e6b9790f6068#npm:5.2.0 (via /Users/joel/git/joelparkerhenderson/demo/demo-react-kendo/.yarn/__virtual__/@progress-kendo-react-data-tools-virtual-df92d36fcf/0/cache/@progress-kendo-react-data-tools-npm-5.2.0-8d098f65a0-5d68752aaa.zip/node_modules/@progress/kendo-react-data-tools/dist/es/columnmenu/)
Ancestor breaking the chain: demo-react-kendo@workspace:.
```


The solution that works for me...

Add the package:

```sh
yarn add @progress/kendo-react-buttons
````

Edit `src/App.js` and add this line:

```js
import '@progress/kendo-react-buttons';
```

Won't Fix
Last Updated: 12 May 2022 11:58 by ADMIN
Created by: Joel Parker Henderson
Comments: 12
Category: KendoReact
Type: Bug Report
0
On this page: https://www.telerik.com/kendo-react-ui/getting-started/

The yarn example says...

```sh
yarn create react-app my-app
```

... which is old syntax and should not be used because of bugs.

Solution: update that line to use yarn download-and-execute (dlx) like this:

```sh
yarn dlx create-react-app my-app
```

Completed
Last Updated: 31 Jul 2023 07:16 by Joel Parker Henderson
Created by: Joel Parker Henderson
Comments: 4
Category: KendoReact
Type: Bug Report
0

On this page: https://www.telerik.com/kendo-react-ui/getting-started/

There's a syntax mismatch in end-of-line semicolons.

This line ends with a semicolon:

```js
import '@progress/kendo-theme-default/dist/all.css';
```

This line does not end with a semicolon:

```js
import { Calendar } from '@progress/kendo-react-dateinputs'
```

All teams that I know of consider it to be an error to do both ways in the same file.

The solution is to pick one way then be consistent. The broader solution is to use a linter, such as ESLint, that can process the code to ensure you're using your expected syntax and formatting.

 

Declined
Last Updated: 26 Jul 2023 11:29 by ADMIN
Created by: James
Comments: 2
Category: KendoReact
Type: Feature Request
0

Hi there,

I can see there is a column chooser component for the Angular Data Grid e.g. https://www.telerik.com/kendo-angular-ui/components/grid/columns/menu/#toc-column-chooser-item but there is not an equivalent for the React Data Grid (unless you code it yourself).

The DevExpress React Grid does have this feature https://devexpress.github.io/devextreme-reactive/react/grid/docs/guides/column-visibility/ so we were wondering if such a thing is planned React Data Grid?

Thanks very much,

James

Unplanned
Last Updated: 04 May 2022 08:48 by ADMIN
Created by: Laridael
Comments: 1
Category: KendoReact
Type: Feature Request
0

Hello Support Team,

We are migrating our ASP MVC application to React JS and need your help in scheduler time-line view. In ASP MVC you provided the functionality to render the custom template for Resource Title or we can say for the user name. But we are unable to implement the same functionality in react js, and this is the important module of our application. Our application client strictly say he needs 100% same application as it is in ASP MVC version.

We request you to please add this feature to the Scheduler in the coming updates & this would be useful to the other users also.

Thank You.

Unplanned
Last Updated: 09 May 2022 09:36 by ADMIN

Hi Team,

I am facing one challenge to create a Calendar view with multiple date selection with multiple colors.

Please suggest and share class component references to achieve the same.

Please refer attached video or do let me know if you have any questions.

Thanks.

Unplanned
Last Updated: 18 May 2022 08:00 by ADMIN

If you show a Grid with no rows, the Kendo Grid displays a `k-grid-norecords` row. The generated HTML for this is:

<tr class="k-grid-norecords" aria-rowindex="2"><td colspan="5">No records available</td></tr>

If you run Axe accessibility checks (axe-core 4.4.1) against this, it reports:

Impact: critical
Elements must only use allowed ARIA attributes
ARIA attribute is not allowed: aria-rowindex="2"

It seems that according to Axe, this <tr> element should have `role="row"` to make it compliant.

Normal data rows, where there is data, do include `role="row"`. Only the 'no records' row seems to be missing it. Can this role be added?

Unplanned
Last Updated: 12 May 2022 08:29 by ADMIN
Created by: Louise
Comments: 1
Category: KendoReact
Type: Feature Request
0

Currently the MultiSelectTree Component doesn't have Virtualization therefore is unable to provide infinite scrolling.

Please can this be added.

 

Thank you,

Completed
Last Updated: 04 Dec 2024 23:33 by ADMIN
Created by: Marcu
Comments: 2
Category: KendoReact
Type: Bug Report
0

Hello,

After updating the kendo version in my project to "^5.1.0" I've noticed that some errors are appearing in our console when we are trying to resize items in the Scheduler. 

"use-resize-item.js:53 Unable to preventDefault inside passive event listener invocation."

I have attached a video with the error.

Thanks!

Unplanned
Last Updated: 21 Jun 2022 13:54 by ADMIN
Created by: Connor
Comments: 3
Category: KendoReact
Type: Feature Request
0

I'm working with the MultiSelect dropdown.

My issue is that feeding my own search control into the header of the dropdown itself seems to be impossible.

Our design calls for this component, but requires a search input within the dropdown itself. I've tried to insert one as a header, but your control is built in a way that forces the dropdown to close when the header of the dropdown is clicked. Making my attempted customization of the component impossible. From quick testing it seems the other dropdowns are built this way as well. Making components work in the header and footer (without closing the popup) would greatly increase the customizability of the dropdowns. 

It also seems that the current search input within the button can't be removed or changed to readonly. Our design doesn't expect customizable input in the button. It seems that even if you have filtering turned off it still accepts input that does nothing.

Declined
Last Updated: 29 Jun 2022 12:42 by ADMIN
Created by: Brent
Comments: 1
Category: KendoReact
Type: Feature Request
0

Any chance you could provide simple sample code (stackblitz ideally) demonstrating how to combine multiple PDFExport's into a single PDF file?

The need to combine comes from wanting page numbering to start at 1 within each individual pdf render.

Totally open to using the lower level exportPDF from the drawing library... perhaps there's a straightforward path to combining the individual DataURI's?  also open to using additional 3rd party npmjs libraries.

Unplanned
Last Updated: 21 Jul 2022 11:04 by ADMIN

The data tool Filter component allows me to build an AND/OR filter query. It has a button for adding additional Group objects for nesting query parameters.

Can you please add an option that disables that button so that the user can only add basic AND/OR filters? No additional Groups?

Thank you,

Ryan