What Makes a Visual Novel Inaccessible with a screen reader exactly?

Forum organization and occasional community-building.
Forum rules
Questions about Ren'Py should go in the Ren'Py Questions and Announcements forum.
Post Reply
Message
Author
CrystalD
Newbie
Posts: 19
Joined: Fri Aug 18, 2017 11:50 pm
Tumblr: CrystalDennisMusic
Skype: valkyrieceles
Soundcloud: crystaldennismusic
Contact:

What Makes a Visual Novel Inaccessible with a screen reader exactly?

#1 Post by CrystalD »

I'm a blind visual novel player and I'm starting to branch off into making them, but there are certain problems accessibility-wise I see in a lot of visual novels and I'm curious to know if anyone has an inkling as to why - because I don't want to accidentally run into these while developing my own VN, that would be awkward XD

But I'm wondering, there's the self-voicing feature in renpy, so how come a lot of the times the main menu doesn't read anything? When I try to load, save, start a new game, those labels just don't read along with the altering preferences area, and I'm curious if anyone has an idea as to why that happens a decent amount of the time. Is it the way some people code their GUI? Because most of the time when that's the case, if I can get the game started the text of the actual novel reads fine...on free VNs.

Now I have this question for commercial VNs too, because I've tried to play a fair number of those, and I think I only had about 2 or 3 of them work with the self-voicing feature in renpy. Is there something people do to code their games that somehow break self-voicing instantly working in renpy? Because when I use the engine to develop games it all works fine, but usually on commercial games it just doesn't work at all, unless a dev makes a point to say it's accessible - but at the same time if a game doesn't have a demo, I won't purchase it because I don't want a 50/50 chance of dropping 15 dollars on a game I can't enjoy lol. So maybe there's more accessible VNs out there than I realize! But most of the time, even if self-voicing works for one aspect of a commercial VN, it doesn't for an important 2nd part of the game - like loading, saving, etc etc.

I'm really curious to hear anyone's thoughts on why self-voicing doesn't work in games all the time! :D and if there's an easy way to avoid this, please let me know!

User avatar
Imperf3kt
Lemma-Class Veteran
Posts: 3791
Joined: Mon Dec 14, 2015 5:05 am
itch: Imperf3kt
Location: Your monitor
Contact:

Re: What Makes a Visual Novel Inaccessible with a screen reader exactly?

#2 Post by Imperf3kt »

Most likely, people are using imagebuttons.
In order for self voicing to say anything from an imagebutton (which is am image instead of text), they must set an "alt", which is text that the self voicing mode can read and convert into spoken words.
Warning: May contain trace amounts of gratuitous plot.
pro·gram·mer (noun) An organism capable of converting caffeine into code.

Current project: GGD Mentor

Twitter

CrystalD
Newbie
Posts: 19
Joined: Fri Aug 18, 2017 11:50 pm
Tumblr: CrystalDennisMusic
Skype: valkyrieceles
Soundcloud: crystaldennismusic
Contact:

Re: What Makes a Visual Novel Inaccessible with a screen reader exactly?

#3 Post by CrystalD »

I bet that's what it is! I've ran across an inventory system that seemed like it would be fine but it was just a ton of empty spaces with some text here and there. So, is making the alt text easy to do with coding? I'm guessing it would just be a python string or something like that?

User avatar
Imperf3kt
Lemma-Class Veteran
Posts: 3791
Joined: Mon Dec 14, 2015 5:05 am
itch: Imperf3kt
Location: Your monitor
Contact:

Re: What Makes a Visual Novel Inaccessible with a screen reader exactly?

#4 Post by Imperf3kt »

Its very easy if you know about it, which I think a lot of people don't since it's not mentioned in the imagebutton or imagemap sections of the documentation.

The following link has all the information about it:
https://www.renpy.org/doc/html/self_voi ... r-concerns

And an excerpt from that page:
Ren'Py's self-voicing works by extracting text from displayables and reading it to the player. Ren'Py extracts this text from two places.

Text displayables
Ren'Py will extract text from a Text displayable, and make it available to be read to the player.
Alternative text
Alternative text is supplied by a displayable's alt style property. It can also be supplied by actions supplied to buttons and values supplied to bars. Explicitly supplied alternative takes precedence over text supplied by actions or values, and both take precedence over text extracted from Text displayables.
In other words, when creating displayables, a creator need only add alt = "something", and the self voicing function will use that instead of whatever is written in text, or in the case of no text (such as an imagebutton), it will speak the "alt" as if it were the text displaying.
Warning: May contain trace amounts of gratuitous plot.
pro·gram·mer (noun) An organism capable of converting caffeine into code.

Current project: GGD Mentor

Twitter

CrystalD
Newbie
Posts: 19
Joined: Fri Aug 18, 2017 11:50 pm
Tumblr: CrystalDennisMusic
Skype: valkyrieceles
Soundcloud: crystaldennismusic
Contact:

Re: What Makes a Visual Novel Inaccessible with a screen reader exactly?

#5 Post by CrystalD »

Awesome, thanks for the info! Can't wait to check out this link :) happy it's easy to implement lol.

User avatar
Imperf3kt
Lemma-Class Veteran
Posts: 3791
Joined: Mon Dec 14, 2015 5:05 am
itch: Imperf3kt
Location: Your monitor
Contact:

Re: What Makes a Visual Novel Inaccessible with a screen reader exactly?

#6 Post by Imperf3kt »

I'll give you an example use in case you have difficulties.

Code: Select all

textbutton _("French Toast") alt = "French bread" action ShowMenu ('toast')
The above will display the text "French Toast", which, when clicked, will open a screen called "toast".
The self voicing feature would ordinarily read out "french toast", but since we have included an "alt", the voicing system will say that instead. In this case, "french bread".

Code: Select all

imagebutton auto "button_%s.png" alt = "image button" action Null
The above code will place an image button on the screen instead of a text button. It requires two files be located in the "images" folder - "button_idle.png" and "button_hover.png". You can add others, but these two are the minimum required. The button itself does nothing (action Null) but when hovered it will enact self voicing to say "image button" since we supplied an "alt"
If we didn't supply the alt, like in the following example, the button would not say anything when we hover over it.

Code: Select all

imagebutton auto "button_%s.png" action Null
Warning: May contain trace amounts of gratuitous plot.
pro·gram·mer (noun) An organism capable of converting caffeine into code.

Current project: GGD Mentor

Twitter

User avatar
PMscenarios
Regular
Posts: 93
Joined: Sat Jul 01, 2017 11:22 pm
Completed: Whale's Waldo
Projects: In Blood, Xenopathy
Tumblr: pmscenarios
itch: pmscenarios
Contact:

Re: What Makes a Visual Novel Inaccessible with a screen reader exactly?

#7 Post by PMscenarios »

There's also a lot of devs that disable features they don't use themselves when packing the game for release. I encounter a lot of the time ppl having disabled roll-back, right-click to save, help, etc. Since they haven't tested the self-voicing, they prefer turning it off over shipping a feature they haven't planned, and might not be working.

(btw, how do anagrams and words shortenings work with a screen reader? Is it understood fine, or should I not shorten words like people into ppl and because into bc?)

I've also found that the NVL screen, especially when set to automatically continue to the next line, does not work with the self-voicing, so personally I was planning to do 2 versions of my game, one only using ADV mode and with included alt descriptions of all visual information that fully supports self-voicing, and one using NVL mode and alt descriptions for all sound effects, in case the player is hearing impaired/plays without sound.
ImageImageImage

User avatar
Imperf3kt
Lemma-Class Veteran
Posts: 3791
Joined: Mon Dec 14, 2015 5:05 am
itch: Imperf3kt
Location: Your monitor
Contact:

Re: What Makes a Visual Novel Inaccessible with a screen reader exactly?

#8 Post by Imperf3kt »

Self voicing is specifically designed so as not to work with auto forward mode. This is not a bug, it is a feature PyTom purposefully implemented.
I asked about it a while ago.
Warning: May contain trace amounts of gratuitous plot.
pro·gram·mer (noun) An organism capable of converting caffeine into code.

Current project: GGD Mentor

Twitter

User avatar
PMscenarios
Regular
Posts: 93
Joined: Sat Jul 01, 2017 11:22 pm
Completed: Whale's Waldo
Projects: In Blood, Xenopathy
Tumblr: pmscenarios
itch: pmscenarios
Contact:

Re: What Makes a Visual Novel Inaccessible with a screen reader exactly?

#9 Post by PMscenarios »

Sorry, I should have been clearer. I did look it up at the time, and realized the auto-forward mode was the reason it didn't work, and was working as intended. But it isn't reading my other NVL-screen well either. The wait timers I use for dialogue overlap a bit in the nvl-mode - it will start reading a new sentence/after a comma before it's done reading the sentence it was on - even tho it reads it fine on ADV dialogue. (Probably because the NVL-mode dialogue is wordier, ooor possibly bc my nvl-screen is pretty broken)
I didn't have time when I released my demo to implement a work-around for the auto-forward == no self-voicing, but definitely want to have that accessibility in the full release.
ImageImageImage

CrystalD
Newbie
Posts: 19
Joined: Fri Aug 18, 2017 11:50 pm
Tumblr: CrystalDennisMusic
Skype: valkyrieceles
Soundcloud: crystaldennismusic
Contact:

Re: What Makes a Visual Novel Inaccessible with a screen reader exactly?

#10 Post by CrystalD »

I find it depends on the person with word shortening: I'm fine with it because I know all the net lingo, but I've seen some other blind people ask what some things mean like idk or something like that so when I talk to other blind people I spell them out just in case they aren't comfortable with it. Really depends on if the shortened word can sound like something else, but things like ppl and bc just sound like the initials spelt out so it works fine. idk sounds kind of like "ick" but I'm used to hearing like, all of those terms online so I know what they mean even if it does try and pronounce it as a word lol

Post Reply

Who is online

Users browsing this forum: No registered users