What is a screen reader
The term, "Screen reader", refers to a piece of software on a computing device that is capable of examining the screen of the device and relaying that information to someone who is blind or visually impaired through the use of synthetic speech or Braille. Screen readers exist on desktops, laptops, mobile devices, and even gaming consoles.
Screen reader agnostic tips
Quick Accessibility Configuration
Mudlet comes with a command that works with every new profile you create. The purpose of this command is to perform certain operations on Mudlet itself, not the MUD you're connected to.
The two commands that are relevant to screen reader users are:
mudlet access on
mudlet access reader
Typing in the first command will set a few things up that'll make the experience better for screen reader users. As it does so, it prints to the output window what it's doing for future reference.
The second command will install an optional package called Reader which was initially designed to improve the state of accessibility on Mac OSX, but offers some additional features for Windows and Linux as well.
Holding Alt to open the menubar currently does not work. As a workaround, Alt+P opens preferences and Alt+E opens the script editor.
Sent commands are selected and kept in the input line by default, which is useful for sighted users. To make it easier for screen readers, go to preferences - Input line tab - and Set the following options as indicated:
- "Auto clear the input line after you sent text", should be checked
- "Show the text you sent", should be unchecked
To switch between the input line and the main window, please first select a hotkey under the, "Special Options" tab. Your choices are:
Once a hotkey has been selected, it will allow you to review text using the following shortcuts -
|Output review shortcuts|
|Left, Right, Up, Down||Navigate letter by letter|
|Ctrl+Left, Ctrl+Right||Navigate word by word|
|Shift+Left, Right, Up, Down||Select text letter by letter|
|Ctrl+Shift+Left, Right, Up, Down||Select text word by word|
|Home||Go to the beginning of the line|
|Ctrl+Home||Go to the beginning of the window (first line, first letter)|
|End||Go to the end of the line|
|Ctrl+End||Go to the end of the window (last line, last letter)|
|PageUp||Jump a visual window's height up|
|PageDown||Jump a visual window's height down|
|Ctrl+Shift+C||Copy selection as HTML|
Briefly touched on in the section above, there are a few options in this tab of the preferences dialog designed to aid screen reader users.
Announce incoming text in screen reader
When the game sends blank lines:
- Show them
- Hide them
- Replace with a space
It may be advantageous to select either of the latter two options, as having blank lines can be problematic on Windows specifically.
Switch To Reviewing Main Window
Switch between input line and main window using:
When a key is selected from this dropdown list, it will toggle between placing focus in the main window so that normal cursor commands can be used to review it as well as selecting text and copying it. Note that this should be configured, as it is set to, "No key", by default. N.B. When the tab key is set, the autotab completion functionality will be lost.
In Mudlet, triggers can have a parent/child relationship. But for those new to creating triggers, this may not be what you want. At this time, this relationship is not indicated by screen readers. To ensure that you are not creating a child trigger, arrow up to the top of the list. You'll hear the announcement, "Triggers". When you do so, and you click the, "Add Item" button, you are guaranteed to create a trigger that is not grouped under one of your previous ones.
To quickly navigate between the triggers list, trigger name, patterns list, and the code editor, use
Ctrl+Tab. It'll cycle between those elements in exactly that order, allowing you to jump around the screen to the most important parts.
Screen Reader and Operating System Specific Information
The pages linked below will serve to detail how to use Mudlet with a screen reader. As Mudlet is a cross-platform client, hints and tips to get the most out of using it will be given for each of the platforms it's available on.
Tips for game admins
The following are tips that can help MUD owners/administrators make their games more accessible to screen reader users.
Auto-detection of visually impaired players is frowned upon, as it could lead to 'fingerprinting' certain users without their consent. Instead, the best practice is to provide a command for the players that enables a screenreader-friendly mode instead - see StickMUD as an example.
Sounds are a great way of letting a blind or visually impaired user know that something has happened. Especially during fast-paced activities such as combat. They can be as simple as alerts, such as chats or tells, to a full on experience complete with combat sounds, music, and ambiances.
Sounds can either be sent by the server and downloaded to the client, or can be made using triggers by the player. MSP, GMCP, and MSDP can all be used to accomplish this.
Avoid ASCII Art
ASCII art can be a major hindrance to screen reader users. If your MUD has a lot of ASCII art, please consider creating a blind mode, or screen reader mode that can be switched on at any time. Optionally, asking new accounts/characters whether or not they're using a screen reader during character generation and then setting a flag or series of flags to tailor the display is wonderful, because screen reader users do not have to remember a list of options to toggle on and off. ASCII art on the start screen isn't a huge problem, as most often, a blind or visually impaired player will read through it once and then not need to again. The goal here is not to take away anything from sighted players.
Presenting information in tabular format can be a great way to visualize data for a sighted user, but when a screen reader user tries to read this table, they do not have the ability to walk through the cells. This is because, while screen readers do in fact provide table navigation commands, they require markup which isn't present in plain text. Please consider breaking up the information into lines with commas or colons which will make things much clearer. Tables in MUDs can often appear as streams of indecipherable data.
I'd recommend checking out legends of the Jedi as they have done a good effort when it comes to making their mud accessible, just as an example. also you could reach out and talk to us in Mudlet's accessibility channel in discord, we'd be happy to help.
Third party packages
Here are third party packages which we think are useful for Mudlet.
mudlet reader package
This package provides shortcut for reading output, and fixes some VoiceOver issues regarding queuing things. Installed by default.
Download it here.