Improve LibreTube Screen Reader Accessibility
Steps to reproduce
I'm totally blind and use this application with a device called the SensePlayer which is a blindness product from a company called HIMS that runs Android. I installed the app from F-Droid and it works very well. However, there are many unlabeled buttons that just say button unlabeled. Please add proper accessibility labels to the buttons so a screen reader user knows what they do. For example, instead of saying button, the screen reader would say rewind button. You can test the app using any Android phone with the TalkBack screen reader installed. Go to Settings>Accessibility>TalkBack and turn it on. For basic navigation, swipe left or right to move to the previous or next control, and tap the screen twice with a finger to select the item that's focused. You can also touch controls to select them and then double tap to activate. If your device doesn't have TalkBack installed, download Android Accessibility Suite from Google Play. Improving the accessibility will make the app better for any Android device and screen reader that uses the standard Android accessibility APIs. Here's a page from Google that may help and of course, let me know if there's anything else I can do to help. I'm not a developer, but I'll do my best to provide any information you need. However, labeling buttons is one of the easiest things you can do to make the experience significantly better. https://developer.android.com/guide/topics/ui/accessibility/testing
Expected behavior
When navigating through the controls using a screen reader, their purpose should be clearly indicated by labels. For example, rewind button, fast forward button, play button, etc.
Actual behavior
The app is usable, but it is confusing to hear button button button when navigating the interface. Close your eyes and try navigating. Hearing button button button isn't very helpful. The first question that comes to mind is what does that button do? Adding labels would go a long way to making the experience much more enjoyable for screen reader users.
LibreTube version
0.17.1
Android version
Android 11
Other details
You may want to start by examining the playback screen while a video is playing. The unlabeled buttons here are the most important, as it's very difficult to know what's going on and which button corresponds to which function.
Acknowledgements
- [X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
- [X] I have written a short but informative title.
- [X] I will fill out all of the requested information in this form.
I've already added some labels in https://github.com/libre-tube/LibreTube/pull/4472, it's probably a good idea to take another look once the new version is released.
There has been a new release with the aforementioned changes. Please check which problems still exist and which ones need further improvements.
More buttons have labels, but it's a little strange, because it says button unlabeled before the label. I'll try to produce a screen recording soon using my Pixel 7.
I've already added some labels in #4472, it's probably a good idea to take another look once the new version is released.
If you guys are busy maybe I'll be able to take a crack to this problem after all is just adding strings to interface components right? I may be qualified enough to do it, and gladly do so for both english and spanish.
Shall anyone instruct me in this issue?
I've already added some labels in #4472, it's probably a good idea to take another look once the new version is released.
If you guys are busy maybe I'll be able to take a crack to this problem after all is just adding strings to interface components right? I may be qualified enough to do it, and gladly do so for both english and spanish.
Shall anyone instruct me in this issue?
You should just look around the app using the screen reader and find any unlabled elements, once you find them just open the xml which contains the element and add the tag contentDescription to it, e.g. :
In "fragment_library.xml" the fab has a tooltip text but not content description, just add the attribute like this:
android:contentDescription="@string/tooltip_create_playlist"
note that you should also be aware of the different supported languages
If you need any more help just ask!
note that you should also be aware of the different supported languages
I can take care of both english and spanish, but I rather not butcher any other.
You should just look around the app using the screen reader
Wait I just realized that I have no talkback. How do I even start hearing the cues? Does lineageOS has something for that??
If you need any more help just ask!
Someone provide me the talback app please. I wasn't able to build it from source.
Open Android studio and use the emulator
If you need any more help just ask!
Someone provide me the talback app please. I wasn't able to build it from source.
Open Android studio and use the emulator
If you need any more help just ask!
Someone provide me the talback app please. I wasn't able to build it from source.
I'll try that later, thanks for the advice.
Nope, Today my main display gave up, and my system just locks up trying to run the emulator.
I'm useless on this one :/