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 110367 - [a11y] ACTIONS: Application Action Editor doesn't implement all requirements for accessibility
Summary: [a11y] ACTIONS: Application Action Editor doesn't implement all requirements ...
Status: VERIFIED FIXED
Alias: None
Product: guibuilder
Classification: Unclassified
Component: App Framework (show other bugs)
Version: 6.x
Hardware: All All
: P3 blocker (vote)
Assignee: issues@guibuilder
URL:
Keywords: A11Y
Depends on:
Blocks:
 
Reported: 2007-07-20 09:01 UTC by Jana Maleckova
Modified: 2008-03-31 12:36 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 Jana Maleckova 2007-07-20 09:01:35 UTC
Product Version: NetBeans IDE Dev (Build 070720) Java: 1.6.0_02; Java HotSpot(TM) Client VM 1.6.0_02-b05 System: Windows
XP version 5.1 running on x86; Cp1252; en_GB (nb)

Report:

===============================================
 Tested Window title : Application Actions
===============================================

Results of Accessibility test


 Doesn't implement Accessible :
   Class: com.sun.java.swing.plaf.windows.WindowsSplitPaneDivider {  }


 No Accessible name :
   Class: javax.swing.JComboBox {  |  }
   Class: javax.swing.JComboBox {  |  }
   Class: javax.swing.JList {  |  }
   Class: javax.swing.JTable {  |  }
   Class: javax.swing.JTextField {  |  }


 No Accessible description :
   Class: javax.swing.JButton {  Delete Action |  }
   Class: javax.swing.JButton {  Edit Action |  }
   Class: javax.swing.JButton {  New Action |  }
   Class: javax.swing.JButton {  View Source |  }
   Class: javax.swing.JComboBox {  |  }
   Class: javax.swing.JComboBox {  |  }
   Class: javax.swing.JList {  |  }
   Class: javax.swing.JTable {  |  }
   Class: javax.swing.JTextField {  |  }
   Class: org.netbeans.modules.swingapp.GlobalActionTable {  Application Actions |  }


 Label with LABEL_FOR not set :
   - none.

 Components with no LABEL_FOR pointing to it :
   Class: javax.swing.JList {  |  }
   Class: javax.swing.JTable {  |  }
   Class: javax.swing.JTextField {  |  }


 Components with no mnemonic :
   Class: javax.swing.JButton {  Delete Action |  }
   Class: javax.swing.JButton {  Edit Action |  }
   Class: javax.swing.JButton {  New Action |  }
   Class: javax.swing.JButton {  View Source |  }


 Components with wrong mnemonic (mnemonic isn't ASCII , label doesn't contain mnemonic):
   - none.

 Components not reachable with tab traversal :
   Class: javax.swing.JButton {  Delete Action |  }
   Class: javax.swing.JButton {  Edit Action |  }
   Class: javax.swing.JButton {  New Action |  }
   Class: javax.swing.JButton {  View Source |  }
   Class: javax.swing.JComboBox {  |  }
   Class: javax.swing.JComboBox {  |  }
   Class: javax.swing.JList {  |  }
   Class: javax.swing.JTable {  |  }
   Class: javax.swing.JTextField {  |  }
Comment 1 Joshua Marinacci 2007-08-24 00:20:26 UTC
I have implemented the missing names and descriptions and label-fors. I don't know how to fix the tab traversal, though. I can tab between all components 
just fine.
Comment 2 Jana Maleckova 2007-10-10 09:36:35 UTC
Product Version: NetBeans IDE Dev (Build 20071010052147)
Java: 1.6.0_02; Java HotSpot(TM) Client VM 1.6.0_02-b05
System: Windows XP version 5.1 running on x86; Cp1252; en_GB (nb)
accessible tool reports always some lack in accessibility 

===============================================
 Tested Window title : Application Actions
===============================================

