Resources

100 Screen Reader Support resources for MUD players

Enhancing screen reader support in MUDs requires a dual approach: optimizing server-side output for logical parsing and configuring client-side scripts to filter noise. Modern accessibility in text-based gaming relies on reducing redundant 'spam', leveraging GMCP for out-of-band data, and implementing robust audio cue systems that replace visual status bars. This guide provides actionable technical implementations for developers and power users to create a non-visual gameplay environment that is as efficient as its graphical counterparts.

100 Screen Reader Support resources for MUD players illustration
Placeholder illustration shown while custom artwork is being produced.

Server-Side Output Formatting

  1. 1

    ASCII Map Toggles

    beginnerhigh

    Implement a 'SET MAP OFF' command that replaces visual ASCII maps with a text-based list of exits and nearby landmarks to prevent screen reader gibberish.

  2. 2

    Brief Combat Mode

    beginnerhigh

    Create a combat toggle that removes flavor text (e.g., 'The sword whistles through the air') and only outputs essential data like 'You hit the orc for 10 damage'.

  3. 3

    GMCP Status Integration

    advancedhigh

    Use Generic Mud Communication Protocol (GMCP) to send health, mana, and stamina updates out-of-band so clients can process them without interrupting the main text flow.

  4. 4

    Logical Room Ordering

    intermediatestandard

    Format room descriptions to always place the Room Title first, followed by Exits, then the Description, and finally Mobs/Items to allow quick navigation.

  5. 5

    Inventory Aggregation

    beginnermedium

    Modify the inventory command to group identical items (e.g., 'a stack of 20 arrows') rather than listing each item on a new line.

  6. 6

    Consistent Channel Prefixes

    beginnerstandard

    Ensure every communication channel uses a unique, consistent bracketed prefix like [Auction] or [Guild] at the very start of the line for easy regex filtering.

  7. 7

    Line Termination Standards

    intermediatehigh

    Ensure every discrete message or prompt ends with a newline character (\n) to force screen readers to process the buffer and speak the line immediately.

  8. 8

    Customizable Prompts

    intermediatemedium

    Allow players to define their own prompt strings, including the ability to remove visual separators like pipes (|) or brackets that clutter speech.

  9. 9

    Combat Target Highlights

    beginnermedium

    Provide a command to display only the current target's health status, reducing the need to scan the entire room for combat progress.

  10. 10

    Command Echo Toggles

    beginnerstandard

    Include a setting to disable the echoing of player commands back to the terminal, preventing the screen reader from speaking the command the user just typed.

Client-Side Scripting and Triggers

  1. 1

    MUSHclient Speak Plugin

    beginnerhigh

    Utilize the 'Speak' plugin for MUSHclient which uses SAPI or screen reader APIs (NVDA/JAWS) to read incoming text without manual window focus.

  2. 2

    Mudlet Screen Reader Mode

    beginnerhigh

    Enable the 'Screen Reader' option in Mudlet preferences to improve how the main console buffer exposes text to assistive technology.

  3. 3

    Repetitive Text Gagging

    intermediatemedium

    Write regex triggers to gag (hide) common environmental spam like 'The wind howls' or 'A bird chirps' to keep the speech buffer clear for vital info.

  4. 4

    Window Redirection

    advancedhigh

    Script the redirection of chat channels to a hidden buffer or secondary window that the screen reader only accesses on a specific keybind.

  5. 5

    Priority Combat Triggers

    intermediatehigh

    Set up high-priority triggers for critical events like 'You are stunned!' to interrupt the current speech queue and alert the player immediately.

  6. 6

    Status Line Scrapers

    advancedmedium

    Use Lua or VBScript to scrape health and mana from the prompt and store them as variables for use in custom audio alerts.

  7. 7

    Speedwalk Alias Support

    beginnerstandard

    Create aliases for common paths (e.g., 'run to bank') to minimize the number of manual directional commands the user must hear read back.

  8. 8

    Input History Navigation

    intermediatestandard

    Configure client hotkeys to scroll through command history without the screen reader re-reading the entire input line every time a key is pressed.

  9. 9

    Automatic Login Scripts

    beginnermedium

    Hardcode connection strings and passwords into the client to bypass the login prompts which are often formatted with non-accessible ASCII art.

  10. 10

    Highlighting for Low Vision

    beginnerstandard

    For low-vision users, use high-contrast color triggers (e.g., bright yellow text on black background) for keywords like 'Exits' or 'Enemy'.

Audio Cues and Non-Visual Feedback

  1. 1

    MSP (MUD Sound Protocol)

    advancedhigh

    Implement server-side MSP triggers that tell the client to play specific WAV or MP3 files for combat hits, misses, and spell effects.

  2. 2

    Health Threshold Pings

    intermediatehigh

    Script a series of beeps that increase in frequency or pitch as a player's health drops below 50%, 25%, and 10%.

  3. 3

    Directional Exit Audio

    advancedmedium

    Use stereo panning in soundpacks to play exit sounds in the left, right, or center channels based on the direction (West, East, North/South).

  4. 4

    Skill Cooldown Alerts

    intermediatehigh

    Play a distinct 'ding' or mechanical sound when a combat skill or spell cooldown has finished, removing the need to check 'score' or 'skills'.

  5. 5

    Aggro Entrance Cues

    intermediatehigh

    Trigger a sharp, jarring sound effect when an aggressive mob enters the room to provide an immediate tactical warning.

  6. 6

    Item Pickup Confirmation

    beginnerstandard

    Use a subtle 'click' sound for successful item pickups or gold loots to confirm the action without reading the text line.

  7. 7

    Environment Ambience

    intermediatemedium

    Loop low-volume background sounds (e.g., rain, tavern chatter) that change based on room sector type to provide spatial awareness.

  8. 8

    Error Tones

    beginnerstandard

    Assign a 'thud' or error sound to common failures like 'You can't go that way' or 'You don't have enough mana'.

  9. 9

    Level Up Fanfare

    beginnermedium

    Implement a unique, high-quality audio file for leveling up to provide emotional reward that isn't lost in the text stream.

  10. 10

    Telling/Message Alerts

    beginnerhigh

    Use the standard PC speaker beep (\a) or a specific notification sound for incoming private messages to ensure they aren't missed.