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 110003 - a11y: Accessibility issues for profiler
Summary: a11y: Accessibility issues for profiler
Status: VERIFIED FIXED
Alias: None
Product: profiler
Classification: Unclassified
Component: Base (show other bugs)
Version: 6.x
Hardware: PC Windows XP
: P2 blocker (vote)
Assignee: Jiri Sedlacek
URL:
Keywords: A11Y
: 78045 78049 78054 78060 109797 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-07-17 13:52 UTC by Maksim Khramov
Modified: 2007-11-02 11:52 UTC (History)
0 users

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 Maksim Khramov 2007-07-17 13:52:22 UTC
Doesn't implement Accessible :
   Class: com.sun.tools.profiler.ui.components.ComponentMorpher {  }
   Class: com.sun.tools.profiler.ui.components.ComponentMorpher {  }
   Class: com.sun.tools.profiler.ui.components.ComponentMorpher {  }
   Class: org.netbeans.modules.profiler.ui.stp.TaskPresenter

   Class:org,netbeans.modules.profiler.ui.stp.CPuSettingsBasicPanel$9 { }  // Show filter value link
   Class:org,netbeans.modules.profiler.ui.stp.CPuSettingsBasicPanel$11 { } //Edit filter sets link
   Class:org,netbeans.modules.profiler.ui.stp.CPuSettingsBasicPanel$11 { } //Show active Profiling points link
   Class: com.sun.tools.profiler.ui.components.HTMLTextArea {  |  text/html }  Advanced & Basic settings link
   Class:org,netbeans.modules.profiler.ui.stp.AttachSettingsPanel$1 {} // define attach settings link

 No Accessible name :
   Class: com.sun.tools.profiler.ui.components.HTMLTextArea {  |  text/html }

 No Accessible description :
   Class: com.sun.tools.profiler.ui.components.DiscreteProgress {  |  }
   Class: javax.swing.JButton {  Run |  }
   Class: javax.swing.JCheckBox {  Enable threads monitoring |  }
   Class: org.netbeans.core.windows.services.NbDialog {  Profile JavaApplication8 |  }

 Components with no mnemonic :
   Class: javax.swing.JCheckBox {  Enable threads monitoring |  }
   Class: javax.swing.JCheckBox {  Use defined Profiling Points |  }
   Class: javax.swing.JRadioButton {  Entire application |  }
   Class: javax.swing.JRadioButton {  Part of application |  }
   Class: javax.swing.JRadioButton {  Stopwatch |  }
   Class: javax.swing.JCheckBox {  Record stack trace for allocations |  }
   Class: javax.swing.JCheckBox {  Use defined Profiling Points |  }
   Class: javax.swing.JRadioButton {  Record both object creation and garbage collection |  }
   Class: javax.swing.JRadioButton {  Record object creation only |  }
   Class: javax.swing.JCheckBox {  Override global settings |  }
   Class: javax.swing.JCheckBox {  Empty methods |  }
   Class: javax.swing.JCheckBox {  Enable threads monitoring |  }
   Class: javax.swing.JCheckBox {  Exclude time spent in Thread.sleep() and Object.wait() |  }
   Class: javax.swing.JCheckBox {  Getter/setter methods |  }
   Class: javax.swing.JCheckBox {  Limit number of profiled threads: |  }
   Class: javax.swing.JCheckBox {  Method.invoke() |  }
   Class: javax.swing.JCheckBox {  Override global settings |  }
   Class: javax.swing.JCheckBox {  Profile threads started after entering any of root methods |  }
   Class: javax.swing.JCheckBox {  Profile underlying framework startup |  }
   Class: javax.swing.JCheckBox {  Use Thread CPU timer (Solaris only) |  }
   Class: javax.swing.JRadioButton {  Exact call tree and timing |  }
   Class: javax.swing.JRadioButton {  Exact call tree, sampled timing |  }
   Class: javax.swing.JCheckBox {  Enable threads monitoring |  }
   Class: javax.swing.JCheckBox {  Override global settings |  }
   Class: javax.swing.JCheckBox {  Run garbage collection when getting memory results |  }
   Class: javax.swing.JRadioButton {  Full stack depth |  }
   Class: javax.swing.JRadioButton {  Limit stack to |  }

 Components not reachable with tab traversal :
   Class: com.sun.tools.profiler.ui.components.ComponentMorpher {  }
   Class: com.sun.tools.profiler.ui.components.ComponentMorpher {  }
   Class: com.sun.tools.profiler.ui.components.ComponentMorpher {  }
   Class: org.netbeans.modules.profiler.ui.stp.TaskPresenter

   Class:org,netbeans.modules.profiler.ui.stp.CPuSettingsBasicPanel$9 { }  // Show filter value link
   Class:org,netbeans.modules.profiler.ui.stp.CPuSettingsBasicPanel$11 { } //Edit filter sets link
   Class:org,netbeans.modules.profiler.ui.stp.CPuSettingsBasicPanel$11 { } //Show active Profiling points link
   Class:org,netbeans.modules.profiler.ui.stp.CPuSettingsAdvancedPanel$7 { } //Show active Profiling points link
   Class:org,netbeans.modules.profiler.ui.stp.AttachSettingsPanel$1 {} // define attach settings link
  
   Class: com.sun.tools.profiler.ui.components.HTMLTextArea {  |  text/html }  Advanced & Basic settings link
