We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date

Screen Reader Question

I have a custom control that contains the Grid Control. This control is now required to be compatible with screen readers. I am currently using Window-Eyes as my reader. I have coded my interface correctly and when using the mouse to click on a grid row, the information in the row is properly announced. However, when I use the keyboard (just the up/down arrows), the information is not being announced. I am using the "MoveTo" to ensure that focus goes to the first column in the newly selected row but that does not seem to help. Is there any way to emulate a click on a grid cell when handling the "KeyDown" event? Is there another way to ensure that a grid cell is physically selected? This is most likely an issue with Window-Eyes and not the grid control but I am now looking for a way to get around this issue as our code freeze is quickly approaching. Thanks in advance.

3 Replies

AD Administrator Syncfusion Team September 26, 2005 07:14 PM UTC

Just something to try. Try setting this.gridControl1.ActivateCurrentCellBehavior = GridCellActivateAction.SetCurrent; This will make sure the current cell gets activated as you cursor into the cell. This happens by default when you click on a cell but does not when you cursor into the cell.


KL Kevin Lavallee September 28, 2005 12:17 PM UTC

Hi Clay, I probably should have mentioned this in my original post. We have a class that is derived from the GridControl class and we are overriding the keyboard events. We are manually highlighting the cells that need to be as we have merged ranges (columns)that need to be selected for different rows. The code was never really telling the grid control to physically go to a particular row/column. It was just highlighting the cells and raising a custom event which included the row/column that we just manually highlighted. I have changed to code to implement your suggestion as well as call the following methods to physically place the focus into a specific cell: this.Grid.CurrentCell.MoveTo this.Grid.RaiseCellClick These seem to not adversely affect the functionality of my derived object but it still will not trigger the screen reader to request the accessibility object for the new cell that I am forcing myself into. Any other thoughts on what the "DownArrowKey" event would normally have done that I need to emulate? Thanks again for your help.


AD Administrator Syncfusion Team September 29, 2005 08:35 AM UTC

Hi Kevin, DownArrowKey just moves the current cell one down using CurrentCell.Move(). This is how the src. code handles the DownArrowKey. protected override void OnKeyDown(KeyEventArgs e) { /// /// case Keys.Down: if (!menuKeyDown) { success = CurrentCell.Move(controlKeyDown ? GridDirectionType.Bottom : GridDirectionType.Down, Math.Max(1, repeatCount), extendSelection); isHandled = true; isSpeedKey = Control.ModifierKeys == Keys.None && success && !cancelMode; } break; /// /// Best regards, Jay

Loader.
Live Chat Icon For mobile
Up arrow icon