So tonight I got a simple HTML5-based audio game working, including left/right panning and all that. As I may have mentioned in a previous post, I've been using the Howler.js library as it simplifies the Web Audio API (which seems to be more for DJs or audio mastering technicians than developers, LOL). Everything was going great, but then I ran into a weird snag: The panning functions don't work if NVDA is running. Why? Beats me... but it just kinda threw an adamantium monkey-wrench into my plans have a couple friends beta test it.
But I guess the bigger issue really is, how do you guys do menus in your games? This isn't as easy a question as it may sound. Sure it's easy to write a menu class, add some keyboard event handlers etc. but this can cause more trouble than it's worth. You don't want your screen reader saying "blank" with every key press (and just calling event.preventDefault doesn't change this). And of course one of the advantages of going web-based is the game workes on mobile devices - but you don't want to use VoiceOver while the game is going on (double-tap for every move? I don't think so, LOL).
So what do you guys do to implement menus in your games? Do you recommend that players turn the screen reader during gameplay and self-voice the menu options somehow? I'm talking about on the web, either desktop or mobile, so interfacing with native APIs or the NVDA Controller Client DLL is not an option (and besides, not everyone uses NVDA... yet). *smile*
Thanks!