Skip to main content


IBM guidelines for writing accessible applications using 100% pure java: 10.1.2 Difference evaluation: JFC keyboard bindings for windows95/NT and CDE/Motif.

User expectation issues:

! = Major issue or difference, @ = Potential issue

A. ! JComboBox - Alt+down-arrow posts the menu in Win32 and moves the window to the bottom of the stack in CDE.
B. ! JInternalFrame - looks like a native window but can not use Alt+F* sequences, can also be an active element in a compound document but the focus in/out bindings shoudn't cause problems when nesting or desktop navigation occurs.
C. ! JDesktopPane - Win95 desktop more like a directory, Alt+Tab will be problematic for both. Assumes JDesktop contained in window and application looking windows are JInternalFrames.
D. ! JDesktopIcon - This is a mixture of B and C above.
E. @ JDirectoryPane - Win32 keybindings are recommended for CDE because Win32 provides more than CDE, nothing now in CDE will need to be changed, and CDE doesn't work correctly now. Will have to deal with Ctrl+/ +\ and Ctrl+A difference issue.
F. JTabbedPane - This adds functionality to what is already in Win32, CDE has no predence to worry about. Its only an issue when the user returns to Native Win32 where they get less functionality.

Component Differences:

[] = CDE, () = Win32

1. SpaceBar - [] accepts Enter & Spacebar, () only Enter
- JMenuItem - Activate
- JMenu - Post
- JCheckBoxMenuItem - Check, Uncheck
- JRadioButtonMenuItem - Check
- JMenuBar - Post, Unpost
- JPopupMenu - Activate
- JToolBar - Activate
2. Select/deselect All - [] = Ctrl+/, Ctrl+\; () = Ctrl+A
- JDirectoryPane, JList, JTable, JTextArea, JTextPane, JHTMLPane, JTree
3. JComboBox: Post - [] = d arrow, Spacebar; () = Alt+d arrow
4. JDesktopIcon: Open icon - [] = Alt+F5, Alt+Spacebar+mnemonic; () = Enter
5. JSlider: Big jump - [] = Ctrl+Pgup, Ctrl+Pgdn; () = Pgup, Pgdn
6. Spinner: Big jump - [] = Ctrl+Pgup, Ctrl+Pgdn; () = Pgup, Pgdn
7. StringSpinner: Big jump - [] = Ctrl+Pgup, Ctrl+Pgdn; () = Pgup, Pgdn
8. JList: Navigate within - [] = Ctrl+home, Ctrl+end; () = home, end