Accessibility

From VNDev Wiki
Revision as of 09:57, 16 December 2024 by Tale glider (talk | contribs) (mention autoplay, +link textbox)

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.

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.