Commit Graph

208 Commits

Author SHA1 Message Date
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
fc3c70e16c #2: Fix incorrect method name in signal connection.
Fixes #2.
2019-10-17 10:02:55 -05:00
b7facbdf69 Merge branch 'ellenhp/godot-accessibility-fix_tree_multiselect' 2019-10-17 09:41:41 -05:00