khanshoaib3 / stardew-access

An accessibility mod for Stardew Valley with screen reader and keyboard only support!
GNU General Public License v3.0
67 stars 20 forks source link

Some menus and dialog boxes cannot be read aloud #106

Open c469591 opened 1 year ago

c469591 commented 1 year ago

Hi, I'd like to give feedback on a few questions about the mod.

  1. After pressing the E button, you can switch to the social tab and see the names of many npc's downwards. Choose an NPC at random. Press the left button, that is, ctrl+enter, and a dialog box will pop up, showing the introduction of the npc. But the contents of this dialog box can not be read aloud. I found a mod that allows you to add more content here, but unfortunately, you can only see the text on the OCR game screen. mod is → https://www.nexusmods.com/stardewvalley/mods/229?tab=description
  2. found a lot of very good mod features can be used properly, but are unable to read aloud. This may be a greedy request, but I really want to use these mods. If possible, I also hope that they can be read aloud. There are a few main →
    • A mod to see what's going on nearby I think] this mod is very useful for blind people exploring an unfamiliar map. At the moment you can only walk or explore the map by going up, down, left or right, which I think is still too inconvenient and easy to miss some important NPCs or items. With him, it can help the blind to understand what is happening around them faster. Press f1 to open a dialog box with text, which can only be viewed through OCR. Here is the mod → https://www.nexusmods.com/stardewvalley/mods/541
    • CJB Cheats Menu Although it is said that this is a cheat menu, but for newcomers is also very useful, allowing new players to encounter difficulties when a little cheat. Again, you can only use OCR to view the text above. Press p will open a menu, but can not read aloud mod here → https://www.nexusmods.com/stardewvalley/mods/4?tab=files&file_id=68863

The mods mentioned above are relatively popular at the moment, with multi-language translations, and I think it is unlikely that they will be abandoned in the short term. I really hope that in addition to those mods that change the image, we have more mods that can be used smoothly, I am very much looking forward to it. Thank you very much for your hard work, so that I can experience the joy of this game!

khanshoaib3 commented 1 year ago

Patching popular mods is in the to-do, we are currently working on patching the GMCM and it will take some time to patch though.

  1. This is an interesting one. If I try to patch is now, it'll probably conflict and either the original contents of the menu will be spoken or the additional content. We will have to modify the current implementation of screen reader and I just got an idea of how, better right it down here before I forget lol. So I'm thinking of adding a priority thingy to the texts being spoken to the screen reader, so all the texts in the 0th priority queue will be spoken first and then 1st priority queue and so on. This will probably be most helpful on these types of mods. I think I'll skip working on GMCM and work on this.
  2. This will go very well with tile viewer feature, patching the custom menu would be tricky though, will see!
  3. This has been requested a couple of times before and it will be patched later.
Flameborn commented 1 year ago

The problem I am seeing with this is that we do not have events on Windows for example, to signal that speech is done.

On the other hand, if interrupt is not used for secondary speech, screen readers should queue up the spoken text, and speak it only when nothing else is queued. If speech with interrupt is called in the meantime, all speech is cleared and the last phrase is announced.

So, to make this work, all we'd need to do is speak it with interrupt false, in case something else, like an important menu item, is spoken before.

c469591 commented 1 year ago

Thank you, I do not know much about how to develop mod, thank you for your efforts on this mod

khanshoaib3 commented 1 year ago

The problem I am seeing with this is that we do not have events on Windows for example, to signal that speech is done.

On the other hand, if interrupt is not used for secondary speech, screen readers should queue up the spoken text, and speak it only when nothing else is queued. If speech with interrupt is called in the meantime, all speech is cleared and the last phrase is announced.

So, to make this work, all we'd need to do is speak it with interrupt false, in case something else, like an important menu item, is spoken before.

It will be like a queue of queues. Using interrupt will only clear the queue mentioned.

khanshoaib3 commented 1 year ago

The problem I am seeing with this is that we do not have events on Windows for example, to signal that speech is done.

On the other hand, if interrupt is not used for secondary speech, screen readers should queue up the spoken text, and speak it only when nothing else is queued. If speech with interrupt is called in the meantime, all speech is cleared and the last phrase is announced.

So, to make this work, all we'd need to do is speak it with interrupt false, in case something else, like an important menu item, is spoken before.

Faced the issue, the result was same because as you said, there's no way of knowing that screen reader has done speaking current speech.