Great submission!
First, I owe you an apology. When we first received your submission, there was some healthy debate in our Discord server over its content. I suggested to our community members that they reach out and share their honest feedback. I’m sorry if this felt like a brigade or created unnecessary stress for you. We deeply appreciate newcomers who bring fresh energy and diversity to this community. And I’m thankful that you took this risk—even if it’s not one that I would personally take.
That said, I enjoyed the procedural sound design a ton! I could imagine the music being more adaptive based on your patience, independence, and sass? The main tool that I reach for is a little bit of amplitude modulation, to make longer drones that ebb and flow, which leads into other cool things with LFOs like modulating the pan or filter detune.
The writing was often witty as well, making me laugh no matter how awkward or disappointing the realistic situations felt. I was dubbed THE DIPLOMAT.
Here are some observations when using NVDA and enabling screen reader mode:
- Consider using
role="application"on the<body>element so the screen reader knows that the arrow keys and S and H are handled by your application. Otherwise, they try to navigate around the page without changing focus mode via NVDA+Space. - On the settings screen, there are a few enhancements that might be made. The toggles for screen reader or high contrast modes aren’t accessible with the arrow keys. They should also respond to pressing Space. When toggling them, they abruptly change focus to and read aloud the entire settings screen. And they might benefit from using
role="switch"andaria-checkedto indicate their state. Otherwise, an<input type="checkbox">for these might be the simplest option. - A similar behavior happens when making choices in the game. When refocusing the game container, its
aria-labelgets read aloud each time, creating unnecessary noise. I might also avoid auto-focusing the first choice, because it gets read aloud twice as part of the live region as well. - It can be a bit slow when you’re used to reading fast. I imagine this is designed around the speed of the built-in screen reader. There aren’t great solutions for this on the web without rethinking some fundamental things of the interface, and I don’t think it’s super important for you to even address here.
Those observations aside, I do find that this is well-polished and well-implemented, especially for an HTML game. Submissions like these are precisely why I advocate using HTML for accessible games. Nice work!