Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Sign upNVDA virtual buffer navigation does not synchronize with onscreen focus #57
Comments
This comment has been minimized.
This comment has been minimized.
|
Comment 1 by pvagner on 2008-04-29 07:54 |
This comment has been minimized.
This comment has been minimized.
|
Comment 2 by vtsaran on 2008-05-01 18:52 |
This comment has been minimized.
This comment has been minimized.
|
Comment 3 by pvagner on 2008-05-01 19:23 |
This comment has been minimized.
This comment has been minimized.
|
Comment 4 by jteh on 2008-05-02 03:08
|
This comment has been minimized.
This comment has been minimized.
|
Comment 5 by jteh (in reply to comment 4) on 2008-05-05 23:40
The solution to this problem is to only override if the cursor is not within a field. That is, if the cursor is within a field, tab and shift+tab behave normally, thus honouring the page's tab order until the user manually moves the cursor. |
This comment has been minimized.
This comment has been minimized.
|
Comment 6 by jteh (in reply to comment 5) on 2008-05-09 02:01
Correction: Only override if the cursor is not within the node which currently has the focus. To make this determination, we get the focus object, grab its offsets in the buffer and determine whether the cursor is within these offsets. If it is, tab/shift+tab should be passed through. Otherwise, tab/shift+tab are overridden as described above. |
This comment has been minimized.
This comment has been minimized.
|
Comment 7 by jteh (in reply to comment description) on 2008-05-12 09:24
Actually, this description does not seem to be quite correct to me. What do you mean by the navigation not being synchronised with clicking elements with a mouse? If the user clicks a focusable element with the mouse, the element will receive focus and the virtual buffer cursor will update accordingly. The same occurs for tab. The issue here is not that NVDA doesn't synchronise with focus. The issue is that the tab key should move to the next focusable element relative to the virtual buffer cursor. Is this a correct summary of the request? |
This comment has been minimized.
This comment has been minimized.
|
Comment 8 by jteh (in reply to comment 4) on 2008-05-26 03:02
IAccessible2's scrollTo method only has constants for scrolling an object to different positions on the screen, but no constant to just scroll the screen as necessary to bring the object on screen. However, Mozilla define their own constant, SCROLL_TYPE_ANYWHERE, for this purpose. This has a value of 0x06. We should be able to use scrollTo with 0x06 to achieve what we want. |
This comment has been minimized.
This comment has been minimized.
|
Comment 9 by jteh (in reply to comment 8) on 2008-05-28 04:57
Implemented by Mick in r2073. |
This comment has been minimized.
This comment has been minimized.
|
Comment 10 by jteh on 2008-06-10 07:21 |
This comment has been minimized.
This comment has been minimized.
|
Comment 11 by jteh on 2008-06-10 07:21 |
Reported by vtsaran on 2008-04-04 05:07
Currently, NVDA virtual buffer navigation is not synchronized with onscreen navitation such as tabbing from element to elemen or clicking the element with a mouse.
Repro steps:
Current behavior:
NVDA focuses on the first element on the page.
Expected behavior:
NVDA should focus on the tabbable element which is immediately after the one on which virtual cursor is located.