Accessibility

GDM supports "Accessible Login" to allow users to log in to their desktop session even if they cannot easily use the screen, mouse, or keyboard in the usual way. This feature allows the user to launch assistive technologies at login time by means of special "gestures" from the standard keyboard and from a keyboard, pointing device, or switch device attached to the USB or PS/2 mouse port. It also allows the user to change the visual appearance of the login UI before logging in, for instance to use a higher-contrast color scheme for better visibility. GDM only supports accessibility with the Standard Greeter, so the "Greeter" parameter in gdm.conf must be set to the Standard Greeter "gdmlogin".

Accessibility Configuration

In order to enable Accessible Login, the system administrator must make some changes to the default login configuration by manually modifying three human-readable configuration files, stored in gdm.conf, AccessKeyMouseEvents and AccessDwellMouseEvents.

In order to allow users to change the color and contrast scheme of the login dialog, make sure the "AllowThemeChange" parameter in gdm.conf is set to "true".

To restrict user changes to the visual appearance to a subset of available themes, the "GtkThemesToAllow" parameter in gdm.conf can be set to a list of acceptable themes separated by commas. For example:

GtkThemesToAllow=HighContrast,HighContrastInverse

To enable the use of assistive technologies such as the Onscreen Keyboard, Screen Reader, or Magnifier, the "AddGtkModules" parameter in gdm.conf must be uncommented and set to "true". Also the "GtkModulesList" parameter must be uncommented and set as follows:

GtkModulesList=gail:atk-bridge:dwellmouselistener:keymouselistener

System administrators may wish to load only the minimum subset of these modules which is required to support their user base. Depending on the end-user needs, not all of the above GtkModules may need to be loaded. If your end-users need the integrated Screen Reader and Magnifier, you must include "gail" and "atk-bridge". If your end-users will be using a pointing device without buttons or switches, include "dwellmouselistener". If some of your users will use pointing devices with switches, alternative physical keyboards, or switch/button devices, include "keymouselistener". Including all four is suitable for most system configurations. The Onscreen Keyboard can operate without gail and atk-bridge, but with a reduced feature set; for optimum accessibility we recommend including gail and atk-bridge.

Once "keymouselistener" and/or "dwellmouselistener" have been added to the GtkModules loaded by GDM, you can assign end-user actions with the launching of specific assistive technologies. These gesture associations are contained in files AccessKeyMouseEvents and AccessDwellMouseEvents, respectively. The gesture format is described in the two configuration files.

The AccessKeyMouseEvents file controls the keymouselistener Gesture Listener and is used to define key-press, mouse button, or XInput device sequences that can be used to launch programs needed for accessibility. In order to reduce the likelihood of unintentional launch, these 'gestures' may be associated with multiple switch presses and/or minimum durations.

The DwellKeyMouseEvents file controls the dwellmouselistner and supports gestures that involve only motion of a pointing device such as the system mouse of an alternative pointing device such as a head pointer or trackball may also be defined. All gestures are specified by the same syntax; that is, there is no distinction between a 'core mouse' gesture and motion from an alternate input device.

Motion gestures are defined as "crossing events" into and out of the login dialog window. If the 'dwellmouselistener' GtkModule is loaded, alternative pointing devices are temporarily "latched" to the core pointer, such that motion from alternative devices results in movement of the onscreen pointer.

In order to use text-to-speech services at login time (for instance, when using the Screen Reader in speech mode) on some operating systems, the gdm user must be made a member of the "audio" group