Keyboard Navigation for GNOME 2.0 (Draft)

Contents > GTK Widgets > Containers
 

Containers

Scrolled Window (testgtk, "scrolled window")

 
Java
JScrollPane
MSWin32
CView
Gtk 1.2.9
GtkScrolledWindow
Gtk Proposed Status at
8-Jan-02

Bugzilla Patch? NO

Navigate in - Tab  Navigate in - Tab, or Alt+mnemonic Navigate in - Tab, arrow keys, Alt+mnemonic. Navigate in - Tab, or Alt+mnemonic OK
Navigate out - Tab, Shift+Tab (reverses direction)  Navigate out - Tab, Shift+Tab (reverses direction), Alt+mnemonic Navigate out - Tab, arrow keys, Alt+mnemonic. Navigate out - Tab, when last focusable control in scrolled window has focus Alt+mnemonic

[Shift+]Ctrl+Tab whichever control in scrolled window has focus

[Shift+]Tab - OK

[Shift+]Ctrl+Tab - Not Implemented

Navigate within - 

Arrow keys 

PgUp, PgDn = Move up/down one JViewport view 

Ctrl+home = move to beginning of data 

Ctrl+end = move to end of data 

Ctrl+page down = move right one JViewport view 

Ctrl+page up = move left one JViewport view

Navigate within - 

? What would be the Windows equivalent of this control?

Navigate within - Arrow keys, Tab, Alt+mnemonic if pane contains controls. (The following should apply unless the focused control within the scrolled window uses the key for its own purpose):

Arrowkeys- scroll up/down/left/right one small step

PgUp/PgDn - scroll up/down one view width

Ctrl+PgUp/Dn - scroll left/right one view width

Home/End - scroll to top of view

Ctrl+Home/End - scroll to extreme left/right of view

Arrow keys: not implemented

PgUp/Dn: not implemented

Ctrl+PgUp/PgDn : not implemented

Home/End : Not implemented

Ctrl+Home/End : not implemented


 

Splitter Window (testgtk, "panes")

Usability Notes (Java):


A JSplitPane is considered to have focus as soon as one of its child components has the focus.

Focuswise the JSplitPane is entered by hitting the Tab key. Followup keypresses on the Tab key causes the focus to cycle between the components withing the JSplitPane. The only way to move the focus to the outside of a JSplitPane again is by Ctrl+Tab or Ctlr+Shift+Tab.

F8 while the JSplitPane (one of its child components is in focus) has the focus gives the divider (splitter, split bar) the focus and allows to move it around with the cursor keys. This resize mode is ended by either another (F8 | Tab) where the focus goes to the next component in the JSplitPane, or by (Ctrl+Tab | Ctrl+Shift+Tab) where the focus goes to the next component outside of the JsplitPane.
 

 
Java
JSplitPane
MSWin32
CSplitterWnd
Gtk 1.2.9
GtkPaned
Gtk Proposed
Bug #53584
Status at
8-Jan-02

Bugzilla Patch? YES

Navigate in - Tab No specific recommendations currently given, other than "F6 moves between panes in HTML Help". Navigate in - Tab, arrow keys, Alt+mnemonic.
Navigate in - Tab, Alt+mnemonic of adjoining label.
OK
Navigate out - Tab, Shift+Tab.

Inherits navigation sequence of last component it contains

" Navigate out - Tab, arrow keys, Alt+mnemonic.
Navigate out - Tab, Alt+mnemonic of a control outside split pane.
OK
Navigate between - Tab, F6 (last element with focus regains focus when its pane is moved to) " Navigate between - Tab, arrow key Navigate between - Tab (from last control in previous pane), F6 (last element with focus regains focus when its pane is moved to) Tab - OK
F6 - Not implemented: ssp has attached a patch to the bug report to implement this, but it hasn't been reviewed/accepted
Give focus to splitter bar - F8 

Change size - Arrow keys, home, and end (moves the pane splitter appropriately)

" Give focus to splitter - not implemented. 

Change size - not implemented.

Give focus to splitter bar - F8 (splitter bar shouldn't be in regular Tab navigation sequence)
Change size - similar to slider control, i.e: arrow keys (small increments), PgUp/PgDn (larger increments), home, and end (min/max amount of split).  Also perhaps Esc to reset the splitter to the position it was in when you gave it focus.
F8, arrow keys-  Not implemented: ssp has attached a patch to the bug report to implement this, but it hasn't been reviewed/accepted





Tabbed Window (testgtk, "notebook")

 
Java
JTabbedPane
MSWin
CTabCtrl
Gtk1.2.9
GtkNotebook
Gtk Proposed
Bug #53612
Status at
8-Jan-02

Bugzilla Patch? YES

Navigate in - Tab. Navigate in - Tab, or Alt+mnemonic of tab or control in frontmost page.  Navigate in - Tab, arrow keys, Alt+mnemonic of tab (currently broken) or control in frontmost page.
Navigate in - Tab key, Alt+mnemonic of any page tab or any control in frontmost page.
Tab, Alt+,mnemonic: OK

Mnemonic on frontmost page: TBD

Navigate out - Ctrl+Tab (leaves JTabbedPane when focus is on tabs or inside the tab page, components inside tab page that have focus are given priority for processing the keysequence e.g. JTextArea processes before JTabbedPane) No shortcut listed in MS guidelines... but if there is one, it won't be Ctrl+Tab. Navigate out - no shortcut to take you straight to the next control outside the notebook. You have to navigate out by tabbing or "arrowing" manually through the intervening controls, or pressing Alt+mnenmonic of a control that lies outside the notebook.
Navigate out - Tab key (if last control on frontmost page has focus), Shift+Tab (if page tab has focus), [Shift+]Ctrl+Tab if any page tab has focus or control on frontmost page has focus. 
(NB: suggestion made before latest build of Sawfish came along, which now hijacks Ctrl+Tab by default for window cycling-- this is Sawfish bug #8220)
Tab, Shift+Tab: OK

[Shift+]Ctrl+Tab: Not implemented

Navigate tabs - Arrow keys = moves between tabs L/R arrow - chooses next or previous tab in current row and displays the page. 

U/D arrow - chooses tab in next or previous row and displays the page.

Navigate tabs - Tab or arrow keys take you through the tabs without bringing them to the front. No wraparound when you reach the last tab-- focus moves on to next or previous control outside the notebook when you go past the first or last notebook tab.
Navigate between page tabs (without bringing pages to the front) - left/right arrow keys, when any page tab has focus. However, pressing right arrow when the last tab has focus, or left arrow when the first has focus should not move focus to widgets outside the notebook control-- should play system warning beep and not move focus.
Left/right arrow keys: Moves focus OK, but wraps around tabs rather than stopping with system warning beep
Navigate between tabs and tab page content - 

Ctrl+Down = moves from tab to its associated page 

Ctrl+Up = moves from tab page to its associated tab 

What does Tab key do when a tab has focus?

Tab cycles through all controls on current page, then back to the tab control itself. Navigate between tabs and tab page content - down arrow when chosen tab has focus. 

Up Arrow or Shift+Tab moves focus back from page to tab when the first control on the page has focus. Down Arrow or Tab moves focus back from page to tab when the last control on the page has focus.

Navigate between a page tab and that page's content - Tab key or Ctrl+Down arrow.
Navigate between page content and that page's tab- Shift+Tab key or Ctrl+Up arrow. 
Pressing Space when any page tab other than the frontmost has focus should bring that page to the front, but leaving the focus on the page tab.
Tab - OK

Ctrl+Down arrow - not implemented

Spacebar - OK, but Enter also still works; Enter should activate the window's default button instead

Cycle through tab pages - Cntrl-PgUp/Down = moves to next/previous tab page. Gives first focusable component in the tab page focus if the page content hasn't been visited, else the last component that had focus regains focus. Ctrl+PageDwn or Ctrl+Tab switches to next tab and displays the page. 

Ctrl+PageUp or Ctrl+Shift+Tab switches to previous tab and displays page.

Cycle through tab pages - not possible in gtk; have to explicitly give the desired tab focus first, then press Down Arrow.
Navigate between page tabs (bringing each page to the front in turn) - Ctrl+PgUp (next page tab), and  Ctrl+PgDn (previous page tab), when any page tab or any widget on frontmost page has focus.   However, pressing PgUp when the last tab has focus, or PgDn when the first has focus should not wrap focus around-- should play system warning beep and not move focus.
Ctrl+PgUp/PgDn - OK; warning beep TBD

 
 

Users · Developers · ViewCVS · FTP · Bugzilla · Software Map · Contact