Changeling’s Guide to Discord for Screen Readers: Navigating the User Interface and User Settings
What is This?
This is the second in a series of posts that explains how to use Discord if you also use a screen reader to access your computer and the Internet. If you’re unsure of what Discord is or if you want to use it, please go read the introduction post. You can also check out this dedicated guide page for a list of all posts in the series.
What is Covered in This Post?
This post describes the layout of the Discord user interface, and documents some common differences between screen readers. Finally, this post gives a walkthrough of the user settings, and makes suggestions of changes you can make to give yourself a smoother experience.
The Discord User Interface (UI)
The Discord UI presents like a web page, or HTML environment. This appears to serve the purpose of making sure users have a consistent experience, whether they choose to use the Discord program or run Discord from a web browser. For this reason, you’ll want to make sure you’re familiar with your screen reader’s commands for using web pages, particularly those commands for navigating and interacting with links, buttons, headings, landmarks, edit fields, checkboxes, and dropdown menus. You will also need to be familiar with navigating in-page dialog boxes, especially if you are using the Nonvisual Desktop Access (NVDA) screen reader. (note: as of December 5, 2019, the need to rely on navigating in-page dialog boxes to use Discord has decreased almost to the point of being nonexistent. See the later sections of this post to find out exactly what has changed.)
If you are using JAWS, there are also scripts for Discord. These scripts add functionality to the screen reader to enhance the user experience.
When You First Launch
When you first launch Discord, you land in the “Home” section. This section contains a list of servers to which you belong, as well as your direct messages–conversations between you and at least one other person, and not broadcast to a server. You’re friends list is also here, and you can filter it by who’s online, pending friend requests, etc.
A Difference Between JAWS and NVDA
Until December 5, 2019, NVDA users had to successfully navigate an in-page dialog by telling NVDA to interact with it. This issue has been fixed by the Discord developers, and has taken care of the most significant difference between using JAWS or NVDA with Discord. For the truly curious minds, the dialog where you spend most of your Discord time is still taking up the center of the web page, it’s just that now NVDA is able to recognize that it should automatically interact with that dialog. you can confirm this by pressing NVDA+CTRL+Space at any time and experiencing the results.
Servers are presented as a type of dropdown that screen readers call a treeview. To negotiate the servers treeview:
- From the top of the virtual window, press the down arrow until you hear “servers treeview”.
- Press enter to interact with the treeview. You should hear an indication from your screen reader to indicate the exit from virtual browse mode.
- Use the up and down arrows to navigate through the list.
- When you find the server you want, press Enter.
Alternatively, press the tab key to enter the servers treeview, then use the up and down arrows to find the server you want then press Enter.
This is how Discord categorizes direct messages. You can reach this area by using the down arrow to move passed the servers treeview. You’ll encounter buttons for adding a new server and server discovery along the way. If you wish to reduce the number of keystrokes, press Tab to enter the servers treeview, then press F6 to jump to the direct messages list. You can also navigate by landmark until you hear, “Private Channels” and press tab to enter the treeview. This area has the following elements:
- Direct messages with the name of the user with whom you are holding the conversation.
You can navigate to any of these by pressing Enter when you hear its name. If you press Enter on the friends or Nitro elements, the section you choose is opened as a level three heading below the list of direct messages. If your viewing the friends list, it is sorted by who is online, pending friend requests, anyone you’ve blocked, and all these filtering options are presented as tabs, and your selection appears under a level two heading of the same name. This section also has buttons for adding a friend, starting a group direct message, mentions, the Discord help, your inbox, and an update button if you are not running the latest discord. The headings for your friends list are actually situated below the user settings, so you’ll want to use your screen reader’s heading jump to bypass the user area.
The inbox is a feature that allows you to see mentions and unread messages for your servers. you can access it by finding and activating the inbox button, or by pressing Control+i from anywhere within Discord. the inbox has tabs you can use to see mentions or unread messages, as well as a button that marks everything in the Inbox as read if you feel overwhelmed and want to start with a clean slate.
The user area contains buttons for setting your status, copying your user name, muting yourself, deafening yourself, and accessing your user settings. The quickest way to access this portion of the interface is to move by landmark until you hear, “User area”. All of these options will be covered in future posts, starting with user settings later in this post. Now that you have an overview of the user interface, let’s talk about user settings.
To access user settings, move by landmark to reach the user area, and then navigate by button until you hear “user settings,” then press space or enter. You should be presented with these options, which present as tabs.
- My Account: Contains options to customize your profile, manage your contact info and password, and manage two-factor authentication.
- Privacy & Safety: Contains options for who can find and contact you, data control, etc.
- Authorized Apps: Contains options for managing apps with access to your Discord account.
- Connections: Where you manage connections to your social media profiles.
- Billing: where you manage how to give a corporation money.
- Discord Nitro: Where you can manage your premium subscription.
- Server Boost: you can pay a fee to help your favorite servers get more notice.
- Hype Squad: Where you can sign up for the Discord newsletter.
- App settings: A magic button you can click all day with no result, since it’s meant to illustrate a new category and is misread by screen readers.
- Voice & Video: Set your input and output preferences for chatting later.
- Overlay: Controls settings for the chat overlay while playing games.
- Notifications: Lets you customize what you’re notified about and how.
- Keybinds: Lets you configure shortcut keys.
- Game Activity: Lets you control options for displaying which game you’re currently playing.
- Activity Feed: Lets you customize your activity feed.
- Game library: Lets you import your game library from popular services like Steam. (This option is now only available to those who have purchased games through Discord).
- Text & Images: Settings for adjusting how text and images are handled, and this is where you can adjust spoiler display settings.
- Appearance: Change the visual look of the Discord UI.
- Streamer mode: Customize your streaming experience.
- Language: Set your language.
- Windows settings: Lets you control if Discord launches at startup, whether or not it runs from the system tray, etc.
- Change Log: View the list of recent changes.
- Logout: Signs you out.
Once you click a category, use heading navigation to find the beginning of that category’s options. Use standard navigation to explore the possible options.
Here are some suggestions of settings you can change to make your user experience better. The out-of-box experience is quite nice, though.
Under My Account
You may wish to consider setting a profile photo. While I recognize that having an avatar may not be a priority for most of my readers, the fact is having a unique avatar is how server admins who may be visually oriented to the world distinguish you from a spammer. To set your avatar:
- Once you’ve navigated to user settings, my account, and the level 2 heading where those options start, move by button until you hear “edit,” and activate it.
- Navigate away from the edit box where you can change your username, and then
- If you are using NVDA, push the up arrow until you hear “clickable” and press Space.
- If you are using JAWS, route your JAWS cursor to your PC cursor. Next, push up arrow until you hear “Avatar,” and press space.
- You will then be taken to a standard browse dialog where you can choose a photo.
- Once you’ve finished, find and click the “Save” button.
You can have it so that incoming messages are automatically spoken. At this time, it is only possible to adjust the rate of speech, and announcements may interfere with other tasks you are performing. For this reason, I suggest you be picky about what you want announced. To set up text to speech announcements:
- Select the notifications category of options.
- Navigate by level 5 heading until you hear “Text to speech notifications”.
- Navigate by and check the checkbox for all channels, currently selected channel, or never.
- Click the unlabeled save button at the bottom of the screen.
While you’re in the notifications section, you may also wish to review and customize notification sounds. Each event is both a checkbox and button, so moving to one and pressing the spacebar will both play the sound and toggle the notification on or off. When you’ve finished, click the unlabeled save button.
Now that you have an understanding of the Discord UI and an idea of how navigation is going to work, you’re ready to join a server. The next post will explain how to join servers, as well as customize your settings for a specific server. In the meantime, make sure you have discord set the way you think you’ll like it.