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 <litt...@linux.vnet.ibm.com> <mailto:litt...@linux.vnet.ibm.com> To: swing-dev@openjdk.java.net <mailto:swing-dev@openjdk.java.net>, litt...@linux.vnet.ibm.com <mailto:litt...@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/view_bug.do?bug_id=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 basic_XX.properties files

4. Why don't you use putClientProperty(AccessibleContext.ACCESSIBLE_NAME_PROPERTY, accessibleName) instead of "javax.accessibility.AccessibleContext ac=list.getAccessibleContext();......"

Regards, Pavel
Hi Pavel,

I have modified the patch (attached) according to your comments. Sorry I can not use putClientProperty because it does not work :-)

--
Yours Charles

diff --git 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic.properties 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic.properties
index 109538a..a2ddfa3 100644
--- 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic.properties
+++ 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic.properties
@@ -91,6 +91,9 @@ FileChooser.updateButtonToolTipText=Update directory listing
 FileChooser.helpButtonToolTipText=FileChooser help
 FileChooser.directoryOpenButtonToolTipText=Open selected directory
 
+FileChooser.filesListAccessibleName=Files List
+FileChooser.filesAccessibleDescription=Files List
+
 ############ COLOR CHOOSER STRINGS #############
 ColorChooser.previewText=Preview
 ColorChooser.okText=OK
diff --git 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties
 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties
index 2306682..51c51c2 100644
--- 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties
+++ 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties
@@ -90,6 +90,9 @@ FileChooser.updateButtonToolTipText=Verzeichnisliste 
aktualisieren
 FileChooser.helpButtonToolTipText=FileChooser-Hilfe
 FileChooser.directoryOpenButtonToolTipText=Ausgew\u00E4hltes Verzeichnis 
\u00F6ffnen
 
+FileChooser.filesListAccessibleName=Files List
+FileChooser.filesAccessibleDescription=Files List
+
 ############ COLOR CHOOSER STRINGS #############
 ColorChooser.previewText=Vorschau
 ColorChooser.okText=OK
diff --git 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties
 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties
index 09b72da..efaa463 100644
--- 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties
+++ 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties
@@ -90,6 +90,9 @@ FileChooser.updateButtonToolTipText=Actualizar lista de 
directorios
 FileChooser.helpButtonToolTipText=Ayuda del Selector de Archivos
 FileChooser.directoryOpenButtonToolTipText=Abrir directorio seleccionado
 
+FileChooser.filesListAccessibleName=Files List
+FileChooser.filesAccessibleDescription=Files List
+
 ############ COLOR CHOOSER STRINGS #############
 ColorChooser.previewText=Presentaci\u00F3n Preliminar
 ColorChooser.okText=Aceptar
diff --git 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties
 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties
index 8b3ba8f..50e2d83 100644
--- 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties
+++ 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties
@@ -90,6 +90,9 @@ FileChooser.updateButtonToolTipText=Met \u00E0 jour la liste 
des r\u00E9pertoire
 FileChooser.helpButtonToolTipText=Aide du s\u00E9lecteur de fichiers
 FileChooser.directoryOpenButtonToolTipText=Ouvre le r\u00E9pertoire 
s\u00E9lectionn\u00E9
 
+FileChooser.filesListAccessibleName=Files List
+FileChooser.filesAccessibleDescription=Files List
+
 ############ COLOR CHOOSER STRINGS #############
 ColorChooser.previewText=Aper\u00E7u
 ColorChooser.okText=OK
diff --git 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties
 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties
index e4c23c7..5046e5a 100644
--- 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties
+++ 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties
@@ -90,6 +90,9 @@ FileChooser.updateButtonToolTipText=Aggiorna la lista 
directory
 FileChooser.helpButtonToolTipText=Guida FileChooser
 FileChooser.directoryOpenButtonToolTipText=Apre la directory selezionata
 
+FileChooser.filesListAccessibleName=Files List
+FileChooser.filesAccessibleDescription=Files List
+
 ############ COLOR CHOOSER STRINGS #############
 ColorChooser.previewText=Anteprima
 ColorChooser.okText=OK
diff --git 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties
 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties
index 7b94641..e6d75db 100644
--- 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties
+++ 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ja.properties
@@ -90,6 +90,9 @@ 
FileChooser.updateButtonToolTipText=\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u306E\u
 
FileChooser.helpButtonToolTipText=FileChooser\u306E\u30D8\u30EB\u30D7\u3067\u3059
 
FileChooser.directoryOpenButtonToolTipText=\u9078\u629E\u3057\u305F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u3092\u958B\u304D\u307E\u3059
 
+FileChooser.filesListAccessibleName=Files List
+FileChooser.filesAccessibleDescription=Files List
+
 ############ COLOR CHOOSER STRINGS #############
 ColorChooser.previewText=\u30D7\u30EC\u30D3\u30E5\u30FC
 ColorChooser.okText=OK
diff --git 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties
 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties
index 8dd3f17..94e5dd1 100644
--- 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties
+++ 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties
@@ -90,6 +90,9 @@ FileChooser.updateButtonToolTipText=\uB514\uB809\uD1A0\uB9AC 
\uBAA9\uB85D \uAC31
 FileChooser.helpButtonToolTipText=FileChooser \uB3C4\uC6C0\uB9D0
 FileChooser.directoryOpenButtonToolTipText=\uC120\uD0DD\uB41C 