Comment 1 Maksim Khramov 2007-07-18 12:03:54 UTC
Profiler Attach wizard A11Y issues:
First page:
 No Accessible name:
   Class: javax.swing.JComboBox {  Target Type|  }
   Class: javax.swing.JComboBox {  J2EE Web/App Server|  }

 Label with LABEL_FOR not set :
   Class: javax.swing.JLabel {  J2EE Web/App Server Type |  }
   Class: javax.swing.JLabel {  Target Type |  }

 Components with no mnemonic :
   Class: javax.swing.JComboBox {  Target Type|  }
   Class: javax.swing.JComboBox {  J2EE Web/App Server|  }
   Class: javax.swing.JRadioButton {  Direct |  Direct attach method will be used for attaching Profiler. }
   Class: javax.swing.JRadioButton {  Dynamic (JDK 1.6) |  }
   Class: javax.swing.JRadioButton {  Local |  Profiled target is on local machine. }
   Class: javax.swing.JRadioButton {  Remote |  Profiled target is on remote machine. }

Third Page: (Choose integration type)
 Components with no mnemonic :

   Class: javax.swing.JRadioButton {  Automatic |  }
   Class: javax.swing.JRadioButton {  Manual |  }

Fourth page: (Locate required Files)

 No Accessible description :

   Class: javax.swing.JButton {  ... |  }
   Class: javax.swing.JButton {  Manage platforms... |  }
   Class: javax.swing.JComboBox {  |  }
   Class: org.netbeans.core.windows.services.NbDialog {  Attach Wizard |  }

 Components with no mnemonic :
   Class: javax.swing.JTextArea 
   Class: javax.swing.JComboBox
   Class: javax.swing.JButton {  ... |  }
   Class: javax.swing.JButton {  Manage platforms... |  }
Comment 2 Maksim Khramov 2007-07-18 12:08:20 UTC
Set Quick Filter dialog A11Y issues:
 Components with no mnemonic :
   Class: javax.swing.JLabel {  Filter Value: |  }
   Class: javax.swing.JRadioButton {  Exclusive |  Selected classes will not be instrumented. }
   Class: javax.swing.JRadioButton {  Inclusive |  Only selected classes will be instrumented. }
Comment 3 Maksim Khramov 2007-07-18 12:16:16 UTC
Customize Filter sets dialog A11Y issues:
 Components with no mnemonic :

   Class: javax.swing.JButton {  Add |  Creates new filter set. }
   Class: javax.swing.JButton {  Edit Global Filters... |  }
   Class: javax.swing.JButton {  Move Down |  Moves selected filter set down. }

   Class: javax.swing.JButton {  Move Up |  Moves selected filter set up. }
   Class: javax.swing.JButton {  Remove |  Deletes selected filter sets. }
   Class: javax.swing.JLabel {  Filter Set Name: |  }
   Class: javax.swing.JLabel {  Global Filters: |  }
   Class: javax.swing.JRadioButton {  Exclusive |  Selected classes will not be instrumented. }
   Class: javax.swing.JRadioButton {  Inclusive |  Only selected classes will be instrumented. }