Results of Accessibility test


 Doesn't implement Accessible :
   Class: com.sun.java.swing.plaf.windows.WindowsSplitPaneDivider {  }


 No Accessible name :
   - none.

 No Accessible description :
   Class: org.netbeans.modules.swingapp.GlobalActionTable {  Application Actions |  }


 Label with LABEL_FOR not set :
   - none.

 Components with no LABEL_FOR pointing to it :
   Class: javax.swing.JTable {  action table |  all actions in the selected project and class }


 Components with no mnemonic :
   Class: javax.swing.JLabel {  Bound Components |  }
   Class: javax.swing.JLabel {  Search: |  }


 Components with wrong mnemonic (mnemonic isn't ASCII , label doesn't contain mnemonic):
   Class: javax.swing.JButton {  Delete Action |  delete the selected action }
   Class: javax.swing.JButton {  Edit Action |  edit the selected action }
   Class: javax.swing.JButton {  New Action |  create a new action }
   Class: javax.swing.JButton {  View Source |  view the source of the selected action }


 Components with potential mnemonics conflict:
 - components with mnemonic '1' :
   Class: javax.swing.JButton {  Delete Action |  delete the selected action }
   Class: javax.swing.JButton {  Edit Action |  edit the selected action }
   Class: javax.swing.JButton {  New Action |  create a new action }
   Class: javax.swing.JButton {  View Source |  view the source of the selected action }


 Components not reachable with tab traversal :
   Class: javax.swing.JButton {  Delete Action |  delete the selected action }
   Class: javax.swing.JButton {  Edit Action |  edit the selected action }
   Class: javax.swing.JButton {  New Action |  create a new action }
   Class: javax.swing.JButton {  View Source |  view the source of the selected action }
   Class: javax.swing.JComboBox {  Available projects |  a list of all open projects }
   Class: javax.swing.JList {  bound components |  all components bound to the selected action }
Comment 3 Joshua Marinacci 2007-10-12 16:26:46 UTC
Fixed.
Updated mnemonics.
Added description to the GlobalActionTable.
There is no label for the actions table. It is referred to by the top component itself. It doesn't need a label.
We cannot fix WindowsSplitPaneDivider, that is part of the Windows Look and Feel.
I still cannot reproduce the tabbing problems. How do I reproduce those?
Comment 4 Jana Maleckova 2007-10-22 12:41:03 UTC
accessibility tool always reports problems with the tab traversal. 

Components not reachable with tab traversal :
  Class: javax.swing.JButton {  New Action |  create a new action }
  Class: javax.swing.JComboBox {  Available projects |  a list of all open projects }
  Class: javax.swing.JList {  bound components |  all components bound to the selected action }

on this page there should be all about a11y. It could helps. http://a11y.netbeans.org/
Comment 5 Jan Stola 2008-03-21 14:37:41 UTC
The problem with the focus traversal is caused by the table. It is not possible to leave it. TAB cycles through cells 
of the table. JTable can be left by Ctrl+TAB by default. Unfortunately, it doesn't work here. Ctrl+TAB is caught by the 
code that switches selected editor. (I don't like that. Usage of Ctrl+TAB for switching editors seems like serious A11Y 
issue to me because it causes problems like this one.)

I have added Ctrl+Alt+TAB into the set of forward traversal keys of JTable e.g. it is possible to leave JTable using 
Ctrl+Alt+TAB by now (it goes to Bound Components text area; you will get to New Action button by pressing plain TAB 
then). The a11y tool still complains about the same problem, but it is a false warning by now (the tool probably tests 
just the standard focus traversal keys).

Modified file: http://hg.netbeans.org/main/rev/0356337b9af1
Comment 6 Jana Maleckova 2008-03-31 12:36:24 UTC
The shortcut works,
verified on

Product Version: NetBeans IDE Dev (Build 200803302302)
Java: 1.6.0_04; Java HotSpot(TM) Client VM 10.0-b19
System: Windows XP version 5.1 running on x86; Cp1252; en_GB (nb)