fb56a4e37d
Begin adding support to enable/disable screen reader.
2020-03-30 15:15:00 -05:00
fa9e10b1ea
Change Accessible
initialization strategy.
...
`Accessible` is now a child of its `Control`. This helps to ensure that everything gets cleaned up as it should. Further, node additions no longer scrape the entire scene.
This may introduce regressions and has only been lightly tested, but without it, `ScreenReader` leaked in various circumstances, including some that caused segfaults on exit.
2020-03-18 08:56:45 -05:00
f47450d05d
Add support for focusing RichTextLabels.
2020-01-30 13:23:52 -06:00
ae4c4c2aa0
More README updates.
2020-01-29 13:31:22 -06:00
aed41874cd
Update to specify 3.2 as the minimum supported version.
2020-01-29 13:24:21 -06:00
d180158749
Remove automatic capture of arrow keys by nodes.
...
On one hand, it's a bit confusing that UIs can be arrowed around independently of tab/shift-tab. Arrow navigation doesn't feel as intuitive, as it isn't obvious where you'll land.
On the other, it's quicker to navigate between areas of the editor UI by arrowing up/down between controls, and may solve the issue of having to tab a million times to traverse all controls. This also allows for in-game UIs to be traversed using arrows and, quite probably, gamepads as well.
2020-01-25 11:44:20 -06:00
1bef677066
Present button disabled state.
2020-01-21 15:28:23 -06:00
4e1d152657
Note that only 64-bit builds of Godot are supported for now.
2020-01-18 11:00:49 -06:00
ecd3ff6143
Update README.
2020-01-15 09:40:45 -06:00
8ffcaf970e
Generate correct ui_focus_next
and ui_focus_prev
events.
2020-01-14 16:41:35 -06:00
22bb195db0
Don't double-present popup menu item text in cases where the item and shortcut resource name are identical.
2020-01-13 18:06:26 -06:00
fc5b591fe3
Better dialog presentation, and make message labels non-focusable.
2020-01-13 17:59:48 -06:00
fe19717640
Make AcceptDialog focusable so its message can be reread.
2020-01-13 17:52:59 -06:00
cc910a8570
Improve dialog-handling and protect keybinding-setter special case.
2020-01-13 17:16:34 -06:00
be6a6b528e
Add support for reading AcceptDialog
messages automatically.
2020-01-02 11:43:56 -06:00
2aea81749c
Make guessed labels non-focusable to minimize on tabbing.
2019-12-30 09:16:00 -06:00
d5c79f7c56
Don't guess the label for a label.
2019-12-30 09:13:32 -06:00
5b2c16f342
Filter out InputEventMouseButton
with device ID of -1, which seems to indicate an origin of touchscreen. Only pass through if explore-by-touch is active.
2019-12-30 08:27:20 -06:00
fbbbb1e06e
Revert "Apparently, focused
is triggered on mouse_enter
as well, so this code isn't needed."
...
Necessary for next commit, which selectively ignores mouse events and needs this code for explore-by-touch.
This reverts commit dc6186c583
.
2019-12-30 08:25:57 -06:00
dc6186c583
Apparently, focused
is triggered on mouse_enter
as well, so this code isn't needed.
2019-12-29 21:53:35 -06:00
50ea09d7f7
And bring back old cleanup code, which now seems to work better post-yield-abandonment.
2019-12-29 20:14:11 -06:00
96e7153410
Back to storing Accessible
as array in ScreenReader
, since otherwise the SceneTree
is thrashed.
2019-12-29 19:53:15 -06:00
833a34b602
Don't speak empty labels since this seems to cause a silent crash.
2019-12-29 19:52:33 -06:00
4ff6b51114
Double-tap runs ui_accept
.
2019-12-29 18:52:44 -06:00
f17c070887
Swiping right/left moves focus between controls.
2019-12-29 18:44:15 -06:00
462cd08bbc
Add hook to initiate explore-by-touch.
2019-12-29 18:23:51 -06:00
71318fe938
Count number of taps, and add stub code to dispatch action.
2019-12-29 18:18:09 -06:00
6542994a25
Initial support for touchscreen swipe left/right/up/down.
2019-12-29 17:59:48 -06:00
8f53556129
Better label-guessing logic, and make associated labels non-focusable.
2019-12-28 14:41:36 -06:00
14e1832803
Remove stray whitespace.
2019-12-27 12:54:27 -06:00
75433eb5d6
Migrate focus restoration to _process
.
2019-12-27 12:50:33 -06:00
d6a6609673
Eliminate yield
in favor of _process
.
2019-12-27 12:46:09 -06:00
aea75e961e
Eliminate warnings about disconnection of nonexistent timeout signal.
2019-12-27 12:04:09 -06:00
b5a83e1c25
Add stub for detecting touchscreen events.
2019-12-27 11:19:49 -06:00
9051f381fe
Use WeakRef
to avoid double-free of timers.
2019-12-26 18:39:10 -06:00
d9c740abd6
Return to having Accessible
be a Node
under ScreenReader
, and having _exit_tree
free resources.
...
This eliminates the need to track and iterate through a separate array of `Accessible`s in `ScreenReader`.
The previous performance issues are resolved by ensuring that any nodes processed aren't children of the `ScreenReader` node. I don't know of another way to avoid triggering signals on a child node than checking ancestry and failing fast.
2019-12-26 18:25:26 -06:00
24483e4453
Patch another leak.
2019-12-23 09:59:12 -06:00
606766e0e8
Store list of Accessibles
and clean up manually.
2019-12-22 21:01:47 -06:00
dfe0c8179e
Make Accessible
extend Node
and parent it to ScreenReader
for easier cleanup.
2019-12-22 18:55:45 -06:00
6adce2706c
Ensure text
and old_text
are set before processing text changes.
2019-12-22 10:26:44 -06:00
4a8934abb3
Update README.
2019-12-22 09:56:22 -06:00
8e7f8c69f9
Connect signal in deferred mode to make plugin work on Beta 4.
2019-12-22 09:33:00 -06:00
ebf63b10e5
Update README.
2019-12-21 10:51:12 -06:00
b413961c52
Separate out editor accessibility from addition of the ScreenReader
node.
2019-12-21 10:13:06 -06:00
b4acee6dea
Support .godot-accessibility-editor-settings.ini file in project root. Currently supports setting rate and globally disabling plugin.
2019-12-21 09:54:12 -06:00
9f93730aa8
Switch order of Range
and ProgressBar
checks, resolving crash and restoring progress updates.
2019-12-20 13:59:31 -06:00
0a96ddb2e4
Don't hard-code rate to maximum.
2019-10-18 12:10:11 -05:00
6982e2023d
Don't speak range changes if the node isn't focused.
2019-10-18 11:35:04 -05:00
e1d24a00a4
Basic support for Range
.
...
Tested with `HSlider` and has basic support for other widget types, but I'm only adding support for what I'm immediately using or can access via the editor.
2019-10-18 10:58:16 -05:00
82b24801a3
Basic stub functionality for TextEdit
.
...
This can barely be called "support." It reads all text as a single block. I'd like to at least be able to unfocus the `TextEdit`, but it's going to require a custom key. Ctrl-tab and Ctrl-shift-tab seem like good candidates, but the editor grabs those already.
2019-10-18 10:44:31 -05:00