-
Notifications
You must be signed in to change notification settings - Fork 600
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
Accessibility: support for screen readers #32
Comments
Please consider voice over accessibility for touch screens together with this. This is not an area I have much knowledge to offer, but I want to note that keyboards are not the only way that navigating GUIs is done with screen readers. |
AccessKit could be helpful for this. |
That looks promising, I'll keep an eye on that. Thanks for the pointer! |
Hello, Please, could you rename the title ? Something like "Accessibility: support for screen readers". For your information, screen readers on Windows are:
Linux (using AT-SPI 2):
Apple OSX & IPhone:
Android:
|
Done :). Thanks for the feedback and the checklist! |
Just to add on this, no accessibility support makes Slint a really hard sell for a GUI framework compared to something like Qt, GTK or even stock Win32. Slint is barred from running in organizations that require use of accessible software for example. |
Since someone mentioned my AccessKit project, I'll offer a quick update on it. I've got a basic Windows implementation working; the biggest limitation right now is lack of support for text editing. Also, I have a branch of Druid with AccessKit support. So now, the Slint team has something concrete to look at. I'll start working on AccessKit again in a few weeks. |
That’s excellent. Thank you for the update (and your work on AccessKit)! |
I noticed this is listed as “low priority”. Unfortunately, in multiple nations, inaccessible UIs in commercial products are prohibited by law, which makes this a blocker. (Source: Hacker News) |
@DemiMarie : Thanks for your comment. |
You’re welcome! I am glad that it was helpful, and even more so that you are working on accessibility support. |
@ogoffart: I hope this is not too much to ask, but could non-accessible elements cause a compiler warning? |
I like that idea a lot. |
Warning on all non-accessible elements seems a bit of overkill: You do not want the screen reader point out random Rectangles making up a Button! You care for the Button in its entirety and the Functionality that provides. Maybe we could warn about non-accessible exported Elements. Those are the building blocks used elsewhere. |
Warning on all non-accessible elements might work okay if there's a way to explicitly opt out of the warning like clippy lints. |
That sounds like a great idea. |
Now that AccessKit integration is merged in egui, and the AccessKit Windows backend supports text editing (coming soon on macOS), maybe it's a good time to look at integrating AccessKit into slint. That is, unless you expect that desktop apps in production will use the Qt backend for the long term, though that complicates commercial licensing. |
What about a direct AT-SPI backend for Linux? |
That's what AccessKit is building: AccessKit/accesskit#56 |
AccessKit just made the first release with Unix support: AccessKit/accesskit#198 It would be great to use it with Slint's winit backend. |
If there are any concerns about AccessKit's implementation, API, or support for different widget types that are blocking Slint's adoption of AccessKit, please let me know. Thanks. |
@mwcampbell Thanks for the offer :-) |
Beyond #2865 I'm going to file a few tickets under the accessibility label, so that we can track further improvements. My objective is to close this task when #2865 lands and incrementally work forwards. |
At the risk of this being a very open task, this ticket tracks the foundation of accessibility support. This is by no means everything, but it's a start.
Acceptance Criteria: It's possible to navigate the widget gallery demo using voiceover and a keyboard on at least one platform (such as macOS or Linux). This means the text of labels, etc. is read, it's possible to use the keyboard to navigate between different elements and activate them.
The text was updated successfully, but these errors were encountered: