This post in other languages: Versão Portuguesa, Українська версія
This update brings the screen reader support into the game, along with tons of accessibility features and improvements that can help blind and visually impaired people to play the game.
Please note that this is an experimental feature and it may not work as expected sometimes. Unfortunately, the keyboard support for the game UI still needs a lot of work, I’ll try to improve that in the future updates. Also I’m personally not very familiar with the screen readers so if you have any suggestions or ideas for improvement, please let me know.
Please check out this video for a short demonstration:
Enabling the accessibility features
Ymirheim client now automatically detects if you have a screen reader running when you start the game and enables accessibility features automatically. Just make sure that your screen reader is running before you launch the game.
List of supported screen readers:
- JAWS
- NVDA
- Window-Eyes
- SuperNova
- System Access
- ZoomText
In addition to the hotkeys built into your screen reader, you can also use an in-game hotkey to interrupt the screen reader (Ctrl
+Shift
+I
by default, can be assigned to a different key in the control options).
Navigating the UI
Screen reader announces when a UI control gets focused and when any changes are made with the control (e.g. a checkbox gets checked or a dropdown option gets selected). When a window appears on the screen, screen reader will read it’s title. You can use Tab and Ctrl+Tab to focus the next/previous control in the window and interact with it using the arrow keys, press Enter to confirm/activate and Esc to cancel/exit. For example, when a button gets focused, screen reader will read its label; you can press Enter to activate (press) the focused button or press Tab to go to the next button. When a dropdown or a list control gets focused, you can use your arrow keys to select a value from the list (screen reader will read your current selection) and Enter to confirm the selection.
Unfortunately, some windows still require you to use the mouse to interact with them. Hopefully, in the future we can make every window to be controlled via the keyboard alone, but it’s a long process since it has to be implemented per each window separately.
You can read more on each UI element in detail on the wiki page (work in progress).
Chat
Screen reader will automatically read out any message that appears in your chat window and system chat window.
You can disable specific message types (for example, global messages or the experience gain announcements) in the chat options (Ctrl
+ Num+
shortcut) by unchecking the corresponding checkbox for that message type.
You can also open chat history (Num+
) if you miss any messages and the screen reader will read out current page (use Ctrl
+Tab
/Ctrl
+Shift
+Tab
to switch between the tabs and PgUp
/PgDown
to scroll through the pages).
NPC Dialogs
When you have a friendly NPC selected as a target, press F
to initiate the dialog. Screen reader will read any text that appears in the dialog window.
When a next dialog page is available, you will hear the [Next]
prompt. Hit Space
to proceed to the next page.
When there is a dialog choice option or action buttons available, the screen reader will read a number that corresponds to that option and it’s label. Press the corresponding number key on the keyboard (1
~9
) to select the option.
Pressing Esc
closes the dialog window.
Cutscenes
In addition to reading out any dialogs that appear on the screen during a cutscene, screen reader will actually describe everything that happens in the cutscene so you don’t miss anything.
The controls are similar to the NPC dialogs: when you hear the [Next]
prompt, it means that the “Next” button is appeared on the screen and you can hit Space
to proceed.
You now can also hit Esc
during the cutscene to skip it.
Confirmation prompts
Sometimes the game may display a confirmation prompt (for example, when you try to exit the game or destroy an expensive item). Screen reader will automatically read out the text in that window and you can use Enter
or Esc
to confirm or reject.
World map
Each zone map is now divided by a grid of 8x8 cells to make the navigation easier. When you open the map (M
hotkey), screen reader reads any points of interest (like a quest objective or a party member) that appears on the map along with it’s coordinates on the grid. You can also use /pos
chat command to find out your current coordinates and the direction to your current target.
Entering new zone or a region
When you enter a new zone or a region/building (for example, exit a town or step into the auction house), screen reader will read the zone name that appears in the center of the screen. In addition to that, it may also describe the zone for you (at the moment, only a few regions have descriptions like that).
Interacting with in-game objects
When your mouse cursor hovers over any object in the 3d space that you can interact with (like a monster, NPC, other players, activable structures, etc.), the screen reader will read out its name. Click it to select it as a target (if can be selected as a target).
You can also use Tab
/Shift
+Tab
and the F1
~F8
keys to select different kinds of targets nearby (please refer to the wiki page for more info).
When a target gets selected, screen reader reads out it’s name and any other available information about the object that can be seen in the target info widget (e.g., its level, amount of health).
Combat
During combat, screen reader reads attack-related system messages in a very minimalistic way to be able to keep up with the combat in real time. When you deal damage to your target, screen reader will read it as just a number (for example, “14” means you’ve dealt 14 damage to your target); When you receive a damage, the number is going to be negative (“-14”). Screen reader will also read any blocks/evasions/misses as single word. Any other system chat messages (like skill usage) will be read as they appear in the system chat.
Sonar
Sonar is a special feature that allows you to better analyze the geometry of your surroundings in the 3D world. When you use any camera or movement controls (e.g., W
A
S
D
keys), a sine wave tone will be generated. The pitch of the tone indicates the distance between your character and the nearest collision obstacle in front of the camera. The higher the pitch, the further away the object.
It works via ray tracing from the current coordinates of your character, to the direction of the camera.
You can rotate the camera left/right and up and down around your character and scan your surroundings with the sonar. It can help you detect any obstacles in front of your character, find doorways/corridors/staircases. Please note that the sonar outputs its tone through the sound engine of the game and not through your screen reader, so you have to have your game audio enabled to hear the sonar.
You can toggle the sonar on or off by pressing Ctrl
+Shift
+S
(can be changed in the controls settings).
Full Changelog
Added
- Screen reader support and the sonar feature implemented.
- New hotkeys added:
- Interrupt screen reader (
Ctrl
+Shift
+I
by default) - Toggle screen reader sonar (
Ctrl
+Shift
+S
by default) - Quest widget: Next page (
Ctrl
+N
by default) - Reset camera (
Delete
by default) - Chat options window (
Ctrl
+Num+
by default)
- Interrupt screen reader (
- Added a system message when swapping weapon sets.
- Cutscene keyboard navigation and skipping implemented (Space to proceed to the next page; Escape to skip a cutscene).
- Added proper character appearance option labels (instead of just “Type #1”, “Style #2”, etc.).
- Grid system for the zone maps.
Changed
- A lot of spatial and environment sound improvements. Footsteps, monster sounds, skill sounds are now much more realistically indicate the direction and the distance to the source of the sound.
- A lot of UI keyboard navigation improvements.
- Quest boards now show quests even if they’re unavailable to you at the moment. It’s now more clear why each particular quest is unavailable to you.
- Survivor NPCs on the ship in the main story quest are now properly named and have low health.
- Maximum string length increased for character appearance options to better support translations to other languages.
- Looting window position now also triggers the inventory window to be shown; The looting window is now always positioned next to the inventory window.
- Camera rotation via keyboard buttons now respects the camera rotation speed setting.
- Various improvements for the
/pos
,/status
,/time
, and other informational chat commands.
Fixed
- Incorrect reward being shown in the quest window. #2109
- Fixed target selection with Tab/Shift+Tab. Now it properly loops over the closest targets.
- Fixed duplicate “You’ve got new mail” system messages when you have multiple unread letters in your mailbox.
- Fixed a bug that made the “Send via mail” context menu option disappear when interacting with the mailbox.
- Skill experience system messages assigned to a proper chat message category.
- Fixed a bug that made the NPC dialog box lose focus when accepting a personal quest.
- Fixed a bug that made the harvesting to cancel as soon as started when the object is clicked from far away.
- Various text fixes across the UI, quests, and dialogs for better screen reader support.
- Various small UI rendering bug fixes.