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

can you please add semantic labels to improve accessibility for screen readers? #66

Open
crentava opened this issue May 31, 2022 · 9 comments

Comments

@crentava
Copy link

hello. I am a visually impaired person that uses what's called a screen reader. This means that I have things on the screen read out to me. Unfortunately, this app is hard to use because it seems that a lot of the tabs/buttons are icons only.
There is a class in flutter called Semantics that allows you to add labels (along with other things) to improve accessibility. for screen reader users. If it helps, I will list out the parts that aren't labeled.

  • the tab list that allows you to do things like create an identity set the homepage, and other things like that. This needs to be labeled because as it stands, screen reader users have to memorize the order of the tabs.
  • the buttons beside things like the identities and the currently open tabs.

the only thing you have to do is to wrap the widgets for the tabs and buttons in the Semantics widget.
I was going to do this myself, but I can't seem to get flutter to run the app or even build an apk.
Thank you for your time

@snoe
Copy link
Owner

snoe commented May 31, 2022

Thanks for this, it would be really good to get this in.
A PR would be really nice as my time to work on this is pretty spotty. If you make the code changes even if you don't build and open a PR we can see if the github actions CI can build it.

For building with flutter, I pin to flutter 2.8.1, where are you getting stuck?

If it's too much, no worries, I just can't say when I'll be able to look at this myself.

@crentava
Copy link
Author

I'm getting errors about gradel terminating with exit code 1.
I’m on flutter 3. I have not made any modifications to the app at all. I just cloned the repo, ran flutter pub get, and ran flutter run. Weather I run or build i, I still get the same error

@snoe
Copy link
Owner

snoe commented May 31, 2022

ah I see. I'm not sure if it's how I've set up the project but it seems that every few months the build completely breaks as flutter and packages change and I need to futz with it until it builds on latest.

@crentava
Copy link
Author

is there a way to fix it.

@snoe
Copy link
Owner

snoe commented May 31, 2022

In general, my approach is to upgrade to the latest flutter, then address the warnings and issues I get from running flutter build apk. It looks like there's warnings about some sort embedding api, and packages that require a new api version.
Also seeing errors about ExtendedText that I had to use to fix #61 but following the flutter issue flutter/flutter#91464, this extra package may not be necessary anymore.

It's just slogging through all that to make it build again, no magic bullet that I've found.

@crentava
Copy link
Author

crentava commented Jun 8, 2022

@snoe
I’m just reaching out to tell you that I’m working on this issue, hopefully I will be able to send the PR soon.
I must say that I don’t know what I’m doing with updating packages and all of that, but I do know enough to say that adding semantics will be easy.
I just wanted to ask a noobish question. Why are you generating tabs dynamicly? is that somehow better?

@snoe
Copy link
Owner

snoe commented Jun 8, 2022

@crentava oh that's great, thank you.

Do you mean here? https://github.com/snoe/deedum/blob/master/lib/next/app.dart#L105
The only reasoning I can give is that I've had a number of state bugs in the past, with tabs in particular. I've gone through at least 3 iterations trying to fix them.

The tab count button in the appbar was always out of sync with the actual tabs so the last big change I made was to push everything possible into the models.

This managed to get everything in sync, and while I feel it's in a decent state now, I'll fully admit there could be better ways. This is the first thing I built in dart or flutter and following through tutorials it's pretty rare for them to go through advanced state management.

@crentava
Copy link
Author

crentava commented Jun 8, 2022

sorry i didn’t explain properly haha. I ment the tabs like the bookmarks and identities tabs. You seem to generate tabs rather than hardcoding them

@snoe
Copy link
Owner

snoe commented Jun 8, 2022

sorry I still don't follow. but if you see something that can be improved while you're doing this, go ahead.

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

No branches or pull requests

2 participants