Unplanned
Last Updated: 06 Apr 2021 12:41 by ADMIN
Vivek
Created on: 02 Apr 2021 11:46
Category: GridView
Type: Feature Request
1
RadGridView: add functionality for Narrator to read the cell's value when pressing the Tab key

Dear Support team,

Our Application issue: While running application in assistive mode and having a grid with large number of columns, Narrator/JAWS starts reading each Column Value as "DbNull"
while User is Tabbing through selected Row. (Please see attach Video for better understanding.)

I also created a sample Program:

1. Build Win Form app having a RadGridView. [Sample Attached in 1514161]
2. Start Win 10 Narrator App

3. Run App from Step #1 [Note: Please do not Resize Main Form yet]
4. Start Tabbing from Grid selected Row. Narrator does not read/speak Cell Values.

5. Now Close & Run Application again and Maximize Window. Repeat Step #4. Narrator reads/speak Cell Values as expected.

 

It seems reads all values fine until they are visible, and once you continue tabbing and horizontal scrolling happens and then stops reading.

 

Please advice.  A Fix for it would be a great help!


Looking forward to hear back!

Thanks and Regards,

Vivek
Sr. .Net Developer

6 comments
ADMIN
Dess | Tech Support Engineer, Principal
Posted on: 06 Apr 2021 12:41

Hi, Vivek,

I have created a private support ticket your behalf with the information provided in your initial post together with the provided files. You can find Ticket ID: 1514161 in your Telerik account.

As to the sample project, I would like to note that this behavior is currently not supported. In addition, you marked in the ticket's info that you are using an older version 2017.2.502 which has an older internal implementation of the accessibility support in RadGridView. Please try to upgrade to the latest version.

Since the necessary functionality is not supported, we previously logged this feature request for RadGridView to read cell by cell when using the Tab key to navigate through the cells. The suggested solution is just a sample approach which may not cover all possible cases. Please excuse us for the inconvenience caused if the provided solution doesn't work completely for your scenario. This is the behavior we can provide with the current implementation. We will do our best to address this feature accordingly considering the demand for it.

Please Follow the logged feature request in order to get notified once the needed functionality is implemented. You can increase the priority of this feature by adding a vote to it.

Regards,
Dess | Tech Support Engineer, Sr.
Progress Telerik

Virtual Classroom, the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products quickly just got a fresh new look + new and improved content including a brand new Blazor course! Check it out at https://learn.telerik.com/.

Vivek
Posted on: 06 Apr 2021 12:27

Dess,

The below solution you provided isn't working in the attached Sample.

Could you please modify the sample and provide a working solution.

Behavior now I see is Narrator pronounced each Cell Value twice 1 with "db null" and 1 with Cell Value.

 

Please remove our ticket from public profile and convert to Support Ticket as we have in the past.

 

Thanks for your prompt attention.

 

Vivek

Vivek
Posted on: 06 Apr 2021 12:04

Hi Dess,

Please remove our support ticket ASAP from public profile due to the nature of application type and especially the Video attachment. Also set it back our account / private Support Ticket so that we can track the progress.

 

Thanks in advance for your immediate attention.

 

I'm going to try your solution and let you know how it behaves in our application.

 

Best,

Vivek

ADMIN
Dess | Tech Support Engineer, Principal
Posted on: 06 Apr 2021 07:18

Hello, Vivek, 

I have converted your support thread to a feature request in our feedback portal. That is why you are not finding the ticket in your Telerik account. The public item can be accessed on the following link - https://feedback.telerik.com/winforms/1513840-radgridview-add-functionality-for-narrator-to-read-the-cell-s-value-when-pressing-the-tab-key

You can track its progress, subscribe for status changes via the Follow button and add your vote to it in order to increase its priority.

