Fwd: The file list in JFileChooser does not have an accessible name. (original) (raw)

Charles Lee littlee at linux.vnet.ibm.com
Fri Sep 2 02:39:37 UTC 2011


On 09/01/2011 08:37 PM, Pavel Porvatov wrote:

Hi Charles,

On 08/25/2011 05:45 PM, Pavel Porvatov wrote:

Hi Charles,

On 07/26/2011 08:58 PM, Charles Lee wrote:

On 07/06/2011 11:26 PM, Pavel Porvatov wrote:

Hi Charles,

On 04/13/2011 06:41 PM, Pavel Porvatov wrote:

Hi Charles,

On 03/30/2011 06:19 PM, Pavel Porvatov wrote:

Hi Charles,

-------- Original Message -------- Subject: The file list in JFileChooser does not have an accessible name. Date: Thu, 24 Mar 2011 17:23:25 +0800 From: Charles Lee <littlee at linux.vnet.ibm.com> <mailto:littlee at linux.vnet.ibm.com> To: swing-dev at openjdk.java.net <mailto:swing-dev at openjdk.java.net>, littlee at linux.vnet.ibm.com <mailto:littlee at linux.vnet.ibm.com>

Hi guys, Start the SwingSet2.jar along with a accessibility tools (Scout), click the JFileChooser and Show Plain JFileChooser, we will see an open windows with file list inside. The file list does not have Name and Description [1]. With a patch [2] attached, the name and description will show as File List [3]. [1] NoDescriptionName.png (attached) [2] patch (attached) [3] WithDescriptionName.png (attached) I filed bug 7032018 (The file list in JFileChooser does not have an accessible name). It's not accessible on bugs.sun.com now, I believe because of "Some bugs don't show up in the database for some time because of delays in processing." Thanks, Pavel Hi Pavel, Does the change make into the code? Can I have the changeset of it? Nobody is working on this CR now, it just ACCEPTED... You can trace status of the bug here: http://bugs.sun.com/bugdatabase/viewbug.do?bugid=7032018 Regards, Pavel Hello Pavel, it's me, again :-) Is there any progress on this CR? Is ok if I move this issue to openjdk8? No progress. The issue is targeted to jdk8 already... Regards, Pavel Hi guys, I have tested this issue on the openjdk8. It still there (Please check the first mail this thread: NoDescriptionName.png) And with the patch (attached, rebase on the jdk8), The problem gone away. Would anyone interested in this issue this time? -- Yours Charles Hi guys, Could some one take some to look at this patch? I took a look at the patch and have several comments: 1. There is no AccessibleDescription for all resources, therefore I'd prefer to remove filesAccessibleDescription 2. Please follow our code conventions http://www.oracle.com/technetwork/java/codeconvtoc-136057.html a. private String filesListAccessibleName=null; => private String filesListAccessibleName = null; b. Don't use TABs characters at all c. filesListAccessibleName =UIManager.getString("FileChooser.filesListAccessibleName",l); => filesListAccessibleName = UIManager.getString("FileChooser.filesListAccessibleName", l); etc. 3. As in the last CR fixing you should add the same resources to all basicXX.properties files 4. Why don't you use putClientProperty(AccessibleContext.ACCESSIBLENAMEPROPERTY, accessibleName) instead of "javax.accessibility.AccessibleContext ac=list.getAccessibleContext();......" Regards, Pavel putClientProperty still does not work on my side. I can not find methods which receive the accessible property changes. Is the diff attached you supposed to be? Take a look at javax.swing.JComponent.AccessibleJComponent#getAccessibleName ... if (name == null) { name = (String)getClientProperty(AccessibleContext.ACCESSIBLENAMEPROPERTY); } ... Below is FilePane patch that works on my PC: # hg diff src/share/classes/sun/swing/FilePane.java diff --git a/src/share/classes/sun/swing/FilePane.java b/src/share/classes/sun/swing/FilePane.java --- a/src/share/classes/sun/swing/FilePane.java +++ b/src/share/classes/sun/swing/FilePane.java @@ -35,6 +35,7 @@ import java.util.List; import java.util.concurrent.Callable; +import javax.accessibility.AccessibleContext; import javax.swing.*; import javax.swing.border.*; import javax.swing.event.*; @@ -82,6 +83,8 @@ private JPanel currentViewPanel; private String[] viewTypeActionNames; + private String filesListAccessibleName = null; + private JPopupMenu contextMenu; private JMenu viewMenu; @@ -450,6 +453,8 @@ gigaByteString = UIManager.getString("FileChooser.fileSizeGigaBytes", l); fullRowSelection = UIManager.getBoolean("FileView.fullRowSelection"); + filesListAccessibleName = UIManager.getString("FileChooser.filesListAccessibleName",l); + renameErrorTitleText = UIManager.getString("FileChooser.renameErrorTitleText", l); renameErrorText = UIManager.getString("FileChooser.renameErrorText", l); renameErrorFileExistsText = UIManager.getString("FileChooser.renameErrorFileExistsText", l); @@ -634,6 +639,9 @@ if (listViewBorder != null) { scrollpane.setBorder(listViewBorder); } + + list.putClientProperty(AccessibleContext.ACCESSIBLENAMEPROPERTY, filesListAccessibleName); + p.add(scrollpane, BorderLayout.CENTER); return p; } I used attached test for checking... Regards, Pavel Great, it works, though I do not know why it does not work before....

So, Pavel my question is still there:

I do not get "There is no AccessibleDescription for all resources". Do you mean it is not in all the resource file (*.properties) or do you mean not all accessible class has accessible description?

-- Yours Charles

-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.openjdk.java.net/pipermail/swing-dev/attachments/20110902/8b9dcf72/attachment.html>



More information about the swing-dev mailing list