Commit e603629
authored
Don't unnecessarily repeat row and column headers when navigating ARIA grids in focus mode. (#20091)
Fixes #17750.
Summary of the issue:
When moving to an ARIA grid cell in focus mode in web browsers, NVDA previously reported both the row and column headers even if only the row or only the column changed.
Description of user facing changes:
When moving to an ARIA grid cell in focus mode in web browsers, NVDA no longer reports both the row and column headers even if only the row or only the column changed.
Description of development approach:
Previously, there were two problems:
After c4c3da6 (BrowseModeDocumentTextInfo.getControlFieldSpeech: Report the name of groupings (such as fieldsets) for quicknav and focus jumps, similar to how landmark labels are reported. #7435), Browse mode was updating the speech properties cache before speaking the focused object, even in focus mode. That meant that the row and column coordinates for the newly focused cell were already cached before NVDA spoke it, which made NVDA behave as if the coordinates never changed. The fix is to update the cache from the TextInfo after speaking the focused object.
Virtual buffers just used the IA2 unique id as the table id, but NVDAObjects use both the window handle and id, meaning that these didn't compare correctly in the speech cache. The fix is to make the vbuf normalize table ids to windowHandle and id.1 parent 3de7248 commit e603629
3 files changed
Lines changed: 18 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2225 | 2225 | | |
2226 | 2226 | | |
2227 | 2227 | | |
2228 | | - | |
| 2228 | + | |
| 2229 | + | |
| 2230 | + | |
2229 | 2231 | | |
2230 | 2232 | | |
| 2233 | + | |
| 2234 | + | |
| 2235 | + | |
2231 | 2236 | | |
2232 | | - | |
2233 | | - | |
2234 | 2237 | | |
2235 | 2238 | | |
2236 | 2239 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
216 | 216 | | |
217 | 217 | | |
218 | 218 | | |
219 | | - | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
220 | 228 | | |
221 | 229 | | |
222 | 230 | | |
| |||
579 | 587 | | |
580 | 588 | | |
581 | 589 | | |
582 | | - | |
583 | | - | |
| 590 | + | |
584 | 591 | | |
585 | 592 | | |
586 | 593 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| 13 | + | |
| 14 | + | |
13 | 15 | | |
14 | 16 | | |
15 | 17 | | |
| |||
0 commit comments