OpenBVE
OpenBVE copied to clipboard
accessibility for the visually impaired of open BVE
Description
I am a visually impaired user of open BVE. I and others who use this want to see a bit more accessibility of the app such as speed reading and ways to get to the station. trhe program is 90 percent there as I can use it, but I would love to see better intagration with my screen reader
Reproduction
If the issue occurs in multiple routes/ trains, please provide one or two samples. In order to reproduce the issue and debug it, it's helpful to have the following:
Route
Please provide a link to where the route may be downloaded.
Train
Please provide a link to the train may be downloaded.
Logs
Logs may be accessed through the 'Report Problem' button on the bottom left of the screen. Please provide a log, and a crash-log if the game actually crashes.
Related information
- Operating system Windows 10 20H2 (64-bit) build 19042.985
- Method of control (Keyboard, joystick, RailDriver) keyboard
I also did a video found on this subreddit post
I would like to start a dialogue with you guys on accessibility as the sim is almost there, and since this is open source, I'd be willing to test (not compile) builds for you guys. openBVE Bug Report24_05_2021.zip
Do you have any specific examples of the sort of thing you are after / issues you're seeing?
I'm sure something can be worked out, but it's actually quite hard figuring out exactly what you need. This may actually be quite personal too, not sure:) For example, looking at the linked post would suggest to me something like an audible alarm for station stop points might help?
Thanks. Since this is our first time using a train sim for the sighted, I really don’t know what we could do. Let me do a short clip of what we might need to start off with and go from there. Maybe a sound indicating how far we are from the station apart from the announcement we get from the train if it comes with them. Of corse nothing too obtrusive.
As I cannot upload this 140 mb video I have provided a dropbox link https://www.dropbox.com/s/3xabtehbtn0sr45/open%20bve%20demo%20for%20developer.mp4?dl=1 . I hope that hyper linked worked over github as I’m using email to send this.
Thanks and I’m willing to try new things and discuss with my partner some ideas as well. None of us can code by the way, sorry about that.
Thanks again.
It's no trouble.
My initial thought would be that we would want to perhaps add a new option for things like this, if we can agree on something that makes reasonable sense. Perhaps an accessibility option that toggles everything on by default?
Existing features
Distance to next station overlay This can be toggled between off, miles and km via CTRL + D & also shows whether the next station is a stop or a pass. It may change a little fast for your screen reader at the minute (constantly updates to 2 decimal places), but that can probably be tweaked.
Speed overlay This can be toggled between off, mph and km/h via CTRL+V Again, this may change a little fast for the screen reader, but see if it's any good for your purposes.
Good start.
- The menu when you hit escape has to read by default thereby making it easier for us to switch options and do what I did with speech.
- The distances to the station could be communicated via keybind and sound, this would be useful for a sighted person let’s say not looking at the screen as well as a visually impaired/blind train simmer.
- The speeds and restrictions could also be bound to a key bind and auto read or read with presses of the key depending on speed. I’m not sure on the latter, and I might be spitting into the wind here.
I agree on the option to turn all of these on, then have the user customize as needed. Is that a good start?
Thanks.
The menu may be a little tricky, but I'll see what I can do. We're directly drawing it, without going through the standard Windows libraries, hence why it's not being recognised by default.
A keybind to speak the next station and speed / restriction is also a good idea, although judging by the speech speed of your screen reader, I'd say that it probably would need to be separate for visually impaired / otherwise. Not sure if there's a suitable multi-platform TTS library handy either, will have to look into that.
Other things: From your video, it appears you're having problems selecting trains sometimes. This is because a train is also a folder (and so technically can contain sub-trains) I'm sure we can handle this a little better, and possibly stop entering the folder if there are no sub-trains present.
I won't make any promises that any of this will be quick or easy to implement, but we'll definitely see what we can do to make things better.
(for my reference) NVDA API: https://github.com/nvaccess/nvda/blob/master/extras/controllerClient TOLK multi-screen reader library (?) https://github.com/dkager/tolk
I did slow it down so you could hear it, but we could speed it up as well. TTS might also be a good idea, or an option to toggle between the two. Do you think the menu could be spoken by tts as well, maybe if the screen reader won’t be able to do so?
to add to my last comment about the menu, I meant the tts and or screen reader could read the options as we arrow through them, this includes the sub menus as well, if at all possible. Like a standard menu bar.
thanks.
i agree with everything that @marrie has said so far. i am also another blind train simmer. love the sim so far like she said it is almost there.
Please try this test build. I've added screen reader support to the in-game menu, which appears to me to work OK with NVDA, although obviously I haven't tried to use this in real-life.
ok i will test this when i get home how do i do this do i just unzip this and overrite this over the exsisting directory?
Yes, that's right.
Assuming this works OK in real-life, it looks like it'll be reasonably easy to add screen reader support to most bits, we just need to agree on what's needed :)
So far from what little I tested the menu when you hit the alt key works I was even able to read the jump to station dialogue. I’m going to do some more testing when I get home to see what else can be done I think the only thing that would be needed now would be a way to find out how far the station is from you and things of that nature but looks like we can start implementing these things little by little and testing them I will wait to see what Sarah has to say has to say as well.
Sent from my iPhone
On May 25, 2021, at 06:32, Christopher Lees @.***> wrote:
Yes, that's right.
Assuming this works OK in real-life, it looks like it'll be reasonably easy to add screen reader support to most bits, we just need to agree on what's needed :)
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.
I got a network error, however when checking my download folder I somehow got two copies of the thing. I’ll test and submit a report shortly.
Thanks so much.
Ok, in doing some testing, it works, I have a question though, or maybe a bug report. Does it say that this is the main menu in print? If it does not, disregard, if it does, indeed say main menu or an indication that this is the main menu, my screen reader is not indicating as such. I don’t think you will need the clip, however here it is https://www.dropbox.com/s/gtvownvaq4tdlop/BVETest01.mp4?dl=1 just in case. This is kind of a think out loud.
Thanks.
No, it doesn't do that.
Logical addition though.
Do you think that should be added in print as well? In case let’s say the sighted person’s elbow touches the escape key and they wonder why the train won’t move? Lol! I don’t know if that would look good aesthetically, but that is a suggestion anyway.
Thanks
Updated so that a bunch more stuff works with the screen reader.
- In-game warning / info / error messages are spoken (station arrival, time to departure, over speed limit etc.)
- Announces the fact that it's the in-game menu / pause screen.
With regards to having the menu in print: It's an overlay over the screen, and (at least from a sighted person's perspective) it should be pretty obvious; You can't see much else!
things are working so far so good in what little testing i did. now i would need something to help me aline with the station unless there is something i am missing.
Not yet :) I think that (and current speed, limit etc.) will likely have to be a keypress combo, but still need to think about / implement that.
Hopefully people won't get mad if I overrun the station. As a blind user it's really hilarious when I try to use the trackside camera to try to align the sound of the train with the station but I haven't yet been very successful at that.
Or is there a way well I am pulling into the station where the screen reader with Tommy arrived at such and such station and then I'll know when to stop since I'll be going slow enough?
OK. I will figure out those keyboard shortcuts later and test. Thank you so much for all the work that you were doing.
I’m not sure if this is a GitHub issue, but for what ever reason when I click the link to download my browser tries to download the file twice; upon hitting escape after the second download when the first one is successful it throws a network error. I can still get the test fine though.
I will look and submit a report later today.
Thanks.
I love the direction this is going.
- I love the prompts of boarding.
- the screen reader reads if I've over run or in one case under run the station
- I love the new prompt for the in game menu.
- I believe a key bine for the speed, restrictions, and distance to station would be useful especially on a long haul if and when we decide to do one
- I want to aim for making the overlays accessible though in case someone wants to use those as well
- a beep or something could that increases in pitch or speed or both could be useful as we approach the station.
- the ability to change this thing to standard and not SI would be nice, but that might be my error so I'll figure that one out.
- when launching the train I got a bunch of errors that were thrown.
Errors: These are pretty much harmless, and can be ignored, especially in your case. You're missing at least one of the visual NYCTA object packs (for the track by the looks of it)
Stop position: On the list of things I'm thinking about. We have an existing visual overlay, but this obviously doesn't translate to screen readers etc. at the minute.
SI units: Everything internally runs on these, sorry. Some of the speed overlays can be converted to mph etc. but the overrun and stuff which I think you're referring to are only in M
Ah Ok. So, who ever built the train missed something, I guess? Don’t worry about the meters and SI units. The program I’m basing my ideas off, (there is a blind train sim that is kind of but not as good as this one) is in meters and KM. so I’m used to it. Lol. No big deal. Don’t worry about converting. We have our googles for that. Lol! Any ideas on how we could make the overlays accessible to us, as that might be a bug bare. I’m up for the challenge though testing wise. I can’t code. Heha.
Thanks.
Another small update. This adds a tone when the station stop overlay is active. It'll start out pretty slow, and should be a near enough constant tone when you're at the stop target. However, this one will need enabling via the Options first: On the first page, in the Verbosity checkbox, tick Accessibility Aids
Next job on my list is to get it to announce via screen reader when speed limits change. I'm inclined to keep this behind the same option (as sighted players don't get this either, and need to rely on signs / route knowledge)
It'd also be interesting to know whether screen reader users are likely to have a spectrum of vision ability, and thus want different amounts of things announced, or whether we should assume that if a screen reader is active, everything should be announced audibly?
how do we inable the stop over lay?
after i rote the comment i figured out how to do it and it is working ok have made some good stops for now.
I love the idea., however for those of us like myself with pitch sensitive issues, I would like to see instead a beep that starts out short and gets faster the closer you get to the station. Upon entering the station to the platform, the beep should then be constant, and if you pass the station the beep should either stop, or get slower, I’m not sure about that yet. I do like the idea though, and it is a good start.
Thanks.