Opened 11 years ago

Closed 11 years ago

#7676 closed defect (fixed)

[patch] [ccla] scrolling new data into view does not work via the keyboard

Reported by: Becky Gibson Owned by: Bryan Forbes
Priority: blocker Milestone: 1.3
Component: DojoX Grid Version: 1.2beta
Keywords: a11y keyboard Cc: Joseph Scheuhammer
Blocked By: Blocking:

Description

load dojox/grid/tests/test_data_grid.html, focus on Africa in the first row. Press the down arrow to focus the next cell. Continually press the down arrow (but don't hold it down due to #7675)until focus reaches North America. Press down arrow again and the data for the next row is lot loaded, instead focus moves from the cell to the table itself. Pressing pagedown will load the data and allow scrolling of the data but focus remains on the grid rather than in a cell.

Ideally you should be able to continue to press down arrow with focus on North America and the data should be loaded and the focus should move to the cell down in the next (newly added) row.

Attachments (1)

7676.patch (1.2 KB) - added by Becky Gibson 11 years ago.

Download all attachments as: .zip

Change History (7)

comment:1 Changed 11 years ago by bill

Milestone: tbd1.3

marking these TBD tickets for 1.3 for now, although Bryan may recategorize

comment:2 Changed 11 years ago by Bryan Forbes

Priority: normalhigh

Changed 11 years ago by Becky Gibson

Attachment: 7676.patch added

comment:3 Changed 11 years ago by Becky Gibson

I took a stab at a fix. The problem is that calling move(1,0) does not cause data to be loaded if it is needed in order to perform the scroll. So, I added a check to see if this is the last row in the current scroller page. If so, call scroll() to move down one row. The scroll() function handles paging in data if needed. Determining how much to scroll seems a bit awkward but I couldn't find another way to accomplish this. You probably also need to apply the patch in #7677 for focus to be properly set after the page load.

Note that I also fixed another issue with the change to the PAGEDOWN code. Previously the initial if statement referred to this.store.count which was undefined. I used the same check as in DOWN_ARROW - this.focus.rowIndex+1 != this.rowCount. Without this fix focus gets lost if you press page down again when focus is on the last row of data.

comment:4 Changed 11 years ago by Becky Gibson

Summary: scrolling new data into view does not work via the keyboard[patch] [ccla] scrolling new data into view does not work via the keyboard

comment:5 Changed 11 years ago by Jared Jurkiewicz

Priority: highhighest

Please review these patches. These are all targeted for 1.3

comment:6 Changed 11 years ago by Bryan Forbes

Resolution: fixed
Status: newclosed

(In [16816]) * Applied patches from Becky Gibson. (fixes #6989, fixes #7228, fixes #7676, fixes #7677, fixes #7914, fixes #7922, fixes #8696 !strict)

Note: See TracTickets for help on using tickets.