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

Accessibility: support for screen readers #32

Closed
tronical opened this issue Sep 2, 2020 · 23 comments · Fixed by #2865
Closed

Accessibility: support for screen readers #32

tronical opened this issue Sep 2, 2020 · 23 comments · Fixed by #2865
Labels
a:accessibility Support for assistive technologies (mS,bT) roadmap Tickets that we can use for roadmapping
Milestone

Comments

@tronical
Copy link
Member

tronical commented Sep 2, 2020

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.

@tronical tronical added the roadmap Tickets that we can use for roadmapping label Sep 2, 2020
@ogoffart ogoffart changed the title Basic voicer over (a17n) support Acessibility: voicer over support Sep 2, 2020
@Be-ing
Copy link
Contributor

Be-ing commented Aug 25, 2021

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.

@Be-ing
Copy link
Contributor

Be-ing commented Aug 27, 2021

AccessKit could be helpful for this.

@tronical
Copy link
Member Author

That looks promising, I'll keep an eye on that. Thanks for the pointer!

@jacquetc
Copy link

Hello,
AccessKit is still young but looks promising, I'm currently trying to understand it. I would not use 60fps for any desktop project because of the lack of accessibility.

Please, could you rename the title ? Something like "Accessibility: support for screen readers".

For your information, screen readers on Windows are:

  • Narrator (included in Windows)
  • JAWs (free trial)
  • NVDA (free), easy to launch

Linux (using AT-SPI 2):

  • Orca

Apple OSX & IPhone:

  • VoiceOver

Android:

  • TalkBack

I found a useful checklist on Flutter.

@tronical tronical changed the title Acessibility: voicer over support Accessibility: support for screen readers Dec 23, 2021
@tronical
Copy link
Member Author

Done :). Thanks for the feedback and the checklist!

@Jookia
Copy link

Jookia commented Feb 11, 2022

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.

@mwcampbell
Copy link
Contributor

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.

@tronical
Copy link
Member Author

tronical commented Mar 2, 2022

That’s excellent. Thank you for the update (and your work on AccessKit)!

@DemiMarie
Copy link

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)

@ogoffart
Copy link
Member

@DemiMarie : Thanks for your comment.
We have actually started to work to improve our support for accessibility, and are actually working in an accessibility branch (#1193 and #1194). But not something that can be tested yet.

@DemiMarie
Copy link

@DemiMarie : Thanks for your comment. We have actually started to work to improve our support for accessibility, and are actually working in an accessibility branch (#1193 and #1194). But not something that can be tested yet.

You’re welcome! I am glad that it was helpful, and even more so that you are working on accessibility support.

@DemiMarie
Copy link

@ogoffart: I hope this is not too much to ask, but could non-accessible elements cause a compiler warning?

@Be-ing
Copy link
Contributor

Be-ing commented Aug 26, 2022

I like that idea a lot.

@hunger
Copy link
Member

hunger commented Aug 31, 2022

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.

@Be-ing
Copy link
Contributor

Be-ing commented Aug 31, 2022

Warning on all non-accessible elements might work okay if there's a way to explicitly opt out of the warning like clippy lints.

@DemiMarie
Copy link

Maybe we could warn about non-accessible exported Elements. Those are the building blocks used elsewhere.

That sounds like a great idea.

@mwcampbell
Copy link
Contributor

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.

@DemiMarie
Copy link

What about a direct AT-SPI backend for Linux?

@Be-ing
Copy link
Contributor

Be-ing commented Dec 6, 2022

That's what AccessKit is building: AccessKit/accesskit#56

@Be-ing
Copy link
Contributor

Be-ing commented Jan 5, 2023

AccessKit just made the first release with Unix support: AccessKit/accesskit#198 It would be great to use it with Slint's winit backend.

@mwcampbell
Copy link
Contributor

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.

@ogoffart ogoffart added this to the 1.1 milestone Jan 6, 2023
@hunger
Copy link
Member

hunger commented Jan 9, 2023

@mwcampbell Thanks for the offer :-)

@tronical
Copy link
Member Author

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.

@tronical tronical added the a:accessibility Support for assistive technologies (mS,bT) label Jun 15, 2023
@tronical tronical linked a pull request Jun 15, 2023 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a:accessibility Support for assistive technologies (mS,bT) roadmap Tickets that we can use for roadmapping
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants