Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement screen reader support using AccessKit library. #76829

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

bruvzg
Copy link
Member

@bruvzg bruvzg commented May 8, 2023

Initial implementation of the AccessKit integration use C-API:

All base (non-editor) controls except GraphEditor should work now. UI behavior without active screen reader should be unchanged. When screen reader is running, some controls that normally do not can accept keyboard focus (Label, RTL, TabBar) and extra keyboard actions (switching tabs, selecting RTL paragraph and embedded images/tables, selecting embedded TreeItem buttons).

Additionally, provides access to some accessibility related OS settings (high contrast, reduce animation, reduce transparency and screen reader status)

Screen recordings (updated)
2023-06-02.13-13-41.mp4

Expects accesskit_sdk_path command line argument or environment variable with the path to the pre-build AccessKit-C 0.9.0 folder.

Supersede #72886
Fixes #58074
Implements godotengine/godot-proposals#983 (partial)
Implements godotengine/godot-proposals#1964

@ashleygrobler04
Copy link

Hi there. is the main editor supposed to work with screen readers as of yet? or only games?
Thanks a lot for all the effort.

@bruvzg
Copy link
Member Author

bruvzg commented Dec 5, 2023

Hi there. is the main editor supposed to work with screen readers as of yet? or only games?
Thanks a lot for all the effort.

Standard controls used in the editor should work, but the editor have a lot of custom elements. For most of them (like 2D/3D canvas editor), it will be really hard (if possible) to implement accessibility.

@ashleygrobler04
Copy link

Hi, thanks. How do I enable the accessibility? I managed to compile it from source. Based on the code it looks like the accessibility or screen reader should be detected automaticly... When I am in the editor and I use the tab and arrow keys, it doesn't speak anything.

@Ali-Bueno
Copy link

Ali-Bueno commented May 6, 2024

Hello. Would be possible for the future make context menus (like the menu bar) readable for screen readers? currently it only announces menu bar and it reads nothing, and that was possible with the old godot 3.2 with nolan's plugin. If yes, that would be very great, as with this current version, almost all is readable, but to start to messing with this as I did before with nolan's plugins, we need that the context menus become accessible/readable. thanks much!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Godot doesn't work with screen readers
6 participants