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 110383 - [a11y] Table customizer dialog doesn't implement all requirements for accessibility
Summary: [a11y] Table customizer dialog doesn't implement all requirements for accessi...
Status: VERIFIED FIXED
Alias: None
Product: guibuilder
Classification: Unclassified
Component: Code (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 10:33 UTC by Jana Maleckova
Modified: 2007-10-22 12:32 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 10:33:12 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)

Dialog opened from contextual menu, invoked on jTable

report

==========================================================
 Tested Window title : Customizer Dialog - Table model Tab
==========================================================

Results of Accessibility test


 Doesn't implement Accessible :
   Class: org.openide.explorer.propertysheet.RendererPropertyDisplayer {  }
   Class: org.openide.explorer.propertysheet.RendererPropertyDisplayer {  }
   Class: org.openide.explorer.propertysheet.RendererPropertyDisplayer {  }


 No Accessible name :
   - none.

 No Accessible description :
   Class: javax.swing.JRadioButton {  Bound |  }
   Class: javax.swing.JRadioButton {  Custom Code |  }
   Class: javax.swing.JRadioButton {  User Specified |  }
   Class: javax.swing.JRadioButton {  Value from Existing Component |  }
   Class: javax.swing.JTabbedPane {  Table Model |  }


 Label with LABEL_FOR not set :
   - none.

 Components with no LABEL_FOR pointing to it :
   Class: javax.swing.JTabbedPane {  Table Model |  }


 Components with no mnemonic :
   Class: javax.swing.JButton {  Close |  Close button }
   Class: javax.swing.JRadioButton {  Bound |  }
   Class: javax.swing.JRadioButton {  Custom Code |  }
   Class: javax.swing.JRadioButton {  User Specified |  }
   Class: javax.swing.JRadioButton {  Value from Existing Component |  }


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

 Components not reachable with tab traversal :
   - none.


======================================================
 Tested Window title : Customizer Dialog - Columns Tab
======================================================

Results of Accessibility test


 Doesn't implement Accessible :
   Class: org.openide.explorer.propertysheet.ButtonPanel {  }
   Class: org.openide.explorer.propertysheet.ButtonPanel {  }
   Class: org.openide.explorer.propertysheet.ButtonPanel {  }
   Class: org.openide.explorer.propertysheet.EditablePropertyDisplayer {  }
   Class: org.openide.explorer.propertysheet.EditablePropertyDisplayer {  }
   Class: org.openide.explorer.propertysheet.EditablePropertyDisplayer {  }


 No Accessible name :
   Class: javax.swing.JComboBox {  |  }
   Class: javax.swing.JComboBox {  |  }
   Class: javax.swing.JFormattedTextField {  |  }
   Class: javax.swing.JTable {  |  }
   Class: org.openide.explorer.propertysheet.ButtonPanel$ConditionallyFocusableButton {  |  }
   Class: org.openide.explorer.propertysheet.ButtonPanel$ConditionallyFocusableButton {  |  }
   Class: org.openide.explorer.propertysheet.ButtonPanel$ConditionallyFocusableButton {  |  }
   Class: org.openide.explorer.propertysheet.ComboInplaceEditor {  |  }
   Class: org.openide.explorer.propertysheet.ComboInplaceEditor {  |  }
   Class: org.openide.explorer.propertysheet.StringInplaceEditor {  |  }


 No Accessible description :
   Class: javax.swing.JButton {  Delete |  }
   Class: javax.swing.JButton {  Insert |  }
   Class: javax.swing.JButton {  Move Down |  }
   Class: javax.swing.JCheckBox {  Allow to reorder columns by drag and drop |  }
   Class: javax.swing.JCheckBox {  Editable |  }
   Class: javax.swing.JCheckBox {  Resizable |  }
   Class: javax.swing.JComboBox {  |  }
   Class: javax.swing.JComboBox {  |  }
   Class: javax.swing.JFormattedTextField {  |  }
   Class: javax.swing.JTabbedPane {  Columns |  }
   Class: javax.swing.JTable {  |  }
   Class: org.openide.explorer.propertysheet.ButtonPanel$ConditionallyFocusableButton {  |  }
   Class: org.openide.explorer.propertysheet.ButtonPanel$ConditionallyFocusableButton {  |  }
   Class: org.openide.explorer.propertysheet.ButtonPanel$ConditionallyFocusableButton {  |  }
   Class: org.openide.explorer.propertysheet.ComboInplaceEditor {  |  }
   Class: org.openide.explorer.propertysheet.ComboInplaceEditor {  |  }
   Class: org.openide.explorer.propertysheet.StringInplaceEditor {  |  }


 Label with LABEL_FOR not set :
   - none.

 Components with no LABEL_FOR pointing to it :
   Class: javax.swing.JFormattedTextField {  |  }
   Class: javax.swing.JTabbedPane {  Columns |  }
   Class: javax.swing.JTable {  |  }
   Class: org.openide.explorer.propertysheet.StringInplaceEditor {  |  }


 Components with no mnemonic :
   Class: javax.swing.JButton {  Close |  Close button }
   Class: javax.swing.JButton {  Delete |  }
   Class: javax.swing.JButton {  Insert |  }
   Class: javax.swing.JButton {  Move Down |  }
   Class: javax.swing.JCheckBox {  Allow to reorder columns by drag and drop |  }
   Class: javax.swing.JCheckBox {  Editable |  }
   Class: javax.swing.JCheckBox {  Resizable |  }
   Class: org.openide.explorer.propertysheet.ButtonPanel$ConditionallyFocusableButton {  |  }
   Class: org.openide.explorer.propertysheet.ButtonPanel$ConditionallyFocusableButton {  |  }
   Class: org.openide.explorer.propertysheet.ButtonPanel$ConditionallyFocusableButton {  |  }


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

 Components not reachable with tab traversal :
   - none.

