-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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 accessibility support #552
Comments
Note: GTK4 is now using AT-SPI directly, because ATK is a barely maintained thing that only adds unnecessary indirection. |
Taking inspiration from semantic HTML and its accessibility: would it be an idea to make certain marker traits such as Personally, I think it also has the benefit of making the code more readable, just like semantic HTML. |
@hecrj Why is not this on the roadmap? |
The first version of accesskit was published a few days ago, it's probably worth keeping an eye on it. Even if iced decides to go another route they're doing stuff like upstreaming stuff to winit that's necessary to elegantly implement MSAA/UIAutomation |
I want to link in this thread, discussing accessibility in The tldr is this: egui is currently trying to do integrated TTS as a stopgap for true screenreader accessibility. However, Matt has prototyped an implementation of egui that uses the Matt also provides a brief overview of accesskit's architecture, which sounds like it will mesh really well with the elm-style architecture
Other highlights:
Addendum: Huge kudos to Matt Campbell and Nolan Darilek. I feel like I didn't emphasize this before editing this post, but y'all's work is wonderful and appreciated If I may switch from "providing updates mode" to "asking questions about the projects direction mode", I might want to ask (or at least open discussion for) where
|
Agreed, acesskit seems promising |
@Alch-Emi Thanks for looping me in here, and sorry for the late response. I hope to start working on AccessKit in earnest again in a few weeks. I'd call it alpha right now. If all goes according to plan, the Windows implementation should be beta-quality in a few months, and then I'll start on the Mac implementation. Other platforms will probably have to wait a while. I may be able to spend some time working on integration into iced. |
Having accessibility would be a huge competitive advantage for me in iced as not many or even any other rust frameworks (that I'm aware of) use it at the moment. Would love to help work on this is that would be helpful :) Very happy to see this discussion! |
A quick update: AccessKit is still Windows-only, and there are still serious limitations in the Windows implementation, most notably lack of support for text editing. But one major blocker has just been resolved: the newly published accesskit_winit crate makes it straightforward to use AccessKit with winit, without requiring changes to winit itself. |
For an initial design for accessibility support, I think these are particularly important to consider (the other parts are just "implementation details", in theory). This probably has to be done by adding methods to the I suppose Elm must have some kind of accessibility support, so that's worth looking at. |
Or actually, adding method(s) to
|
It looks like https://package.elm-lang.org/packages/tesk9/accessible-html/latest is worth looking at for an elm-style way of dealing with accessibility. |
Quick update on AccessKit: The Windows adapter now has very usable text editing support, and integration into egui is now a draft PR. The Linux adapter (a pure Rust implementation of AT-SPI) is progressing nicely. Now I need to focus on the Mac adapter. |
Is there any updates on this? |
@paulGeoghegan, it is being worked on according to this blog post from last year. |
@jackpot51 Sounds good to me! Accessibility is planned for the release after the next one, which should happen relatively soon. My idea was to bring #1849 up to speed, but I imagine that is quite outdated so I definitely will appreciate any help in that regard. |
Ya, I will work on updating that PR 👍 |
Background
Platforms typically mediate an interface between applications with a user interface, and accessibility tools (such as a screen reader), enabling assistive technologies:
Iced should provide the building blocks for making accessible applications, and integrate them automatically where possible.
Requirements
Ideas
Imho, this means we first need to implement:
Related issues
#282
The text was updated successfully, but these errors were encountered: