Commit 58e5802
authored
Add touch based web element navigation in browse mode (#19414)
Closes #3424
### Summary of the issue:
As noted in the above issue, touch users do not have a dedicated way to
perform browse mode style navigation of web content using touch
gestures.
### Description of user facing changes:
A new Web touch navigation mode has been introduced. When active, touch
gestures allow users to navigate common web elements such as links,
buttons, headings, form fields, landmarks, and other structural elements
in browse mode documents.
This enables touch based navigation that mirrors existing browse mode
navigation commands.
When browse mode is exited, the Web touch mode is automatically removed
and touch navigation returns to its previous behavior.
### Description of developer facing changes:
New touch gesture scripts have been added to invoke existing browse mode
navigation commands. These scripts reuse the existing
BrowseModeTreeInterceptor logic rather than introducing new navigation
implementations.
Supporting logic has been added to track the active browse mode context
and route touch gestures to the appropriate browse mode commands when
available.
### Description of development approach:
This change was implemented by subscribing to browse mode state change
notifications and using them as the authoritative signal for enabling
and disabling web specific touch behavior. The active browse mode tree
interceptor is cached on activation and cleared on deactivation.
### Testing strategy:
Manual testing was performed using touch navigation in multiple browse
mode documents across supported web browsers. Testing verified:
* Automatic activation of Web touch mode when entering browse mode
* Correct removal of Web touch mode when leaving browse mode
* Correct navigation between web elements using touch gestures
* No appearance of Web touch mode in non browse mode contexts
### Known issues with pull request:
None1 parent ffe0a0a commit 58e5802
File tree
8 files changed
+336
-32
lines changed- source
- config
- gui
- tests
- user_docs/en
8 files changed
+336
-32
lines changedLarge diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| |||
215 | 215 | | |
216 | 216 | | |
217 | 217 | | |
| 218 | + | |
| 219 | + | |
218 | 220 | | |
219 | 221 | | |
220 | 222 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4581 | 4581 | | |
4582 | 4582 | | |
4583 | 4583 | | |
4584 | | - | |
4585 | | - | |
4586 | | - | |
4587 | | - | |
4588 | | - | |
4589 | | - | |
| 4584 | + | |
4590 | 4585 | | |
4591 | 4586 | | |
4592 | 4587 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
2662 | 2662 | | |
2663 | 2663 | | |
2664 | 2664 | | |
| 2665 | + | |
| 2666 | + | |
| 2667 | + | |
| 2668 | + | |
| 2669 | + | |
| 2670 | + | |
| 2671 | + | |
| 2672 | + | |
| 2673 | + | |
| 2674 | + | |
| 2675 | + | |
| 2676 | + | |
| 2677 | + | |
| 2678 | + | |
| 2679 | + | |
| 2680 | + | |
| 2681 | + | |
2665 | 2682 | | |
2666 | 2683 | | |
2667 | 2684 | | |
| |||
2681 | 2698 | | |
2682 | 2699 | | |
2683 | 2700 | | |
| 2701 | + | |
| 2702 | + | |
| 2703 | + | |
| 2704 | + | |
| 2705 | + | |
2684 | 2706 | | |
2685 | 2707 | | |
2686 | 2708 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
12 | 21 | | |
13 | 22 | | |
14 | 23 | | |
| |||
43 | 52 | | |
44 | 53 | | |
45 | 54 | | |
| 55 | + | |
| 56 | + | |
46 | 57 | | |
47 | 58 | | |
48 | 59 | | |
| |||
51 | 62 | | |
52 | 63 | | |
53 | 64 | | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
54 | 74 | | |
55 | 75 | | |
56 | 76 | | |
57 | | - | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
58 | 95 | | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
| 96 | + | |
63 | 97 | | |
64 | 98 | | |
65 | 99 | | |
| |||
95 | 129 | | |
96 | 130 | | |
97 | 131 | | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
98 | 156 | | |
99 | 157 | | |
100 | 158 | | |
| |||
232 | 290 | | |
233 | 291 | | |
234 | 292 | | |
235 | | - | |
| 293 | + | |
236 | 294 | | |
237 | 295 | | |
238 | 296 | | |
| |||
249 | 307 | | |
250 | 308 | | |
251 | 309 | | |
252 | | - | |
| 310 | + | |
253 | 311 | | |
254 | 312 | | |
255 | 313 | | |
| |||
333 | 391 | | |
334 | 392 | | |
335 | 393 | | |
336 | | - | |
| 394 | + | |
337 | 395 | | |
338 | 396 | | |
339 | 397 | | |
| |||
408 | 466 | | |
409 | 467 | | |
410 | 468 | | |
| 469 | + | |
411 | 470 | | |
412 | 471 | | |
413 | 472 | | |
414 | 473 | | |
415 | 474 | | |
416 | 475 | | |
| 476 | + | |
417 | 477 | | |
418 | 478 | | |
419 | 479 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
50 | | - | |
51 | | - | |
52 | 50 | | |
53 | 51 | | |
54 | 52 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
19 | 22 | | |
20 | 23 | | |
21 | 24 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
613 | 613 | | |
614 | 614 | | |
615 | 615 | | |
616 | | - | |
| 616 | + | |
617 | 617 | | |
618 | 618 | | |
619 | 619 | | |
620 | 620 | | |
621 | 621 | | |
622 | | - | |
| 622 | + | |
623 | 623 | | |
624 | 624 | | |
625 | 625 | | |
| |||
1064 | 1064 | | |
1065 | 1065 | | |
1066 | 1066 | | |
| 1067 | + | |
| 1068 | + | |
| 1069 | + | |
| 1070 | + | |
| 1071 | + | |
| 1072 | + | |
| 1073 | + | |
| 1074 | + | |
| 1075 | + | |
| 1076 | + | |
| 1077 | + | |
| 1078 | + | |
| 1079 | + | |
| 1080 | + | |
| 1081 | + | |
| 1082 | + | |
| 1083 | + | |
| 1084 | + | |
| 1085 | + | |
| 1086 | + | |
| 1087 | + | |
| 1088 | + | |
| 1089 | + | |
| 1090 | + | |
| 1091 | + | |
| 1092 | + | |
| 1093 | + | |
| 1094 | + | |
| 1095 | + | |
| 1096 | + | |
| 1097 | + | |
| 1098 | + | |
1067 | 1099 | | |
1068 | 1100 | | |
1069 | 1101 | | |
| |||
3317 | 3349 | | |
3318 | 3350 | | |
3319 | 3351 | | |
| 3352 | + | |
| 3353 | + | |
| 3354 | + | |
| 3355 | + | |
| 3356 | + | |
| 3357 | + | |
| 3358 | + | |
| 3359 | + | |
| 3360 | + | |
3320 | 3361 | | |
3321 | 3362 | | |
3322 | 3363 | | |
| |||
0 commit comments