This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 66093 - [A11Y] No access by keyboard to any button in "Versioning" window.
Summary: [A11Y] No access by keyboard to any button in "Versioning" window.
Status: RESOLVED FIXED
Alias: None
Product: versioncontrol
Classification: Unclassified
Component: CVS (show other bugs)
Version: 5.x
Hardware: All All
: P3 blocker (vote)
Assignee: Josef Pavlicek
URL:
Keywords: A11Y, UI
Depends on:
Blocks:
 
Reported: 2005-10-06 09:28 UTC by Zdenek Konecny
Modified: 2007-09-25 11:25 UTC (History)
5 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Zdenek Konecny 2005-10-06 09:28:51 UTC
I can't find a way to select or switch any button in "Versioning" window by
keyboard.
Comment 1 Martin Entlicher 2005-12-08 22:40:38 UTC
Well, I do not understand this - which buttons do you mean?
Do you mean "Versioning" window or Versioning Manager dialog?
Please elaborate...
Comment 2 Zdenek Konecny 2005-12-09 13:53:19 UTC
I mean "Versioning" window and the "All", "Local" and "Remote" buttons. I've
filled this issue because I wasn't able to find a way how to get acces to these
buttons by keyboard only. I've already found this way, but here is another
problem. Between "All", "Local" and "Remote" buttons is possible switched by
Alt+Shift+Right or Left Arrowkey but this shortcut doesn't work when list of
files is empty.

 
Comment 3 Peter Pis 2005-12-09 13:59:21 UTC
Reassigning to "javacvs".
Comment 4 Peter Pis 2005-12-17 07:54:58 UTC
Please, evaluate, "javacvs".
Comment 5 Maros Sandor 2005-12-19 15:59:09 UTC
I am not sure whether HIE thought about this, targetting resolution for future.
Comment 6 Maros Sandor 2007-08-08 14:17:30 UTC
Buttons in CVS view are now focusable. However, the window system steals Ctrl-Tab from the versioning table which makes
this fix quite useless anyway. Reassigning for further evaluation.

/shared/data/ccvs/repository/javacvs/cvsmodule/src/org/netbeans/modules/versioning/system/cvss/ui/syncview/SynchronizePanel.form,v
 <--  SynchronizePanel.form
new revision: 1.7; previous revision: 1.6
/shared/data/ccvs/repository/javacvs/cvsmodule/src/org/netbeans/modules/versioning/system/cvss/ui/syncview/SynchronizePanel.java,v
 <--  SynchronizePanel.java
new revision: 1.41; previous revision: 1.40
Comment 7 David Simonek 2007-08-22 09:48:21 UTC
Hmm, that's not easy.
I see two possible solutions:
1) You can change focus traversal keys by calling Container.setFocusTraversalKeys and advertise your customized focus
traversal keys in tooltips over buttons.
2) You can customize focus traversal policy so that Tab key works not only inside table, but goes also to mentioned
buttons. I think you'll have to change traversal policy of JTable and also whole Versioning view, but I don't have
experiences with it. 

Ctrl+Tab is too important shortcut and imho overweights this issue. But ideally we need recommendation from HIE what to
do here, ignore such bugs or make up our own netbeans focus traversal keys or what.
Comment 8 Maros Sandor 2007-08-22 09:58:26 UTC
I doubt that when the focus is in the CVS table and the user presses Ctrl-Tab (which is a swing standard for getting out
of the table) that he wants to switch documents in editor. IMHO the shortcut should be active only when the focus is in
the editor. HIE?
Comment 9 David Simonek 2007-08-22 10:18:56 UTC
Aha, agreed, that sounds OK. Initially Ctrl+Tab worked for all windows, not only editors, so that is probably root of
the problem. Bad thing is I don't know how to implement your suggestion. Patch welcomed :-)
Comment 10 jrojcek 2007-08-22 10:34:57 UTC
Toolbar buttons in general don't need to be keyboard accessible. Toolbar is a *shortcut* for mouse users. There  has to be other means how to invoke the 
same actions by keyboard. For switching between the views (All, Local, Remote), the following action should work "Next/Previous Inner View" currently bound 
to Ctrl+Alt+PageUp/Down on windows. The same actions are used for switching between Design and Source views in form editor.

For other versioning actions, use the Versioning menu.
Comment 11 David Simonek 2007-08-22 12:24:40 UTC
jrojcek: OK, that solves this specific case. But speaking about switching between documents using Ctrl+Tab, should this
shortcut remain as it is (functioning even when focus is in views) or just when focus is in editors?
Comment 12 jrojcek 2007-08-22 12:34:41 UTC
I'm not sure about that. I can imagine the user is looking at the editor even though the editor isn't active and wants to switch to previous tabs. It would not work if 
the editor has to have the keyboard focus. I would say that switching between editor tabs is much more common action than moving focus between components in 
views, especially if there's just a few views where tab doesn't work. BTW, which views are like that?
Comment 13 Maros Sandor 2007-08-22 13:55:24 UTC
I see, so we need to bind Ctrl-Alt-PageXXX to the first 3 buttons.
But we do not have shortcuts assigned to Refresh, Diff, Update and Commit buttons.
jpavlicek: please define them and we'll bind them to those actions. 
Will we do it for 6.0?
Comment 14 Josef Pavlicek 2007-08-22 14:28:45 UTC
Hi, it's good Idea to have shortcuts for these buttons. I will do it ASAP. (For 6.0 of course :) )
Josef
-- 

Comment 15 Josef Pavlicek 2007-09-04 13:17:21 UTC
Hi.. All actions (Diff, Commit All, Update All etc) represented by buttons are accessible from Versioning main menu.
It's not useful to add shortcuts for them.
Comment 16 Josef Pavlicek 2007-09-04 13:27:37 UTC
Hi,
for switches:

    * All,
    * Remote,
    * Local,

Is useful to add suggested  solution written by Jano Rojcek:

For switching between the views (All, Local, Remote), the following action should work "Next/Previous Inner View"
currently bound  to Ctrl+Alt+PageUp/Down on windows.

Josef

Comment 17 Maros Sandor 2007-09-25 11:25:12 UTC
Fixed next/previous inner view actions.

/shared/data/ccvs/repository/javacvs/cvsmodule/src/org/netbeans/modules/versioning/system/cvss/ui/syncview/SynchronizePanel.java,v
 <--  SynchronizePanel.java
new revision: 1.42; previous revision: 1.41