<?xml version="1.0"?> <html xmlns="http://www.w3.org/1999/xhtml"><head><title>Accessibility</title><link rel="previous" href="thememanual.xhtml" title="Themed Greeter"/><link rel="next" href="solaris.xhtml" title="Solaris Specific Features"/><link rel="top" href="index.xhtml" title="Gnome Display Manager Reference Manual"/><style> div[class~="footnotes"] { font-style: italic; font-size: 0.8em; } div[class~="footnote"] { margin-top: 1.44em; } span[class~="footnote-number"] { display: inline; padding-right: 0.83em; } span[class~="footnote-number"] + p { display: inline; } a[class~="footnote"] { text-decoration: none; font-size: 0.8em; } a[class~="footnote-ref"] { text-decoration: none; } div[class~="caution"] { background-image: url("caution.png"); } div[class~="important"] { background-image: url("important.png"); } div[class~="note"] { background-image: url("note.png"); } div[class~="tip"] { background-image: url("tip.png"); } div[class~="warning"] { background-image: url("warning.png"); } div[class~="admonition"] { padding-top: 4px; padding-bottom: 4px; padding-left: 56px; padding-right: 8px; min-height: 52px; border: dotted #D1940C 1px; background-position: 4px 4px; background-repeat: no-repeat; } div[class~="autotoc"] { margin-left: 2em; padding: 0em; } div[class~="autotoc"] ul { margin-left: 0em; padding-left: 0em; } div[class~="autotoc"] ul li { margin-right: 0em; padding: 0em; list-style-type: none; } * + div[class~="biblioentry"] { margin-top: 1.2em; } * + div[class~="bibliomixed"] { margin-top: 1.2em; } *[class~="block-indent"] { margin-left: 1.72em; margin-right: 1em; } *[class~="block-indent"] *[class~="block-indent"] { margin-left: 0em; margin-right: 0em; } *[class~="block-verbatim"] { white-space: pre; } pre[class~="programlisting"] { padding: 6px; -moz-border-radius: 8px; overflow: auto;background-color: #EEEEEE;border: solid 1px #DDDDDD } pre[class~="screen"] { padding: 6px; -moz-border-radius: 8px; overflow: auto;background-color: #EEEEEE;border: solid 1px #DDDDDD } pre[class~="synopsis"] { overflow: auto; } pre[class~="linenumbering"] { padding-top: 6px; padding-bottom: 6px; -moz-border-radius: 8px; border: solid 1px black; margin-top: 0px; margin-left: 0.83em; background-color: black; color: white; -moz-opacity: .3; padding-right: 0.4em; padding-left: 0.4em; } dt[class~="glossterm"] { margin-left: 0em; } dd + dt[class~="glossterm"] { margin-top: 2em; } dd[class~="glossdef"] { margin-top: 1em; margin-left: 2em; margin-right: 1em; } dd[class~="glosssee"] { margin-top: 1em; margin-left: 2em; margin-right: 1em; } dd[class~="glossseealso"] { margin-top: 1em; margin-left: 2em; margin-right: 1em; } span[class~="co"] { font-size: 8px; padding-left: 0.4em; padding-right: 0.4em; margin-left: 0.2em; margin-right: 0.2em; border: solid 1px; -moz-border-radius: 8px; color: #FFFFFF; background-color: #000000; border-color: #000000; } span[class~="co"]:hover { color: #FFFFFF; background-color: #333333; border-color: #333333; } span[class~="co"] a { text-decoration: none; } span[class~="co"] a:hover { text-decoration: none; } div[class~="cmdsynopsis"] { font-family: monospace; } div[class~="list"] { margin-left: 0px; padding: 0px; margin-bottom: 1em; } div[class~="list"] dl dt { margin-left: 0em; } div[class~="list"] dl dd + dt { margin-top: 1em; } div[class~="list"] dl dd { margin-top: 0.69em; margin-left: 1.72em; margin-right: 1em; } div[class~="list"] ul { margin-left: 1.72em; padding-left: 0em; } div[class~="list"] ol { margin-left: 1.72em; padding-left: 0em; } div[class~="list"] ul li { margin-right: 1em; padding: 0em; } div[class~="list"] ol li { margin-right: 1em; padding: 0em; } div[class~="list"] li + li { margin-top: 0.69em; } div[class~="simplelist"] > table { border: none; } dt[class~="question"] { margin-left: 0em; } dt[class~="question"] div[class~="label"] { float: left; } dd + dt[class~="question"] { margin-top: 1em; } dd[class~="answer"] { margin-top: 1em; margin-left: 2em; margin-right: 1em; } dd[class~="answer"] div[class~="label"] { float: left; } div[class~="refentry"] h2[class~="refentry"] { border: none; margin-top: 1em; } div[class~="refentry"] + div[class~="refentry"] { border-top: dashed black 1px; } table { border-collapse: collapse; border: solid 1px; -moz-border-radius: 5px; } tr[class~="odd"] { background-color: #F0F0F0 } td { padding-left: 0.83em; padding-right: 0.83em; padding-top: 4px; padding-bottom: 4px; } th { padding-left: 0.8em; padding-right: 0.83em; } thead { border-top: solid 2px; border-bottom: solid 2px; } tfoot { border-top: solid 2px; border-bottom: solid 2px; } td + td { border-left: solid 1px; } tbody { border: solid 1px; -moz-border-radius: 5px; } h1 { font-size: 1.72em; margin-top: 0em; } h2 { font-size: 1.44em; } h2[class~="title"] { margin-top: 1.72em; border-bottom: solid 1px; } h3 { font-size: 1.2em; } h3[class~="title"] { margin-top: 1.72em; } h3 span[class~="title"] { border-bottom: solid 1px; } h4 { font-size: 1.0em; } h4[class~="title"] { margin-top: 1.44em; } h4 span[class~="title"] { border-bottom: solid 1px; } h5 { font-size: 1em; margin-top: 1em; } h6 { font-size: 1em; margin-top: 1em; } h7 { font-size: 1em; margin-top: 1em; } body { margin: 0px; direction: ltr; } div[class ~= "body"] { padding: 12px; } div[class ~= "navbar"] { margin-left: 12px; margin-right: 12px; margin-bottom: 12px; padding: 6px; border: solid 1px; } div[class ~= "navbar-prev"] { margin: 0px; padding: 0px; float: left; } div[class ~= "navbar-prev-sans-next"] { float: none; } div[class ~= "navbar-next"] { margin: 0px; padding: 0px; text-align: right; } div { margin-top: 0em; margin-bottom: 0em; padding-top: 0em; padding-bottom: 0em; } p { margin-top: 0em; margin-bottom: 0em; padding-top: 0em; padding-bottom: 0em; } div + * { margin-top: 1em; } p + * { margin-top: 1em; } p > div { margin-top: 1em; margin-bottom: 1em; } p > div + div { margin-top: 0em; } p { text-align: justify; } </style></head><body><div class="body"><div class="sect1"><a name="accessibility"/><h1 class="sect1 title"><span class="title">Accessibility</span></h1><p xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n" class="para"> 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. Only the "Standard Greeter" supports accessibility, so use this login GUI for accessibility support. This is done by specifying the "Standard Greeter" in the "Local" tab for the console display and specifying the "Standard Greeter" in the "Remote" tab for remote displays. Or you can modify the <span class="filename" style="font-family: monospace; ">Greeter</span> configuration option by hand to be <span class="command" style="font-family: monospace; ">gdmlogin</span>. </p><p xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n" class="para"> The Standard Greeter supports the ability to launch assistive technologies at login time via configurable "gestures" from the standard keyboard, pointing device, or switch device attached to the USB or PS/2 mouse port. Also the user can change the visual appearance of the login UI before logging in, for instance to use a higher-contrast color scheme for better visibility. </p><div class="sect2"><a name="accessibilityconfig"/><h2 class="sect2 title"><span class="title"><span class="label">9.1. </span>Accessibility Configuration</span></h2><p xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n" class="para"> 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 the GDM configuration, AccessKeyMouseEvents and AccessDwellMouseEvents. </p><p xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n" class="para"> In order to allow users to change the color and contrast scheme of the login dialog, make sure the <span class="filename" style="font-family: monospace; ">AllowThemeChange</span> parameter in the GDM configuration is set to "true". </p><p xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n" class="para"> To restrict user changes to the visual appearance to a subset of available themes, the <span class="filename" style="font-family: monospace; ">GtkThemesToAllow</span> parameter in the GDM configuration can be set to a list of acceptable themes separated by commas. For example: </p><div xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n" class="screen block-indent"><pre class="screen">GtkThemesToAllow=HighContrast,HighContrastInverse </pre></div><p xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n" class="para"> To enable the use of assistive technologies such as the Onscreen Keyboard, Screen Reader, or Magnifier, the <span class="filename" style="font-family: monospace; ">AddGtkModules</span> parameter in the GDM configuration must be uncommented and set to "true". Also the <span class="filename" style="font-family: monospace; ">GtkModulesList</span> parameter must be uncommented and set as follows: </p><div xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n" class="screen block-indent"><pre class="screen">GtkModulesList=gail:atk-bridge:dwellmouselistener:keymouselistener </pre></div><p xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n" class="para"> 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 both gail and atk-bridge. </p><p xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n" class="para"> 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. Both files are located in the <etc>/gdm/modules directory. The gesture format is described in the two configuration files. </p><p xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n" class="para"> 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 applications 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. Note that the XKB extension is needed for key gestures to work, so you may need to add +xkb to your Xserver command line for gestures to work properly. </p><p xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n" class="para"> 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. </p><p xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n" class="para"> 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. </p><p xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n" class="para"> 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 </p><p xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n" class="para"> Currently GDM does not remember what accessible technology programs have been started when switching applications. So if the user switches between the login program and the chooser, for example, then it is necessary for the user to redo the gesture. Users may need to also set up their default session so that the assistive technologies required are started automatically (or have appropriate key-bindings defined to start them) after the user session has started. </p><p xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n" class="para"> There are some issues that cause users to have problems getting the gesture listeners to work. It is recommended that people use GDM version 2.8.0.5 or later for best results. Some X servers have a bug which causes detectable autorepeat to fail when XEVIE is enabled (which happens when atk-bridge is included as a GTK Module). This bug causes key gestures with a duration greater than 0 to always fail. A workaround is to simply redefine all key gestures so they have zero length duration. Some versions of GOK and gnopernicus will not launch unless the "gdm" user has a writable home directory. If you see an hourglass cursor when you complete a gesture but the program does not start, then you are likely having this problem. It should be considered a bug for AT programs to require having a writable home directory, so please file a bug with the AT program if you encounter this problem. Also note that some input devices require X server configuration before GDM will recognize them. </p></div><div class="sect2"><a name="accessibilitysound"/><h2 class="sect2 title"><span class="title"><span class="label">9.2. </span>Accessibility Login Sound Configuration</span></h2><p xmlns:msg="http://www.gnome.org/~shaunm/gnome-doc-utils/l10n" class="para"> By default, GDM requires a media application such as "sox" to be present to play sounds for successful or failed login. GDM defaults the location of this application to <span class="filename" style="font-family: monospace; "><bin>/play</span> (or <span class="filename" style="font-family: monospace; "><bin>/audioplay</span> on Solaris. This can be changed via the SoundProgram GDM configuration option. Typically most text-to-speech programs (such as ORCA or Gnopernicus) use a separate mechanism to play audio. </p></div></div></div><div class="navbar"><div class="navbar-prev"><span class="navbar-prev"><a class="navbar navbar-prev" href="thememanual.xhtml" title="Themed Greeter">Themed Greeter</a></span></div><div class="navbar-next"><span class="navbar-next"><a class="navbar navbar-next" href="solaris.xhtml" title="Solaris Specific Features">Solaris Specific Features</a></span></div></div></body></html>