Open nick777999 opened 8 months ago
Hello! 👋 Thanks for logging this issue. Please remember we are all volunteers here, so some patience may be required before we can get to the issue. Also remember that the fastest way to get resolution on an issue is to propose a change directly, https://github.com/ankidroid/Anki-Android/wiki/Contributing
Thanks a lot for your feedback @nick777999. We haven't had much feedback from screen reader users before (probably because the app doesn't support them very well as you noticed), so this is very useful. I'll also link this issue for context, although it doesn't contain much that you didn't already mention: #7913
I am actually not able to get TalkBack to read any of the webview contents at all when testing it (I'm on version 2.17alpha8 but I think it was the same before). For me the content is always just announced as "unlabelled", so this is definitely something that needs to be improved.
Regarding TTS, it is known that it conflicts with TalkBack, see #6369. However, TTS support is currently also being worked on by @david-allison to use the same tags as Anki Desktop, so this will need some reevaluation anyway. One advantage of this is that in a future version modifying TTS speed will be possible if supported by the selected voice (like this: https://docs.ankiweb.net/templates/fields.html#text-to-speech-for-individual-fields).
One thing I was wondering about is how TalkBack handles foreign languages. For example, if you have English on one and French on the other side of a card, would TalkBack be able to pronounce these correctly? The advantage of TTS here would be that you could define the languages in the card template, so it can use an appropriate voice.
Hello again! First of all, Thank you @david-allison and @eginhard to getting to this issue so quick. I appreciate your time and efforts to dedicate your resources and energy as volunteers. to answer a question regarding how would a TTS pronounce the certain languages, it depends. for instance, I love to use espeak. It is free, open source, supports a lot of languages, retains quality of sound on very high speeds. disadvantage: a robotic sound. still, I recommend BTW, when I have used a tts, it defaulted to espeak. To generalise my answer, that would depend on the speech synthesizer and how it handles languages. It might have a mode to automatically switch to the necessary language, or it might be controlled by the screen reader application settings. The idea that you, @eginhard, suggested, is alredy beeing utilised in other applications, such as quizlet. That is useful not only for blind people, but for sighted folks as well. speaking about the "unlabeled", that hypothetically tells me 2 things:
p.s. If anyone would try to test the points mentioned above, don't hesitate to let me know and I will put a steps to reproduce and what the expected result should be. better educational apps means better education for everyone and I believe based on my practice, better testing results in better systems, so I'm opened to requests if anyone needs those steps to verify. Thanks again.
Hello. Are there any news regarding this? I found that pressing on more info and then pressing back button reloads webview.
Hello. Are there any news regarding this? I found that pressing on more info and then pressing back button reloads webview.
Hi Nick, I care about accessibility issues and I appreciate your detailed report and followup! I am trying to reproduce, understand, and consider each point you mentioned. I will start by addressing the issues with unlabeled images and pure text cards.
Resolving this issue on basic pure text cards I believe rethinking the logic of webview may be a large issue, but don't worry, based on my limited knowledge and skills, I believe the pure text part can be addressed. Anki is open source, so at the very least, I can compile a version of the APK for you to use.
Example of language switching in Quizlet? Can you provide specific examples of language switching in Quizlet? For instance, a link to a set of Quizlet cards would allow me to experience and analyze Quizlet's specific implementation.
Understanding and everyday experience with the latest multimodal Generative AI Additionally, I would like to ask about your understanding of the latest AI technologies. Simply put, chatbots are now very intelligent. Are you familiar with the development of ChatGPT by OpenAI? Or perhaps Microsoft Bing, which is free to use, or Google Gemini (previously called Bard)? I think these technologies may reshape the way blind individuals interact with the outside world. The latest version of BeMyEyes utilizes basic functionalities of these technologies (but I believe they can have greater potential in terms of accessibility). If you're willing to share any experiences you have in this regard, I'd be interested to hear them!
Hi @wyy511511 ! Thanks for your followup, time and commitment. I very appreciate it. Starting with AI, yes, I am aware of them and use them very well for general accessibility. Speaking of language switching, I have to look the context up again a bit and get back to you, since I have left quizlet as well and ended up making my own mini version of those tools with simple html and javascript as well as back end for db operations and stuff. I will, however, of course cooperate as much as possible to make this wonderful place a bit accessible.
Hi @wyy511511 ! Thanks for your followup, time and commitment. I very appreciate it. Starting with AI, yes, I am aware of them and use them very well for general accessibility. Speaking of language switching, I have to look the context up again a bit and get back to you, since I have left quizlet as well and ended up making my own mini version of those tools with simple html and javascript as well as back end for db operations and stuff. I will, however, of course cooperate as much as possible to make this wonderful place a bit accessible.
Hi Nick, Today I reproduced the issues you mentioned. Indeed, it's not user-friendly for blind and visually impaired individuals. 1."Unlabelled" is not related to images; my test decks consist purely of text. However, the repetitive reading of "webview" and "unlabelled" greatly affects the user experience.
2.Distinguishing between the front and back of cards is difficult because I have to rely on swiping left and right to change/switch line. Initially, the last line of text on the back of the card is read, and there is no audio prompt when switching from the first line of text on the front to the corresponding line on the back.
4.TalkBack is unable to read the content of the second and third cards aloud; further testing is needed.
5.Floating widgets from other applications affect the program sequence (I will examine the TalkBack source code to see how screen content is traversed).
6.Additional testing I plan to conduct includes:
Continuing to reproduce and summarize problematic scenarios, conducting in-depth testing of multimodal card decks containing audio and images.
7.Rethinking the interaction design, especially how blind users can get started. I would like to ask: how important is card editing to you? Are you using cards you created yourself or downloaded from the community? I'm considering creating a sample card deck as an accessibility tutorial. This could help beginners understand card structures and basic editing and usage operations.
No worries for Quizlet example. Thank you for your feedback!
Todo: I need to revise my reply to make it more organized and easy to understand.
Hello 👋, this issue has been opened for more than 3 months with no activity on it. If the issue is still here, please keep in mind that we need community support and help to fix it! Just comment something like still searching for solutions and if you found one, please open a pull request! You have 7 days until this gets closed automatically
Checked for duplicates?
What are the steps to reproduce this bug?
Expected behaviour
at the step 6, content should be read by a screen reader all the time.
Actual behaviour
sometimes (very frequently) at the step 6 screen reader is not able to read the contents.
Debug info
(Optional) Anything else you want to share?
when using ankidroid with screen reader, there is some serious discomfort using it. specifically with card studying and webview. I am using a talkback with the latest android available and sometimes during studying screen reader suddenly can not see front or back sides (sometimes both of them) of the card, as a result i can not see what the card is asking. it only says webview and that is it. that frequently leads the ankidroid crashing. i have tried to analyze behavior by keeping track of the length of the card, frequency of the error occuring, waiting before i answer to allow on the one hand a webview to load what it needs to and on the other, a screen reader to parse how it needs to do it. Generaly, since there is less overhead involved because network latency is not there, i suppose this should be an easy and quick process, plus, I don't use much html in my cards, only plain text (if anki doesn't do something with it). tried to uninstall webview updates, but no success. this action was suggested by an android system itself, by showing a message like: an updated version of webview caused ankidroid to crash. please uninstall it and try again. no corelation was found whatsoever. I have tried exploring the screen by touch, just to move the focus on the webview, no success, neither webview, nor the card itself is visible (for screen reader) hence nothing gets focus. even worse, when the screen reader sees the card, contents and even a webview window can not be focused. only the show answer button or if the back side is not visible as well, answer buttons are visible at the bottom. Also tried clearing the cache of ankidroid and a webview, uninstall and reinstall, still happening. sometimes app closing from the app drawer and relaunch helps, sometimes it doesn't. As a last resort, I tried with built in mechanism for tts. that kinda worked, but because a screen reader was focusing on the back button at the top (which is normal and necessary), speech was interrupted and there was nothing to do instead of opening up more options and pressing the play button. This has some other issues, such as speed control, as I usually read material at a very high speeds and speech output is very slow as well as system was asking me which language was used on the card. providing it manually for thousands of cards in several decks is just a very time intensive task which we should use to make results better . sometimes when you press a show answer button, i can not get to that button, because of ankidroid crashes. There is no difference between enabling new backend or experimental features in this regard, as I have tried both. I have never experienced issue like this in any app, for instance gmail uses webview, but have been using it great ever since. That's what caused me to look into this deeper and submit a bug report. This is as far as I could get in my explorations. if that was windoes, I would share some detailed info about objects, accessibility properties, screen reader perceptions of the presented material and even could suggest what would work, but since I don't develop for android platform, I'm sadly not able to do that. if there is anything i can do to help you better understand the issue at hand, please don't hesitate to let me know and i will do my best to get back. I would rather not switch to something else, because I love the community, available documentation and that it's opensource product, not to mention additional time of research what is accessible and what's not, card formats, transfer issues of thousands of cards, checking accuracy and etc etc.
if there is any detailed logging facility within your app to gather logs and provide for further analysis, please let me know so I can also attach them. meanwhile I am attaching a debug info here. thanks so much in advance.
Research