Accessibility: Difference between revisions

From VNDev Wiki
m Formatting...again
→‎Other: +skipping, +link
 
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{expand article|with = strategies for meeting accessibility needs; linkouts to VN engine pages with accessibility features of each}}
Making a game '''accessible''' means ensuring that it is playable and enjoyable by people with a variety of disabilities or control preferences. A great many guides and sets of standards exist online to help you with this process. One such guide is [https://gameaccessibilityguidelines.com/ Game Accessibility Guidelines].
Making a game '''accessible''' means ensuring that it is playable and enjoyable by people with a variety of disabilities or control preferences. A great many guides and sets of standards exist online to help you with this process. One such guide is [https://gameaccessibilityguidelines.com/ Game Accessibility Guidelines].
Some features might automatically be provided by the [[visual novel engine]] but those vary between engines, and can't account for everything the game might do.


==Common Accessibility Concerns==
==Common Accessibility Concerns==
===Vision===
===Vision===
* Color should not be the only way that essential information is communicated
* Color should not be the only way that essential information is communicated.
* Create a strong contrast between text and the background
* Create a strong contrast between text and the background. Including on things like character names and clickable links.
* Use a readable & accessible font and font size
* Use a readable and accessible font and font size by default.
* Space [[GUI]] elements well
* Leave enough space between [[Graphical User Interface|<abbr title="Graphical User Interface">GUI</abbr>]] that it's easy to see where one ends and another begins.
===Mobility & Reaction Time===
* Provide customization features like allowing the player to change the font, color scheme and font size.
* Allow users a way to continue through the game without playing minigames
* Provide full voice acting or <abbr title="Text to Speech">TTS</abbr> voicing of text so that those who find reading difficult can listen instead. Both for dialogue, button text and things like the credits screen. Preferably also support [[wikipedia:Screen reader|screenreaders]].
* Allow remapping of controls
===Movement===
* Allow all functions to be accessed using either mouse or keyboard, to the extent possible
* Allow users the option to toggle flashing images or effects on or off in the settings.
* Provide alternatives for holding down buttons
* Allow users to adjust the intensity or turn off camera shakes.
* Making sure that moving images or videos do not flash more than three times a second.
===Mobility and Reaction Time===
* Allow users a way to continue through the game without playing minigames.
* Allow remapping of controls.
* Allow all functions to be accessed using either mouse, keyboard or controller, to the extent possible.
* Provide alternatives for holding down buttons.
* Allow players to enable and disable [[autoplay]], and to change its speed and delay.
* Make <abbr title="Graphical User Interface">GUI</abbr> elements big enough to be clicked or tapped on, or make it so that interactions with one element don't accidentally get picked up by another one. For example, although clicking or tapping on the background might trigger a "continue" action, doing it right outside a button probably shouldn't do that, since it's unclear if the user was trying to interact with the button or with the background.
* Avoid placing buttons too close to the edges of the window, since someone reaching for them could accidentally click outside the game window. Accidentally clicking outside is mostly an issue for small buttons, but large buttons can have the same problem in reverse: users might end up interacting with them when trying to resize the window. This also applies on mobile, where the OS might put its own UI right outside the game window.
===Hearing===
===Hearing===
* Provide subtitles or visual representations of sound effects
* Provide subtitles or visual representations of sound effects and music changes.
* Allow users to change the volume of different components (such as music, sound effects, and voice acting) independently of each other
* Allow users to change the volume of different components (such as music, sound effects, and voice acting) independently of each other.
 
* When voice acting conveys a character's mood in other ways than just through words, make the same information understandable from visual cues, such as expression changes.
[[Category:Development]]
===Other===
* Provide [[history]] and/or [[rollback]] options. This might help people who accidentally advance the dialogue before they meant to.
* Put icons on buttons so that people with dyslexia can see what they are without having to read them or rely on audio to tell them apart.
* Use side images or highlight the speaking character: when there's several characters on screen and the only thing telling you who's speaking is a name, people might not know which name is which character. Mouth animations can also help with this.
* Voice acting can also help with telling characters apart by giving them different voices. Even if it's just barks. But in some engines, where dialogue can automatically be read aloud by a <abbr title="Text to Speech">TTS</abbr> voice, barks might cause some text to not get read aloud. A solution can be to play them as sound effects instead of as voice lines.
* While not knowing a particular language well isn't as such as disability, adding more languages to play can enable more people to play the game. And it's also possible to add variants of the same language, such as having a normal English version and an easier-to-read English version with simpler words and grammar.
* When the user changes the font size, it might make sense to adjust the size of the [[textbox]], but probably have maximum and minimum sizes for it. Button sizes could also be made to change with the font size.
* If a piece of dialogue doesn't fit in the textbox, it might be useful to add a scrollbar. But if the text is very close to fitting (like one or two pixels) it might make more sense to just temporarily let the text go a tiny bit into the margins so that you don't get a scrollbar that will only go up or down a tiny fraction of a character's height.
* The ability to [[Saving and loading|save and load]] might be useful for people who could need to take a break in the middle of the game, which could include people without disabilities.
* Especially in games with branching, players may play it more times and want to speed up parts they've already seen in previous playthroughs. While saving and loading can help with that, it's useful to also have a dedicated tool for that, in the form of a [[skipping]] feature.


==External resources==
* [https://coolors.co/contrast-checker/000000-ffaaee Color contrast checker]
* [https://gameaccessibilityguidelines.com/ Game Accessibility Guidelines]


{{development nav}}
{{development nav}}
[[Category:User Experience]]
[[Category:Programming]]
[[Category:Visual novel features]]

Latest revision as of 09:24, 17 December 2024

Making a game accessible means ensuring that it is playable and enjoyable by people with a variety of disabilities or control preferences. A great many guides and sets of standards exist online to help you with this process. One such guide is Game Accessibility Guidelines.

Some features might automatically be provided by the visual novel engine but those vary between engines, and can't account for everything the game might do.

Common Accessibility Concerns

Vision

  • Color should not be the only way that essential information is communicated.
  • Create a strong contrast between text and the background. Including on things like character names and clickable links.
  • Use a readable and accessible font and font size by default.
  • Leave enough space between GUI that it's easy to see where one ends and another begins.
  • Provide customization features like allowing the player to change the font, color scheme and font size.
  • Provide full voice acting or TTS voicing of text so that those who find reading difficult can listen instead. Both for dialogue, button text and things like the credits screen. Preferably also support screenreaders.

Movement

  • Allow users the option to toggle flashing images or effects on or off in the settings.
  • Allow users to adjust the intensity or turn off camera shakes.
  • Making sure that moving images or videos do not flash more than three times a second.

Mobility and Reaction Time

  • Allow users a way to continue through the game without playing minigames.
  • Allow remapping of controls.
  • Allow all functions to be accessed using either mouse, keyboard or controller, to the extent possible.
  • Provide alternatives for holding down buttons.
  • Allow players to enable and disable autoplay, and to change its speed and delay.
  • Make GUI elements big enough to be clicked or tapped on, or make it so that interactions with one element don't accidentally get picked up by another one. For example, although clicking or tapping on the background might trigger a "continue" action, doing it right outside a button probably shouldn't do that, since it's unclear if the user was trying to interact with the button or with the background.
  • Avoid placing buttons too close to the edges of the window, since someone reaching for them could accidentally click outside the game window. Accidentally clicking outside is mostly an issue for small buttons, but large buttons can have the same problem in reverse: users might end up interacting with them when trying to resize the window. This also applies on mobile, where the OS might put its own UI right outside the game window.

Hearing

  • Provide subtitles or visual representations of sound effects and music changes.
  • Allow users to change the volume of different components (such as music, sound effects, and voice acting) independently of each other.
  • When voice acting conveys a character's mood in other ways than just through words, make the same information understandable from visual cues, such as expression changes.

Other

  • Provide history and/or rollback options. This might help people who accidentally advance the dialogue before they meant to.
  • Put icons on buttons so that people with dyslexia can see what they are without having to read them or rely on audio to tell them apart.
  • Use side images or highlight the speaking character: when there's several characters on screen and the only thing telling you who's speaking is a name, people might not know which name is which character. Mouth animations can also help with this.
  • Voice acting can also help with telling characters apart by giving them different voices. Even if it's just barks. But in some engines, where dialogue can automatically be read aloud by a TTS voice, barks might cause some text to not get read aloud. A solution can be to play them as sound effects instead of as voice lines.
  • While not knowing a particular language well isn't as such as disability, adding more languages to play can enable more people to play the game. And it's also possible to add variants of the same language, such as having a normal English version and an easier-to-read English version with simpler words and grammar.
  • When the user changes the font size, it might make sense to adjust the size of the textbox, but probably have maximum and minimum sizes for it. Button sizes could also be made to change with the font size.
  • If a piece of dialogue doesn't fit in the textbox, it might be useful to add a scrollbar. But if the text is very close to fitting (like one or two pixels) it might make more sense to just temporarily let the text go a tiny bit into the margins so that you don't get a scrollbar that will only go up or down a tiny fraction of a character's height.
  • The ability to save and load might be useful for people who could need to take a break in the middle of the game, which could include people without disabilities.
  • Especially in games with branching, players may play it more times and want to speed up parts they've already seen in previous playthroughs. While saving and loading can help with that, it's useful to also have a dedicated tool for that, in the form of a skipping feature.

External resources