\uB514\uB809\uD1A0\uB9AC \uC5F4\uAE30
 
+FileChooser.filesListAccessibleName=Files List
+FileChooser.filesAccessibleDescription=Files List
+
 ############ COLOR CHOOSER STRINGS #############
 ColorChooser.previewText=\uBBF8\uB9AC\uBCF4\uAE30
 ColorChooser.okText=\uD655\uC778
diff --git 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties
 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties
index cbc3c99..651ec91 100644
--- 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties
+++ 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties
@@ -90,6 +90,9 @@ FileChooser.updateButtonToolTipText=Atualizar lista de 
diret\u00F3rios
 FileChooser.helpButtonToolTipText=Ajuda do FileChooser
 FileChooser.directoryOpenButtonToolTipText=Abrir diret\u00F3rio selecionado
 
+FileChooser.filesListAccessibleName=Files List
+FileChooser.filesAccessibleDescription=Files List
+
 ############ COLOR CHOOSER STRINGS #############
 ColorChooser.previewText=Visualizar
 ColorChooser.okText=OK
diff --git 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties
 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties
index c28dfbd..f3be029 100644
--- 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties
+++ 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties
@@ -90,6 +90,9 @@ FileChooser.updateButtonToolTipText=Uppdatera kataloglistan
 FileChooser.helpButtonToolTipText=Hj\u00E4lp - Filv\u00E4ljare
 FileChooser.directoryOpenButtonToolTipText=\u00D6ppna vald katalog
 
+FileChooser.filesListAccessibleName=Files List
+FileChooser.filesAccessibleDescription=Files List
+
 ############ COLOR CHOOSER STRINGS #############
 ColorChooser.previewText=Granska
 ColorChooser.okText=OK
diff --git 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties
 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties
index bb9a6ca..a9a68db 100644
--- 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties
+++ 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_CN.properties
@@ -90,6 +90,9 @@ 
FileChooser.updateButtonToolTipText=\u66F4\u65B0\u76EE\u5F55\u5217\u8868
 FileChooser.helpButtonToolTipText=FileChooser \u5E2E\u52A9
 
FileChooser.directoryOpenButtonToolTipText=\u6253\u5F00\u9009\u62E9\u7684\u76EE\u5F55
 
+FileChooser.filesListAccessibleName=Files List
+FileChooser.filesAccessibleDescription=Files List
+
 ############ COLOR CHOOSER STRINGS #############
 ColorChooser.previewText=\u9884\u89C8
 ColorChooser.okText=\u786E\u5B9A
diff --git 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties
 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties
index 24b5503..5be57a3 100644
--- 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties
+++ 
src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties
@@ -90,6 +90,9 @@ 
FileChooser.updateButtonToolTipText=\u66F4\u65B0\u76EE\u9304\u6E05\u55AE
 
FileChooser.helpButtonToolTipText=\u300C\u6A94\u6848\u9078\u64C7\u5668\u300D\u8AAA\u660E
 
FileChooser.directoryOpenButtonToolTipText=\u958B\u555F\u9078\u53D6\u7684\u76EE\u9304
 
+FileChooser.filesListAccessibleName=Files List
+FileChooser.filesAccessibleDescription=Files List
+
 ############ COLOR CHOOSER STRINGS #############
 ColorChooser.previewText=\u9810\u89BD
 ColorChooser.okText=\u78BA\u5B9A
diff --git src/share/classes/sun/swing/FilePane.java 
src/share/classes/sun/swing/FilePane.java
index 9a95220..7aa6f3b 100644
--- src/share/classes/sun/swing/FilePane.java
+++ src/share/classes/sun/swing/FilePane.java
@@ -35,6 +35,7 @@ import java.util.*;
 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,9 @@ public class FilePane extends JPanel implements 
PropertyChangeListener {
     private JPanel currentViewPanel;
     private String[] viewTypeActionNames;
 
+    private String filesListAccessibleName = null;
+    private String filesAccessibleDescription = null;
+
     private JPopupMenu contextMenu;
     private JMenu viewMenu;
 
@@ -450,6 +454,9 @@ public class FilePane extends JPanel implements 
PropertyChangeListener {
         gigaByteString = UIManager.getString("FileChooser.fileSizeGigaBytes", 
l);
         fullRowSelection = UIManager.getBoolean("FileView.fullRowSelection");
 
+        filesListAccessibleName = 
UIManager.getString("FileChooser.filesListAccessibleName",l);
+        filesAccessibleDescription = 
UIManager.getString("FileChooser.filesAccessibleDescription",l);
+
         renameErrorTitleText = 
UIManager.getString("FileChooser.renameErrorTitleText", l);
         renameErrorText = UIManager.getString("FileChooser.renameErrorText", 
l);
         renameErrorFileExistsText = 
UIManager.getString("FileChooser.renameErrorFileExistsText", l);
@@ -634,6 +641,12 @@ public class FilePane extends JPanel implements 
PropertyChangeListener {
         if (listViewBorder != null) {
             scrollpane.setBorder(listViewBorder);
         }
+
+        /* Setting accessible name for File List in JFileChooser */
+        AccessibleContext ac = list.getAccessibleContext();
+        ac.setAccessibleName(filesListAccessibleName);
+        ac.setAccessibleDescription(filesAccessibleDescription);
+
         p.add(scrollpane, BorderLayout.CENTER);
         return p;
     }

Reply via email to