Comment 4 Maksim Khramov 2007-07-18 12:26:57 UTC
Edit Global Filters dialog A11Y issues:
 Components with no mnemonic :

   Class: javax.swing.JButton {  Edit |  Edits selected global filter. }
   Class: javax.swing.JButton {  Move Down |  Moves selected global filter down. }
   Class: javax.swing.JButton {  Move Up |  Moves selected global filter up. }
   Class: javax.swing.JButton {  New |  Creates new global filter. }
   Class: javax.swing.JLabel {  Defined Filters: |  }
Comment 5 Maksim Khramov 2007-07-18 13:11:12 UTC
Specify Root Methods dialog A11Y issues:
 Components with no mnemonic :

   Class: javax.swing.JButton {  Add From Project... |  Adds existing methods from opened projects. }
   Class: javax.swing.JButton {  Add Manual... |  Adds manually defined method.}
   Class: javax.swing.JButton {  Remove |  Removes selected methods from list of root methods. }
   Class: javax.swing.JLabel {  Selected Root Methods: |  }
Comment 6 Maksim Khramov 2007-07-18 14:24:54 UTC
New profiling point dialog A11Y issues:
Page one:
 No Accessible name :
   Class: com.sun.tools.profiler.ui.components.JExtendedTable {  |  }
 No Accessible description :
   Class: com.sun.tools.profiler.ui.components.JExtendedTable {  |  }
 Label with LABEL_FOR not set :
   Class: javax.swing.JLabel {  Profiling point project: |  }
   Class: javax.swing.JLabel {  Profiling point type: |  }

 Components with no LABEL_FOR pointing to it :
   Class: com.sun.tools.profiler.ui.components.JExtendedTable {  |  }
   Class: javax.swing.JTextArea {  |  }

 Components with no mnemonic :
   Class: javax.swing.JLabel { Profiling point type: | }
   Class: javax.swing.JLabel { Profiling point project: | }
Comment 7 Maksim Khramov 2007-07-19 11:01:16 UTC
New profiling point dialog A11Y issues:
Page two:
 Label with LABEL_FOR not set :
   Class: javax.swing.JLabel {  File: |  }
   Class: javax.swing.JLabel {  Line: |  }
   Class: javax.swing.JLabel {  Name: |  }
   Class: javax.swing.JLabel {  Load Generator |  }
   Class: javax.swing.JLabel {  Take at |  }
   Class: javax.swing.JLabel {  Take when |  }
   Class: javax.swing.JLabel {  exceeds |  }

 Components with no mnemonic :
   Class: javax.swing.JLabel {  File: |  }
   Class: javax.swing.JLabel {  Line: |  }
   Class: javax.swing.JLabel {  Name: |  }
   Class: javax.swing.JButton {  Browse... |  }
   Class: javax.swing.JRadioButton {  Begin |  }
   Class: javax.swing.JRadioButton {  End |  }
   Class: javax.swing.JRadioButton {  Timestamp and duration |  }
   Class: javax.swing.JRadioButton {  Timestamp |  }
   Class: javax.swing.JCheckBox {  Reset results after taking snapshot |  }
   Class: javax.swing.JRadioButton {  Heap dump |  }
   Class: javax.swing.JRadioButton {  Profiling data snapshot |  }
   Class: javax.swing.JRadioButton {  To directory: |  }
   Class: javax.swing.JRadioButton {  To project |  }
   Class: javax.swing.JRadioButton {  Define |  }
   Class: javax.swing.JRadioButton {  When profiling stops |  }
   Class: javax.swing.JLabel {  Take at |  }
   Class: javax.swing.JButton {  Now |  }
   Class: javax.swing.JButton {  Today |  }
   Class: javax.swing.JLabel {  Take when |  }
   Class: javax.swing.JLabel {  exceeds |  }
   Class: javax.swing.JRadioButton {  Take every |  }
   Class: javax.swing.JRadioButton {  Take once |  }
