Difference between revisions of "Manual:Screen Readers"

From Mudlet
Jump to navigation Jump to search
(→‎What Is A Screen Reader: fix title not to be capitalised)
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
==What is a screen reader==
+
{{TOC right}}
 +
=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.
+
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. Screen readers exist on desktops, laptops, mobile devices, and even gaming consoles.
  
==Screen reader agnostic tips ==
+
=Screen reader agnostic tips =
  
=== Quick Accessibility Configuration ===
+
== 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.
 
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.
Line 13: Line 14:
 
* <code>mudlet access reader</code>
 
* <code>mudlet access reader</code>
  
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.
+
Typing in the first command will set a few things up that'll make the experience better for screen reader users, among which is setting <code>Ctrl+Tab</code> as the shortcut to change focus between the input line and the main window.
  
 
The second command will install an optional package called [https://github.com/tspivey/mudlet-reader/ 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.
 
The second command will install an optional package called [https://github.com/tspivey/mudlet-reader/ 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.
  
===Alt menus===
+
==Alt menus==
 
Holding Alt to open the menubar currently does not work. As a workaround, Alt+P opens preferences and Alt+E opens the script editor.
 
Holding Alt to open the menubar currently does not work. As a workaround, Alt+P opens preferences and Alt+E opens the script editor.
  
===Input line===
+
==Input line==
 
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:
 
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:
  
Line 26: Line 27:
 
* "Show the text you sent", should be unchecked
 
* "Show the text you sent", should be unchecked
  
===Main Window===
+
==Main Window==
 
To switch between the input line and the main window, please first select a hotkey under the, "Special Options" tab. Your choices are:
 
To switch between the input line and the main window, please first select a hotkey under the, "Special Options" tab. Your choices are:
 
* <code>Tab</code>
 
* <code>Tab</code>
Line 34: Line 35:
 
Once a hotkey has been selected, it will allow you to review text using the following shortcuts -
 
Once a hotkey has been selected, it will allow you to review text using the following shortcuts -
  
{| style="width: 500px; border-bottom:solid 5px #882222;"  
+
{| class="alternating-table" style="width: 500px; border-bottom:solid 5px #882222;"  
 
! colspan="2" style="color:white; background-color:#882222; text-align:left;" | Output review shortcuts
 
! colspan="2" style="color:white; background-color:#882222; text-align:left;" | Output review shortcuts
 
|-  
 
|-  
Line 74: Line 75:
 
|}
 
|}
  
=== Special Options ===
+
== Special Options ==
  
 
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.
 
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 ====
+
=== Announce incoming text in screen reader ===
  
 
Speaks out text coming from the game using the screen reader, on by default. Turning this option off is relevant to [[Accessibility on OSX|macOS]] and [[Accessibility on Linux|Linux]].
 
Speaks out text coming from the game using the screen reader, on by default. Turning this option off is relevant to [[Accessibility on OSX|macOS]] and [[Accessibility on Linux|Linux]].
  
==== Blank Lines ====
+
=== Blank Lines ===
  
 
When the game sends blank lines:
 
When the game sends blank lines:
Line 91: Line 92:
 
It may be advantageous to select either of the latter two options, as having blank lines can be problematic on Windows specifically.
 
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 To Reviewing Main Window ===
  
 
Switch between input line and main window using:
 
Switch between input line and main window using:
Line 100: Line 101:
 
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.
 
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.
  
===Triggers===
+
==Nested triggers==
 +
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.
  
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.
+
==Trigger navigation==
 +
To quickly navigate between the triggers list, trigger name, patterns list, and the code editor, use <code>Ctrl+Tab</code>. 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==
+
=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.
 
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.
Line 112: Line 115:
 
* [[Accessibility on Linux]]
 
* [[Accessibility on Linux]]
  
== Tips for game admins ==
+
= Screen reader tips for game admins =
  
 
The following are tips that can help MUD owners/administrators make their games more accessible to screen reader users.
 
The following are tips that can help MUD owners/administrators make their games more accessible to screen reader users.
  
===== Sounds =====
+
== Auto-detection ==
 +
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 [https://wiki.stickmud.com/wiki/Screenreader as an example].
 +
 
 +
== Sounds ==
  
 
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 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.
Line 122: Line 128:
 
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.
 
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 =====
+
== 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.
 
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.
  
===== Tables =====
+
== Tables ==
  
 
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.
 
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.
  
===== more tips? =====
+
== more tips? ==
 
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.
 
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 ==
+
= Third party packages =
Here are third party packages which we think are useful for Mudlet.
+
Here are some third party packages which we think are useful for Mudlet.
  
===== mudlet reader package =====
+
== Mudlet Reader package ==
This package provides shortcut for reading output, and fixes some VoiceOver issues regarding queuing things. Installed by default.
+
This package provides shortcuts for reading output, and fixes some VoiceOver issues regarding queuing things. It can be installed by using the built-in 'mudlet access reader' alias.
  
 
Download it [https://github.com/tspivey/mudlet-reader/ here].
 
Download it [https://github.com/tspivey/mudlet-reader/ here].
 +
 +
== Quick Output ==
 +
This package adds the ability to read the ten most recent lines from the MUD as well as copy a given line to the clipboard. More information can be found [https://github.com/ironcross32/QuickOutput-for-Mudlet here]
 +
 +
== Channel History ==
 +
This package provides a virtual buffering system for use in triggers which can be reviewed at any time using easy-to-remember hotkeys. Each message that is stored in a buffer is also assigned a category by the trigger author. Thus, things like public chats, tells, game announcements, etc. can each have a separate category. To learn more about this package, click [https://github.com/ironcross32/ChannelHistory here].

Latest revision as of 02:06, 27 January 2024

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. 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, among which is setting Ctrl+Tab as the shortcut to change focus between the input line and the main window.

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.

Alt menus

Holding Alt to open the menubar currently does not work. As a workaround, Alt+P opens preferences and Alt+E opens the script editor.

Input line

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

Main Window

To switch between the input line and the main window, please first select a hotkey under the, "Special Options" tab. Your choices are:

  • Tab
  • CTRL+Tab
  • F6

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+C Copy selection
Ctrl+Shift+C Copy selection as HTML

Special Options

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

Speaks out text coming from the game using the screen reader, on by default. Turning this option off is relevant to macOS and Linux.

Blank Lines

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:

  • Tab
  • CTRL+Tab
  • F6

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.

Nested triggers

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.

Trigger navigation

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.

Screen reader 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

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

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.

Tables

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.

more tips?

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 some third party packages which we think are useful for Mudlet.

Mudlet Reader package

This package provides shortcuts for reading output, and fixes some VoiceOver issues regarding queuing things. It can be installed by using the built-in 'mudlet access reader' alias.

Download it here.

Quick Output

This package adds the ability to read the ten most recent lines from the MUD as well as copy a given line to the clipboard. More information can be found here

Channel History

This package provides a virtual buffering system for use in triggers which can be reviewed at any time using easy-to-remember hotkeys. Each message that is stored in a buffer is also assigned a category by the trigger author. Thus, things like public chats, tells, game announcements, etc. can each have a separate category. To learn more about this package, click here.