As to the possible solution that you can try, please refer to the following custom implementation of a row behavior where its Tab key handling is overridden and the current row is stored, then set to null and restored again in order to force changing the current row for the narrator: 

        public RadForm1()
        {
            InitializeComponent();

            this.radGridView1.EnableRadAccessibilityObjects = true;

            this.radGridView1.SelectionMode = GridViewSelectionMode.CellSelect;

            //register the custom row  behavior
            BaseGridBehavior gridBehavior = radGridView1.GridBehavior as BaseGridBehavior;
            gridBehavior.UnregisterBehavior(typeof(GridViewDataRowInfo));
            gridBehavior.RegisterBehavior(typeof(GridViewDataRowInfo), new CustomGridDataRowBehavior());
        }

        public class CustomGridDataRowBehavior : GridDataRowBehavior
        {
            protected override bool ProcessTabKey(KeyEventArgs keys)
            {
                bool result= base.ProcessTabKey(keys);
                GridViewRowInfo currentRow = this.GridControl.CurrentRow;
                this.GridControl.CurrentRow = null;
                this.GridControl.CurrentRow = currentRow;
                //if (this.GridControl.CurrentRow !=null && this.GridControl.CurrentColumn!=null)
                //{
                //    this.GridControl.BeginEdit();
                //}
                return result;
            }
        }

I have tested the above solution in the latest version of the Telerik UI for WinForms suite and when "Tabbing" the cells, the respective cell's value is read by the Narrator. An alternative approach of managing the current row is to trigger entering edit mode after pressing Tab. It is contained in the commented code in the above snippet. You can uncomment it and remove the code for managing the current row. However, when you force entering edit mode, only the editor's value is expected to be pronounced by the Narrator. Considering the current internal implementation that we have in RadGridView about accessibility this is the possible approach that I can propose even though it is not an ideal solution.

Make sure that you cast your vote for this feature request in order to increase its priority. The more votes an item gathers, the higher its priority becomes.

Feel free to use this approach which suits your requirements best.

Regards,
Dess | Tech Support Engineer, Sr.
Progress Telerik

Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.

Vivek
Posted on: 05 Apr 2021 12:10

Hi Dess,

Thanks for confirming the issue.

Why I'm not seeing this reported issue under my Support Tickets?

Could you please provide me an updated sample with your approach.

 

Thanks!

Vivek

ADMIN
Dess | Tech Support Engineer, Principal
Posted on: 05 Apr 2021 06:27

Hello, Vivek, 

The provided sample project and video are greatly appreciated. I was able to replicate weird behavior when using the Narrator in the latest version. When I navigate through the cells via Tab key (even though with GridViewSelectionMode.CellSelect) the cell's value is not read at all on my end. Only by clicking on a cell from another row, the narrator reads the value.

However, if the editor is activated for a certain cell, the narrator reads its value and then navigating via the Tab key, the editor is moved to the next cell and the respective value is pronounced. Could you please give this approach a try and see how it works on your end? In addition, I have noticed that you are using an older version (2017.2.502). Since we have introduced improvements during the past few years regarding the accessibility support, I would highly encourage you to try upgrading to the latest version in order to benefit all the introduced new fixes and features regarding the entire suite.

I have compared the behavior in RadGridView and MS DataGridView in combination with the Narrator and it seems that moving the selected cell in DataGridView moves the Narrator to read the next cell accordingly. I will log a feature request on your behalf to investigate the possibilities for improving the accessibility experience in RadGridView when the selected cell is moved via the Tab key.

You can track its progress, subscribe for status changes and add your comments on the following link - feedback item.

I have also updated your Telerik points.

Meanwhile, I can suggest you to activate the editor when the selected/current cell is changed. Thus, the narrator is expected to read the cell's value.

I hope this information helps. If you need any further assistance please don't hesitate to contact me. 

Regards,
Dess | Tech Support Engineer, Sr.
Progress Telerik

Virtual Classroom, the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products quickly just got a fresh new look + new and improved content including a brand new Blazor course! Check it out at https://learn.telerik.com/.