Re: Carrying over ATs from GDM to GNOME session (brainstorm)



Hi,

Brian Cameron wrote:
It makes 100% sense to me for the setting of
/desktop/gnome/interface/accessibility to carry over to the user
session.  If the user launched an AT program in the login program, then
it would make sense for GDM to just go ahead and set this key for the
user session before starting it, for example.

+1

Things get more tricky when you
want to try and modify the user's configuration so that specific AT
programs launch or themes get specified.  If we want this to happen,
then we need to be careful to never mess up the user's configuration if
they have set their AT preferences to meet their unique needs.

For example, GDM could automatically set the GConf keys associated with
the Preferences->Assistive Technologies "Preferred Applications" window,
So, for example, if the user launches text-to-speech in GDM, then it
might make sense to also set the "Visual" value to "Orca" and check the
Visaul "Run at start" checkbox before starting the session.

But doing this in a way that you are certain to not mess up the user's
personal configuration may be hard.  Perhaps it would be reasonable to
go ahead and set the GConf values for the text-to-speech case only if
the "Run at start" GConf setting is unchecked.  Or to set the user's
theme only if the user is currently using the system default theme.
On first blush, this seems like it could work, but you really need to be
careful when messing around with the user's preferences like this.

Indeed; this can become so complex that I wonder whether we should not in any case leave the ultimate control to the user about whether to carry over the assistive tools!? At least as a last resort for the user in case the carry over mechanism screws up things that we missed (which can be very probable).


The cases where I've seen end users wanting to start an AT from a keystroke is for cases where they really want to restart the AT. For example, sometimes the a11y infrastructure hangs or an app hangs or orca hangs. The quickest way to unhang the system can be to restart orca because orca clears up a bunch of stuff when it initializes. So, the user can create a custom keystroke to launch Orca via the System->Preferences->Keyboard_Shortcuts dialog.

However, I might be missing something, which is the case where a gnome-session is *always* running, such as in a public kiosk. It seems to me that the System->Preferences->Keyboard_Shortcuts dialog would provide at least some way to set up the AT's to launch via keystrokes. That would then leave the non-keyboard related gestures (e.g., the mouse enter/leave over boundaries gestures).

Although the old GDM supported dwell gestures that involved enter/leave
window boundries, this technique probably does not make sense for a more
general solution that also needs to work in the user session.  The old
GDM solution works well for GDM since we know that on startup that
exactly one window is always present.

For a more general solution, a different dwell gesture, like moving the
mouse to a corner of the screen, or wiggling the cursor in a certain
way, probably makes more sense.

The gesture solution supposes the user to be initiated about it. If we succeed to provide a solution that works also for non-initiated users, that would be very.

Dealing with the complexities of making AT programs "carry over"
while honoring the users personal preferences seems hard to implement
correctly.

Francesco's solution of offering a checkbox seems like it might work and be rather simple.

I worry this approach would be prone to error.  Users may not realize
they need to set or unset the checkbox - especially if they launched an
AT program via a keybinding rather than the a11y dialog.

Good point that the user might miss the checkbox. What about a popup dialog that opens when the user has clicked the "Login Button"?

- Of course, the dialog would only pop up if the user activates an assistive tool.

- The dialog could be user specific as GDM already knows the login name of the user.

- The dialog would have a "Don't show this dialog again" option, which should make sense as it can be user specific. Whether the "Don't show again" setting should last forever or only as long as the user does not change anything in the accessibility dialog of GDM is another point to solve. To avoid problems, the latter might be better.

Does GDM not provide hooks for such a dialog?


It seems better if this could be managed more in an automatic fashion.
This should be possible, though I wonder if additional GConf keys may
be helpful to help keep track of whether GDM should try to modify
the user's configuration or not.

Some intelligence in the carry over mechanism is necessary even if GDM asks the user whether to carry over the assistive tools: imagine a user that tells GDM to carry over the assistive tools and they conflict with another assistive tool that the user has configured to automatically start at the beginning of the GNOME session.

Are we sure that it is possible to make the carry over mechanism foolproof, even in the simpler approach where it is the user that decides about whether to carry over the assistive tools from GDM to the GNOME session?


Francesco


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]