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 29377 - KB accessibility of suggestion lists?
Summary: KB accessibility of suggestion lists?
Status: RESOLVED FIXED
Alias: None
Product: editor
Classification: Unclassified
Component: Hints & Annotations (show other bugs)
Version: 3.x
Hardware: PC Linux
: P4 blocker (vote)
Assignee: tasklist-issues@contrib
URL:
Keywords: A11Y
Depends on:
Blocks:
 
Reported: 2002-12-06 16:26 UTC by Jesse Glick
Modified: 2009-09-24 15:48 UTC (History)
1 user (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 Jesse Glick 2002-12-06 16:26:18 UTC
[dev dec 03, JDK 1.4.1, Linux, MDI]

I am trying recent (0.8.11, current Dev Alpha
Daily) versions of the available tasklist modules.
There does not seem to be easy keyboard access to
the suggestions. I opened

Suggestions View
Source Tasks

with TopManager.java open in the editor. Both tabs
showed one suggestion. But how to navigate to it
from the keyboard?

View | Editor Scan List opens or selects the
component. But it does not give it KB focus.

Fine, try Ctrl-4 to open the Output Window, then
Alt-Left (e.g.) to switch to the Source Tasks tab.
Down Arrow does nothing. After pressing Tab, then
the (invisible) KB focus switches into the table
and you can navigate through the suggestions.

Recommendations:

1. View | Something menu item should not only open
and front the Something tab, it should give it
focus (select it). This would be consistent with
the behavior of other View menu items.

2. Selecting any tasklist suggestions tab should
immediately place KB focus in the table, not
requiring a separate TAB press. Probably it should
also select the first item in the table if there
was no selection before.

3. If there is some way to provide KB focus for
the table headers (not as the default focus entry
point of course!), to enable KB-driven changing of
sort mode and columns, that would be nice. I was
unable to find any such technique, using
combinations of TAB and Control-TAB (Control-TAB
is generally needed to exit focus out of a complex
component such as a table, tree, or text area).

4. Consider providing mnemonics for the View menu
items, especially as they have no keyboard
shortcuts defined. (Thanks for remembering to put
them in Actions/View, though, as this makes it
possible for the user to add keyboard shortcuts.)
Comment 1 Jesse Glick 2002-12-06 16:27:10 UTC
Potential Sec 508 issues for handicapped users, as well as general
efficiency of UI and ease of use.
Comment 2 Torbjorn Norbye 2002-12-09 17:36:13 UTC
Thanks for this very specific report. I added a
(TopComponent)requestFocus() call at the end of the code which is
called when a tasklist window is opened, but it does not seem to get
focus to the component. Adding keyboard mnemonics to the menus is a
good idea too.
Comment 3 Jesse Glick 2002-12-09 17:40:18 UTC
Try checking core sources (e.g. OutputWindowAction) for hints.
Comment 4 Torbjorn Norbye 2002-12-09 17:47:53 UTC
I did and requestFocus() is it. But there might be something else
going on; I'll make sure that this is happening on the AWT thread, etc.
Comment 5 Torbjorn Norbye 2003-03-02 01:23:46 UTC
I saw a code snippet on nbdev which implemented requestFocus for a top
component by calling requestFocus on the treetable itself - so I'm
doing that, but still no success. However, it might be related to
issue 31456.
Comment 6 Jesse Glick 2003-03-02 19:11:27 UTC
Tim might know what to do here, I have no idea...
Comment 7 Jesse Glick 2003-03-02 19:12:28 UTC
BTW contrib/focusmodule may be helpful for debugging.

Tim says the tree table view is actually a scroll pane so giving it
focus is pretty much useless.
Comment 8 Torbjorn Norbye 2003-03-02 19:18:10 UTC
Ah. Then perhaps searching for a JTable inside the treetableview
reference and requestin focus on that might solve the problem.
Comment 9 _ tboudreau 2003-03-03 10:42:53 UTC
Tor, try moving the call to requestFocus() into addNotify() for your
TopComponent - it will probably work.  The tree view subclasses 
JScrollPane (for reasons lost in the depths of antiquity) but
will delegate requestFocus to the contained component).  AddNotify()
is more likely to put your call at the end of the chain of 
whatever random things the window system is doing with focus.

Long term, all such calls are evil - the first steps in solving
focus issues are:
1. Wait until we don't have to support 1.3 (different focus model)
2. Delete every single focus related call in core/openide and all
standard modules
3. See where the problems are once all of the strange focus-related 
hacks are killed
4. Fix them via 1.4's infrastructure
Comment 10 Torbjorn Norbye 2003-03-03 17:49:43 UTC
I changed the code from 
    treeTableView.requestFocus()
to
    treeTableView.getTable().requestFocus()
and now it works properly.

The "addNotify" trick won't quite do because there are actions to
"show" the tasklist windows, and if they've already been added (but
are not currently in front), addNotify won't be called, but
requestFocus() will, so I need requestFocus() to work.

P.S. getTable() isn't a method in TreeTableView. I've already
subclassed TreeTableView to change a couple of the table properties
(intercell spacing if I remember correctly), so I just added this
accessor to let me do the above focus request as well.
Comment 11 Torbjorn Norbye 2003-03-06 17:24:48 UTC
I believe all of this is fixed except the tab-once-to-reach-table
issue, so downgrading the issue to P4.
Comment 12 _ pkuzel 2003-11-06 09:57:35 UTC
I cannot reproduce remaining tab-once-to-reach-table issue. Up/Down
navigation works immediately over table items. What have you mean by that?
Comment 13 Tim Lebedkov 2004-01-12 19:47:15 UTC
Use Shift-Tab in the first cell to change visible columns

--Tim
Comment 14 _ pkuzel 2004-04-14 17:01:11 UTC
Fixed for TODOs: open, context selection, refresh and filter actions
place focus to the table.
Comment 15 Stanislav Aubrecht 2009-09-24 15:48:41 UTC
should be fixed in recent builds