Comment 8 Maksim Khramov 2007-07-19 13:48:27 UTC
Live profiling results window A11Y issues:
 No Accessible name :
   Class: com.sun.tools.profiler.ui.components.FilterComponent {  |  }
   Class: javax.swing.JToolBar$1 {  |  Computes the difference between two cormpable memory snapshots }
   Class: javax.swing.JToolBar$1 {  |  Find next occurence (F3) }
   Class: javax.swing.JToolBar$1 {  |  Find previous occurence (Shift+F3) }
   Class: javax.swing.JToolBar$1 {  |  Save Snapshot to Custom File }
   Class: javax.swing.JToolBar$1 {  |  Save Snapshot to Project }
   Class: javax.swing.JToolBar$1 {  |  Saves current view to image }

 Components with no mnemonic :
   Class: javax.swing.JButton {   |  Apply new filter }
   Class: javax.swing.JButton {   |  Clear current filter }
   Class: javax.swing.JButton {   |  Filter: Contains }
   Class: javax.swing.JButton {   |  Show or hide result columns }
   Class: javax.swing.JToolBar$1 {  |  Computes the difference between two comparable memory snapshots }
   Class: javax.swing.JToolBar$1 {  |  Find next occurence (F3) }
   Class: javax.swing.JToolBar$1 {  |  Find previous occurence (Shift+F3) }
   Class: javax.swing.JToolBar$1 {  |  Save Snapshot to Custom File }
   Class: javax.swing.JToolBar$1 {  |  Save Snapshot to Project }
   Class: javax.swing.JToolBar$1 {  |  Saves current view to image }
Comment 9 Maksim Khramov 2007-07-20 10:39:04 UTC
Threads window A11Y issues:
 Components with no mnemonic :
   Class: javax.swing.JButton {   |  Scale to Fit }
   Class: javax.swing.JButton {   |  Zoom In }
   Class: javax.swing.JButton {   |  Zoom Out }
   Class: com.sun.tools.profiler.ui.threads.ThreadsPanel$1 { | }
   Class: javax.swing.JToolBar$1 {  |  Saves current view to image }
