Bring your karma
Join the waitlist today
HUMBLECAT.ORG

Blind and Visually Impaired Community

Full History - 2018 - 07 - 18 - ID#900cka
5
Game Accessibility: What Are your experiences with Electron? (self.Blind)
submitted by danshumway
I'm working on Reset Hard, a time-traveling puzzle game about learning how to do impossible things. One of my goals for the game is to make it extremely blind friendly.

At launch, I want all of the menus and the main interface to be navigable via screenreader. Post launch, I want the main graphics themselves to be navigable via screenreader. I want someone who's blind to be able to download the game and play through the entire thing without any input from a sighted person, at all, at any point.

To accomplish that, the game is essentially a webapp. All of the menus, interfaces, and dialog/options are rendered in semantic HTML. The main graphics are rendered as usual (a big blob of pixels), but my plan is to have a separate pure-HTML representation of those graphics that you can turn on, and some shortcuts for navigation like, "select a door, point my player at it, and then walk towards it."

I plan to distribute the game via $1, but I have heard mixed reviews about Electron's accessibility controls and about its compatibility with common screenreaders. I'm coming into this without a ton of experience about what works and what doesn't.

So, **some questions:**

1. Is semantic HTML nice to navigate? If you were playing a game, would you want something else, even for menus?

2. Is a screenreader something you would want to use for a game in the first place? Is it better for me to defer to your existing setup, or is it better to build a custom set of controls specific to the game?

3. How fast are you at navigating HTML? If I build an HTML representation of a level and update that at, say, 30fps, should I try to narrow it down or build some kind of activity stream so that the information is easier to parse? What's your preferred way for a webapp to alert you to new information on the screen, especially if those updates might be coming somewhat quickly?

4. I'm doing pretty much everything myself and I don't have any budget to do stuff like voice-acting. This means that menus, interfaces, and dialog are probably going to need to be handled via text-to-speech. Is that a massive downside? Should I be looking into potentially even just voicing menus myself or something?

5. Are there specific communities/sites I should be reaching out to for playtesting and feedback as the game gets farther along in development?
bradley22 2 points 5y ago
I'd be very willing to test the game. I'd recommend using Aria for quick alert messages. I'd also recommend having shortcuts, for example if we're going forward backward left and right, control f, control b control l and control r, could work. If you're going to make the game time bassed, you may have to useAria quite a lot for alert messages.
danshumway [OP] 1 points 5y ago
Yeah, it's looking like a combination of the aria alert role and aria-live region might be enough for an activity stream.

My original thought was to just flat out give some kind of dom representation of the room.

<div tabindex="0" data-type="room" id="room-a">
<!--actual coordinates might not matter-->
<!--since I'd have some kind of targeting shortcut-->
<div tabindex="0" data-type="guard" id="guard-a"></div>
<div tabindex="0" data-type="door" to="room-b" id="door-a"></div>
</div>

But while that might work well for a static layout, or just allowing you to see the map in general, that's probably not going to be a great experience during play if a guard is running into and out of a room and keeps interrupting your focus.

Probably in that case I want something closer to a regular activity stream, or maybe even just a set of really quick audio queues for something entering/leaving the room and a shortcut to say "focus me on whatever element just changed."

What I'm thinking is that if you're blind, the experience I'm shooting for should be a bit like playing those old-school text adventures. You'll have a description of whatever room you're in, and shortcuts to take common actions or target actors in the room. The big difference of course being that Reset Hard is a real time game, so I won't know until I start testing how chaotic things are going to get.

At the very least, working on mostly static sites I had somehow never run into aria-live before, so that's very useful to know about.
bradley22 1 points 5y ago
Audio would be nice in this game. I don't mind text games but I prefer audio. SO a mix of the two would be nice, if it can be done.
Nighthawk321 1 points 5y ago
What language are you coding in? I would check out Tolk, if you haven't already. Also, definitely post on audiogames.net.
danshumway [OP] 1 points 5y ago
Javascript - I'll be distributing a downloadable version of the game, but it'll also be playable in any browser as just a normal web page. Tolk looks pretty interesting though, I hadn't heard of it.

Also good to know about Audiogames, I'll check them out.
WhatWouldVaderDo 1 points 5y ago
Visual Studio Code is an electron app as I remember, and it works pretty well with NVDA. You will have to do some testing, but I’m sure you can find volunteers to assess how effective and fun it is with a screen reader.

Good luck!
danshumway [OP] 1 points 5y ago
That's good to hear. I've only done minor experimentation, but at least on Linux it was kind of frustrating for me to get the accessibility controls to actually work with my web browser, so I was worried Electron would be the same.

Worst case scenario would be to make a game that in theory should be accessible, but in practice doesn't actually allow you to control it with any of the common tools.
This nonprofit website is run by volunteers.
Please contribute if you can. Thank you!
Our mission is to provide everyone with access to large-
scale community websites for the good of humanity.
Without ads, without tracking, without greed.
©2023 HumbleCat Inc   •   HumbleCat is a 501(c)3 nonprofit based in Michigan, USA.