JDK-8171808 : Performance problems in dialogs with large tables when JAB activated
  • Type: Bug
  • Component: client-libs
  • Sub-Component: javax.accessibility
  • Affected Version: 2.0.2
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2016-12-20
  • Updated: 2019-03-20
  • Resolved: 2017-03-02
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 10 JDK 7 JDK 8 JDK 9
10Fixed 7u171Fixed 8u121Fixed 9 b161Fixed
Related Reports
Relates :  
Performance problems observed in dialogs with large tables when JAB is

JAWS creates huge performance problems in dialogs with large table menu
operations. The problem can reproduced without JAWS with the JavaFerret as
well, if the AccessibilityEvent "TrackState PropertyEvent" is activated. It
seems, that the JAB causes the problem.

A demo application was provided that demonstrates the problem.  The demo
application contains a table with a total of 1500 entries, which are loaded
in portions of 100, when a data field of the entry is required. This is
usually the case, when the entries in the table are scrolled in the visible
area. The loading of the entries is logged in the bottom section of the demo
application. Start the demo application with running JAWS or running
JavaFerret with activated "TrackStatePropertyEvent". You can observe in the
logging field of the bottom scection, that the entries of the table are
loaded step by step, only when the Alt key in the menu is used. The Focus
doesn��t have to be inside the table.
The result is a huge performance problem. When you switch to the menu via alt
key, for the user seems as if the window "freezes" by this initial loading.

To replicate the problem, follow these steps:

1) Enable JAB using the command below.

c:Program FilesJavajdk1.7.0_111bin>jabswitch -enable
The Java Access Bridge has been enabled.

2) Start JAWS screen reader and confirm it's running.
In my case, I use a 64-bit OS and hence have installed the 64-bit version of

NOTE: It is easiest to match your version of Java with the version of JAWS.
It is feasible to run a 32-bit Java with a 64-bit version of JAWS if you
copy WindowsAccessBridge-64.dll from a 64-bit jre installation to the
C:WindowsSystem32 directory.

3) Start demo application using the following command.

c:testJAB performance>"c:Program Files (x86)Javajdk1.7.0_111binjava
" -jar <Demo>.jar

4) Ensure JAWS screen reader reads the application description text in
addition to the title bar description.  If you mismatch your JRE version with
your JAWS version, the result is that JAWS will only read the text in the
window title bar.

5) Once JAWS starts to read the application description text, click on the 
application with the mouse and then press the ALT key.����

6) You should observe that multiple pages of table entries are loaded and you
may notice a performance issue with JAWS screen reader.  During the loading,
key commands such as the right and left arrows do not work as expected.

In the bottom section of the application, you should notice multiple entries
as several pages of the table are loaded.
NOTE: support observed an issue with JAWS screen reader in only some of the
tests performed.  When the test system had low load, the performance issue
was not as noticeable.  

Removing 7BPR label - no longer needed - fix shipped in JDK8 BPR