Comment 10 Maksim Khramov 2007-07-20 11:57:45 UTC
Profiling points window A11Y issues:
 Label with LABEL_FOR not set :
   Class: javax.swing.JLabel {  Project: |  }
 Components with no mnemonic :
   Class: javax.swing.JButton {   |  Add Profiling Point }
   Class: javax.swing.JButton {   |  Edit Profiling Point }
   Class: javax.swing.JButton {   |  Enable/Disable Profiling Point(s)
   Class: javax.swing.JButton {   |  Remove Profiling Point(s) }
   Class: javax.swing.JCheckBox {  include subprojects |  }
Comment 11 Maksim Khramov 2007-07-20 12:15:34 UTC
Select snapshot to compare A11Y issues:
 No Accessible name :
   Class: javax.swing.JList {  |  }

 No Accessible description :
   Class: javax.swing.JList {  |  }

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

 Components with no mnemonic :
   Class: javax.swing.JButton {  Browse |  }
   Class: javax.swing.JRadioButton {  From file: |  }
   Class: javax.swing.JRadioButton {  From project: |  }
Comment 12 Jiri Sedlacek 2007-07-23 12:21:25 UTC
Fixed described A11Y problems in:

 - Set Quick Filter dialog
 - Customize Filter sets dialog
 - Edit Global Filters dialog
 - Specify Root Methods dialog
Comment 13 Maksim Khramov 2007-07-23 12:51:39 UTC
Profiler options panel A11Y issues:

 No Accessible description :
   Class: javax.swing.JButton {  Manage Platforms... |  }
   Class: javax.swing.JLabel {  Communication Port: |  }
   Class: javax.swing.JLabel {  Open Live Results For: |  }
   Class: javax.swing.JLabel {  Open Telemetry Overview: |  }
   Class: javax.swing.JLabel {  Open Threads View: |  }
   Class: javax.swing.JCheckBox {  Enable automatic heap analysis |  }
   Class: javax.swing.JButton {  Choose directory |  }

 Components with no mnemonic :
   Class: javax.swing.JButton {  Manage Platforms... |  }
   Class: javax.swing.JButton {  Reset |  Click the Reset button to reset stateof Do Not Show Again confirmations in all
Profiler dialogs: }
   Class: javax.swing.JCheckBox {  CPU |  CPU live results window will be automatically opened. }
   Class: javax.swing.JCheckBox {  Memory |  Memory live results window will beautomatically opened. }
   Class: javax.swing.JRadioButton {  Open New Snapshot |  Taken snapshot will be automatically opened. }
   Class: javax.swing.JRadioButton {  Save New Snapshot |  Taken snapshot will be automatically saved. }
   Class: javax.swing.JRadioButton {  Open and Save New Snapshot |  Taken snapshot will be automatically opened and saved. }
   Class: javax.swing.JRadioButton {  Do nothing |  No action will be performed 
   Class: javax.swing.JRadioButton {  Save heap dump to profiled project |  Save heap dump to profiled project }
   Class: javax.swing.JRadioButton {  Save heap dump to temporary directory |  Save heap dump to temporary directory }
   Class: javax.swing.JRadioButton {  Save heap dump to: |  Save heap dump to custom directory }
   Class: javax.swing.JButton {  Choose directory |  }
   Class: javax.swing.JCheckBox {  Enable automatic heap analysis |  }
   Class: javax.swing.JButton {  Reset |  Click the Reset button to reset state of Do Not Show Again confirmations in
all Profiler dialogs: }
Comment 14 Jiri Sedlacek 2007-07-23 12:58:47 UTC
Profiler Options panel has been redesigned (should be available in todays profiler daily build), A11Y should be OK. See 
Issue 108423.
Comment 15 Jiri Sedlacek 2007-07-25 16:27:27 UTC
Fixed described A11Y problems in:

 - Profiling Points window
 - New Profiling Point wizard
 - Profiling Points customizers
 - Compare Memory Snapshot dialogs
Comment 16 Jiri Sedlacek 2007-07-27 11:53:45 UTC
*** Issue 78049 has been marked as a duplicate of this issue. ***
Comment 17 Jiri Sedlacek 2007-07-27 11:56:04 UTC
*** Issue 78045 has been marked as a duplicate of this issue. ***
Comment 18 Jiri Sedlacek 2007-07-27 12:55:37 UTC
*** Issue 78054 has been marked as a duplicate of this issue. ***
Comment 19 Jiri Sedlacek 2007-07-27 12:56:04 UTC
*** Issue 78060 has been marked as a duplicate of this issue. ***
Comment 20 Jiri Sedlacek 2007-07-27 13:02:35 UTC
*** Issue 109797 has been marked as a duplicate of this issue. ***
Comment 21 Jiri Sedlacek 2007-07-31 19:10:46 UTC
Fixed described A11Y problems in Select Task Panel.
Comment 22 Jiri Sedlacek 2007-08-02 13:36:40 UTC
Fixed described A11Y problems in Attach Wizard.
Comment 23 Jiri Sedlacek 2007-08-02 14:51:30 UTC
Reported A11Y problems should now be fixed:

 - Select Profiling Task
 - Attach wizard 
 - Quick Filter 
 - Filter sets 
 - Global Filters 
 - Root Methods 
 - New profiling point dialog 
 - Live profiling results 
 - Threads window 
 - Profiling points window 
 - Select snapshot to compar
 - Profiler options

No mnemonics were added to icon (toolbar) buttons. No accessible descriptions were added to components with self-
explanatory accessible names.

Fixed for Beta1.
Comment 24 Maksim Khramov 2007-11-02 11:52:58 UTC
Verified in build 200710310000