RE: Dia's user interface (Keyboard friendly dialogs)
- From: "Rob Campbell" <rob campbell att net>
- To: <dia-list gnome org>
- Subject: RE: Dia's user interface (Keyboard friendly dialogs)
- Date: Mon, 22 Apr 2002 06:31:22 -0400
Setting the properties of a UML object (and others, I assume, but I only use
UML) can be tedious, because of the lack of logical tab-order and
accelerator keys. For example, on the attrbiutes page of the class object,
Tab cycles thru the tabs of the notebook and OK, Apply, and Close. It never
reaches New, Delete, Move Up, or Move Down. Once you click on New (or click
in a data field), the Name field gets the focus and you can tab forward and
backward thru the other data fields. But if you go past the last field
accidentally, you leave the "scope" of that tab order and can't go back.
Also, as soon as you press Enter to complete the entry for that attribute,
you leave the scope and need to use the mouse to start entering another
The attributes page is a simple one. The problem is compounded on the
Operations page. Not only can each class have multiple operations, but each
operation can have multiple parameters. But you can only enter one of each
before reaching for the mouse again. (I just discovered some unrelated,
strange tab order behavior, which I'll have to look into later).
I think that the simplest solution is to have Tab and Shift+Tab to cycle
thru every control on a page. An improvement would be to have inactive
controls be skipped until they are somehow activated. For example, on the
Operations page, Tab would eventually cycle thru to the New Paramter button.
But it would not cycle thru the parameter-related fields until the user
selects New Parameter. Then the tab order would revert to the original
The tab order should include the list of existing attributes, operations, or
other data types. Pressing tab again would tab to the next control. Using
the arrow keys (and maybe pressing an unshifted letter key?) would scroll
thru the list. Pressing Enter would behave as if that entry was clicked
with the mouse, i.e., populate the data fields with its values.
More intelligent behavior could be developed, but I think this simple change
fixes 80% of the problem. The other 20% could be fixed by adding
accelerator keys to every field and control, including the notebook tabs.
This would allow you to jump to any field, including greyed out ones.
I hope this helps.
rob campbell att net
] [Thread Prev