Screenreader-friendly interpreters for Mac OS

Hello fellow IF aficionados,
This is kind of an obscure topic, but I was wondering if anybody would happen to know of a z-code interpreter for current versions of Mac OS (e.g. Catalina and up) that is compatible with VoiceOver—Apple’s built-in screen reader for people with visual impairments. I’m using Lectrote at the moment, and although it seems to work all right for the most part, I’m encountering a few issues that are making game-play a little less enjoyable than it should be. (Specifically, there is no speech feedback when typing text into the command prompt field, and game output isn’t announced automatically after commands are entered, necessitating a lot of upward scrolling.) The only other Mac-based programs I know of are Spatterlight and Yazmin, but if I’m not mistaken both are still in beta. If you are reading this and happen to be the developer of any of these interpreters, can you speak into the accessibility of your projects? :slight_smile:

1 Like

I don’t use screen readers personally, but I test software using them frequently. I think you might have better luck with the current latest version of Spatterlight (currently version 0.5.5).

I just tried Spatterlight with Spider and Web and it seemed to behave the way you desire.

Lectrote is an Electron application. It’s basically a tiny version of Google Chrome, running Quixe, some JavaScript designed to run interactive fiction in the browser. Spatterlight is a 100% native macOS application, so I’d expect it will generally interact better with macOS Voiceover.

1 Like

You should have a try of the interpreter Gargoyle. The latest version on Mac (2019.1) is complete, not a beta, and mentions text-to-speech support as one of the features new to this version of Gargoyle, though I’ve not personally tested that. The build is also notarised for Apple’s security-checking purposes, and runs on Catalina.

First I’ll paste the direct download link to the dmg of the above-mentioned version of Gargoyle:
https://github.com/garglk/garglk/releases/download/2019.1/gargoyle-2019.1-mac-nota.dmg

Second I’ll paste the link to the page the first link comes from, which has some more info:

-Wade

1 Like

The last couple of months, I have been trying to improve the VoiceOver support of Spatterlight, but progress has been slow.

As far as I know, nobody uses Spatterlight with VoiceOver, and I really don’t know what VoiceOver users will expect or what kind of features would be useful.

I asked for testers here a couple of years ago, and the response was tentatively positive: Mac VoiceOver users wanted for testing

As I understand it, there are three basic problems with VoiceOver and most interactive fiction interpreters:

  • When text in a scroll view is selected, VoiceOver will often start speaking from the top of the scrollback rather than the top of the visible text. This may be thousands of paragraphs above the current position.
  • New text is not spoken automatically.
  • Standard Infocom menus, such as the hint menus in the Solid Gold releases, are difficult to use, mainly because there is no quick way to find out which line is currently selected.

All three of these are improved in the unreleased code I am currently working on, so let me know if you are interested in trying it out.

1 Like

Thanks for the recommendation, I downloaded Spatterlight last night and I’m really liking it so far. Also, props to you for being an accessibility tester :).

Ah yes, thank you for the Gargoyle reminder, I’d completely forgotten about that one. Unfortunately it looks like this is going to be completely unusable with VoiceOver. Opening games in Gargoyle brings up a window that appears to be totally unresponsive to any typed commands or attempts at keyboard navigation. Come to think of it, I’m wondering if there’s a setting somewhere that I need to adjust, since the app is supposed to support text-to-speech. Or maybe there’s a compatibility issue with Mac OS Big Sur.

Wow, this is great! I’m currently running Spatterlight 0.5.5 as suggested above, and it has been working very well for me. The program reliably reads game output upon entering commands, which was one of the issues I consistently saw with other interpreters I’ve used in the past.
I played Beyond Zork for a test run, and I do agree that navigating on-screen menus can be a bit difficult; I was able to get through the character setup menu at the beginning of the game by counting the options and keeping track of key presses, but this probably wouldn’t be practical with a list that consisted of more than a few items. The only other problem I encountered was that entering the endgame caused Spatterlight to crash, but that may have to do more with the game file itself than anything else. In any case, I would be more than willing to test out the version currently under development.

1 Like

I’m unfamiliar with the details of Gargoyle’s text-to-speech support, but my understanding is that Gargoyle isn’t trying to be compatible with VoiceOver (or any other screen reader)… instead, Gargoyle is supposed to provide its own text-to-speech engine, built-in to the app.

In practice, that may be a serious usability issue, because if the user requires text-to-speech, it may be practically impossible for the user to find the text-to-speech option and turn it on!

1 Like

I just posted Lectrote 1.3.9, and I’m told that the screen-reader support is better in the updated framework. Let me know if it is.

1 Like

Yes, I think you might be right. I might be able to get things to work if I got someone with functioning eyeballs to take an initial look at it for me :slightly_smiling_face:

I’ve just updated Lectrote on my computer and things do indeed seem to be working a bit better. VoiceOver now offers speech feedback when typing into the command field.

Okay, good. Thanks to sukiletxe for pointing out the improvement in this Electron update.

Thanks for letting me know!

That crash sounds pretty serious. Is it reproducible? If so, I’d love to try out any save files you may have kept from before the crash.

EDIT: I’d also love to hear any further comments or suggestions you might have regarding using the current version of Spatterlight with VoiceOver. Here or on the Github issues page.

I’ll get back to you regarding the work-in-progress.

Thank you for the link, I’ll keep experimenting with Spatterlight and see if there’s anything else worth noting.
Yes, I’ve been able to reproduce the crash several times, and I have a save set up right before the point in question. What would be the best way to transfer the file?

Excellent! Then it shouldn’t be too hard to fix.

This is getting off-topic, but you could open a new issue at the page I linked to and attach the file there. That way other people can get in on the investigation. Otherwise, you could mail it to my adress found on my Github page. Or just zip it up and attach it to a private message here.

EDIT: The crash should no longer happen in 0.6b.