ErrorFlynn / ytdlp-interface

Windows graphical interface for yt-dlp, designed as a simple YouTube downloader
MIT License
991 stars 55 forks source link

Accessibility with a screen reader #175

Open eltonfreak opened 2 weeks ago

eltonfreak commented 2 weeks ago

Hi, before I found this, I was trying to download files from YoutubeMusic using Yt-DLP and not really getting anywhere because of the vast amount of command line peramitors involved. I use JAWS and NVDA screen readers to read my screen because I am completely blind. No part of this program appears to be able to be read by the screen reader. I can't work out why? I was wondering if this is something that we could investigate? For example, what programming language is this written in? I can't access any settings using traditional alt+what ever the key access is, I can't even find the main menu? I also can't find the start, add to cue or download buttons. When I press a key to provide all information in the window, they show up, but I cannot press on them or even navigate to them. Behaveour: No items are accessible. Expected Behaveour: All items are able to be read and interacted with. Thank You very much for any help you could give me. Regards: Melissa Cox.

ErrorFlynn commented 2 weeks ago

Hi, I'm sorry to hear about your situation. I didn't know anything about screen readers until I did some research in order to answer your question, but I think I can answer it now. The program is written in C++, and uses a GUI library named "Nana". The problem is that this GUI library doesn't use the native interface elements of the operating system. Instead, it uses its own custom interface elements that are built from scratch, which makes the interface inaccessible to screen readers. I was able to verify this by downloading NVDA, and confirming that an older application that I wrote using Microsoft Foundation Classes is readable by NVDA.

I think it would be possible for me to make the interface accessible to screen readers by making the program use an accessibility API like Text Services Framework. Unfortunately, I'm a complete newbie to this stuff, and it would probably take me a long time to learn and implement a solution. I will add it to the to-do list, but I can't say when or even if it will be done.

There are other GUIs out there that you can try. I've tested a few with NVDA, and Open Video Downloader seems to work very well with it. Give it a try, and let me know if you need any help or if you have any other questions.

eltonfreak commented 2 weeks ago

Hi, While i'm kind of sad that it's not accessible at the moment, I will keep watching this page, because you've done something vertually no other developer has even atenpted to do, and look into it, despite, by your own admition, noing nothing about screen readers. This makes you a very rare person. By that, I mean when the tech team for bigger companies can't even be bothered to answer my emails, or tell me that it isn't in their interests to even look at changing the framework, or just ask what a screen reader is and then don't do anything. Thank you so much for even considering this. i'm not sure anyone who doesn't use a screen reader will really understand that every time some new exciting piece of software is release, 90% of the time, it's completely inaccessible to people that can't see. I've even had people tell me just get someone sited to help you, but personally as a music teacher and all around independent person, that just make me angry, and it's a really stupid thing to say. Anyway, i'm rambling... Thank You. PS, I will be telling all my friends that you are a friendly program developer that actually cares about what people want, and is willing to look at accessibility in the future.Most Kind Regards. Melissa Cox.