==================================================
 Tested Window title : Customizer Dialog - Row tab
==================================================

Results of Accessibility test


 Doesn't implement Accessible :
   Class: org.openide.explorer.propertysheet.RendererPropertyDisplayer {  }
   Class: org.openide.explorer.propertysheet.RendererPropertyDisplayer {  }
   Class: org.openide.explorer.propertysheet.RendererPropertyDisplayer {  }


 No Accessible name :
   Class: javax.swing.JFormattedTextField {  |  }
   Class: javax.swing.JTable {  |  }


 No Accessible description :
   Class: javax.swing.JButton {  Delete |  }
   Class: javax.swing.JButton {  Insert |  }
   Class: javax.swing.JButton {  Move Down |  }
   Class: javax.swing.JButton {  Move Up |  }
   Class: javax.swing.JFormattedTextField {  |  }
   Class: javax.swing.JTabbedPane {  Rows |  }
   Class: javax.swing.JTable {  |  }


 Label with LABEL_FOR not set :
   - none.

 Components with no LABEL_FOR pointing to it :
   Class: javax.swing.JFormattedTextField {  |  }
   Class: javax.swing.JTabbedPane {  Rows |  }
   Class: javax.swing.JTable {  |  }


 Components with no mnemonic :
   Class: javax.swing.JButton {  Close |  Close button }
   Class: javax.swing.JButton {  Delete |  }
   Class: javax.swing.JButton {  Insert |  }
   Class: javax.swing.JButton {  Move Down |  }
   Class: javax.swing.JButton {  Move Up |  }


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

 Components not reachable with tab traversal :
   - none.
Comment 1 Jan Stola 2007-07-27 10:49:23 UTC
Fixed. Note that there are still some false warnings from a11y tool:

 <any warning>:
   Class: org.openide.explorer.propertysheet.*

- false warnings about _internal_ components of PropertyPanel
  (provided by openide/property sheet)
- the accessibility info is correctly set on the corresponding PropertyPanel

 No Accessible description :
 No Accessible name :
   Class: javax.swing.JFormattedTextField {  |  }

- false warnings about JSpinner's editor
- the accessibility info is correctly set on the corresponding JSpinner

 Components with no LABEL_FOR pointing to it :
   Class: javax.swing.JTabbedPane {  Table Model |  N/A }
   Class: javax.swing.JTable {  |  }

- as designed - there's no label that describes the tabbed pane or tables

 Components with no mnemonic :
   Class: javax.swing.JButton {  Close |  Close button }

- standard buttons provided by core/openide - out of form editor's scope

Modified files:
/cvs/form/src/org/netbeans/modules/form/editors/Bundle.properties
new revision: 1.13; previous revision: 1.12
/cvs/form/src/org/netbeans/modules/form/editors/TableCustomizer.form
new revision: 1.5; previous revision: 1.4
/cvs/form/src/org/netbeans/modules/form/editors/TableCustomizer.java
new revision: 1.10; previous revision: 1.9
Comment 2 Jana Maleckova 2007-10-10 11:53:57 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)

seems, some accessible requirements still missing. Honzo, can you evaluate it ? 

======================================================
 Tested Window title : Customizer Dialog - Table model Tab (when radion button Custom code selected)
======================================================

 No Accessible name :
   Class: javax.swing.JEditorPane {  |  text/x-java }

Components with no LABEL_FOR pointing to it :
  Class: javax.swing.JEditorPane {  |  text/x-java }

======================================================
 Tested Window title : Customizer Dialog - Columns Tab
======================================================

Results of Accessibility test

No Accessible name :
  Class: javax.swing.JFormattedTextField {  |  }
  Class: javax.swing.JTable {  |  }
  Class: org.openide.explorer.propertysheet.ButtonPanel$ConditionallyFocusableButton {  |  }
  Class: org.openide.explorer.propertysheet.ButtonPanel$ConditionallyFocusableButton {  |  }
  Class: org.openide.explorer.propertysheet.ButtonPanel$ConditionallyFocusableButton {  |  }
  Class: org.openide.explorer.propertysheet.ComboInplaceEditor {  |  }
  Class: org.openide.explorer.propertysheet.ComboInplaceEditor {  |  }
  Class: org.openide.explorer.propertysheet.StringInplaceEditor {  |  }

Components with no mnemonic :
  Class: javax.swing.JCheckBox {  Editable |  N/A }
  Class: javax.swing.JCheckBox {  Resizable |  N/A }

===================================================
 Tested Window title : Customizer Dialog - Row Tab
===================================================


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


 No Accessible description :
   Class: javax.swing.JTable {  |  }
   Class: javax.swing.JTextField {  |  }

Comment 3 Jan Stola 2007-10-12 15:17:59 UTC
I have fixed the following problems:
* mnemonics of Editable and Resizable checkboxes on the Columns tab
* accessible name and description of JTables on both (Columns and Rows) tabs

The rest are false warnings, usually complaining about missing A11Y of editor components - A11Y properties are set on 
the whole component (JSpinner, PropertyPanel etc.) in such case.

Modified files:
/cvs/form/src/org/netbeans/modules/form/editors/Bundle.properties
new revision: 1.19; previous revision: 1.18
/cvs/form/src/org/netbeans/modules/form/editors/TableCustomizer.form
new revision: 1.7; previous revision: 1.6
/cvs/form/src/org/netbeans/modules/form/editors/TableCustomizer.java
new revision: 1.18; previous revision: 1.17
Comment 4 Jana Maleckova 2007-10-22 12:32:41 UTC
verified on

Product Version: NetBeans IDE 6.0 Beta 2 (Build 200710212201)
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)