Upgrading to GlkOte with ARIA support

I spent some time today investigating accessibility of Inform games on the web for the visually impaired. One thing I noticed was that there were no ARIA attributes on any of the published games I could find, including the most recent Inform games listed on IFDB. ifdb.tads.org/search?sortby=new& … m%3Ainform As of today, I just tried “Mary Jane of Tomorrow” and “Mustard, Music, and Murder.”

So I thought, “hey, this might be really easy; I’ll just go pull together a pull request for GlkOte to add a few ARIA attributes” … but to my surprise, Zarf had gotten there before me, more than a year ago! github.com/erkyrath/glkote/commit/f938f035

When I use the iOS “Voiceover” screen reader to run the GlkOte sample-demo.html page or the sample Quixe games on Zarf’s site, e.g. Advent, it works great, much better than the IFDB games I tested.

I guess this is due to Parchment being stuck on an old version of Quixe? github.com/curiousdannii/parchment/issues/24

Does some dependent project (Inform IDE?) also need to upgrade to a newer version of Parchment, when that bug is fixed?

It’s just (“just”) a matter of upgrading the iplayif.com site to use either Parchment with an updated Quixe engine, or to use Quixe directly. (I don’t know which is easier.)

The version of Quixe that ships with the Inform IDE already has the ARIA stuff.

Yeah sorry for letting this slide. It probably won’t even take very much work, I’d just want to test somewhat thoroughly to ensure the integration is working properly. Pull requests would be welcome!


Thanks for the prompting Dan to start working on this!

Zarf, I’m still having some trouble with windows etc. The status window isn’t show, and sometimes (but not predictably??) the text input is at the top of the screen. These can be seen here: iplayif.com/?story=http://mirror … advent.blb

The code for inserting the html quixe needs and then calling the functions is in github.com/curiousdannii/parchm … -runner.js

[edit] Wait it might be my stylesheet_switch() function - it’s been years since I’ve touched this I’ve forgotten how it works.

The stylesheets are now definitely loading, but the status window refuses to show: iplayif.com/?story=http://mirror … advent.blb

Typing help into advent causes an error saying “Window 724 has requested input at unknown line -1”

Any ideas Zarf?

Glkote really wants the #gameport div to have “position: absolute; overflow: hidden; width: 100%; height: 100%; margin: 0px;”.

Its parent div can have margins and other positioning rules, but the gameport should have all those styles.

I also see that you’ve added the graphical toolbar to glkote’s window list. I suspect that will terrify and confuse some glulx games. If you want to make that sort of UI modification, I’d recommend doing it outside of the #gameport rather than inside.

Thanks! That seems to have fixed everything. There’s an unfortunate double scroll bar, but that’s something to deal with some other day.

That’s part of advent.blb, I don’t know who’s responsible for it haha.

Oh, is it? Fascinating. I didn’t realize somebody had made such a mod.

(I was confused because the serial number is still 961209, so I figured the Inform source hadn’t been modified. Whoops.)

Worth fixing eventually. Double scroll bars are my enemy.

In my testing earlier, I shoved those CSS styles directly into #gameport (with Safari’s Javascript debugger) and it cleared everything up without a double scroll bar. So it’s possible. Not sure what the current setup looks like, though.

Why doesn’t iplayif.com use Quixe directly?

What do you mean, sorry?

I assume Dan means: rather than the root iplayif page loading parchment and then trying to replace itself with Quixe, it could redirect to a second page which had an out-of-the-box Quixe configuration.

Yes, that’s what I meant.

Ah. I guess that would work okay now. In the past I think that Quixe’s downloader might not have been as reliable, maybe? And going forward, my desire has always been that Parchment have a shared library system for savefiles etc.

Parchment doesn’t really “replace” itself currently… it’s just a thin downloader, and then it hands over to the respective VMs. If you load Quixe then ZVM won’t be loaded. I’m happy with how it works.