Java Access Bridge

For some Java based systems the JAVA Access Bridge (JAB) must be present AND activated to enable Jaws to read beyond the Windows Title and Windows Controls. This is a vexing problem for screen reader users as JAVA is frequently updated and such updates will often revert the JAB to the default state, disabled. Java Access Bridge (JAB) is a technology that enables Java applications and applets that implement the Java Accessibility API to be visible to assistive technologies on Microsoft Windows systems. See Java SE Desktop Accessibility for more information.

Source: http://docs.oracle.com/javase/7/docs/technotes/guides/access/enable_and_test.html

Credits: Thanks to David Best, Best Consulting, for his insights on JAB.

Inputs from David Best

The user agent, in most cases, does not look for the Java Access Bridge. You can activate it in the Windows7 Control Panel, and in the Java configuration setup files.

Step 1

  1. Go to the Start Menu > Control Panel > Ease Of Access Center > Use the computer without a display.
  2. There are several Check boxes. Check the screen reader items (JAWS, Window-Eyes), and Check the Enable Java Access Bridge item.
  3. Click Ok.
  4. Check the "Always scan this section" Check box.
  5. Close the Control Panel.

Step 2 - as a double-check

  1. Using a plain text editor, go to the Java installation directory and edit the Properties file. Note, you have to do this for all JRE instances that have been installed. Note, some folders may have a different name from the one below:
    "C:\Program Files (x86)\Java\jre7\lib\accessibility.properties".
  2. The Properties file, when opened in the text editor, will show something like the following. Ensure that the last two lines do not have a "#" at the start. Note, the "#" indicates that the line is just a comment and to be ignored.

----- Accessibility.Properties -----
#
# Load the Java Access Bridge class into the JVM
#
assistive_technologies=com.sun.java.accessibility.AccessBridge
screen_magnifier_present=true

----------

NOTES:

  1. While it should not be necessary to do both steps above, it is wise to double check.
  2. JRE=JRE (Java Runtime Environment) is any JRE (JRE6, JRE7, …) folder under the Java folder, which usually appears in the “Program files” or “Program Files (x86), any possibly any customized set up for specific applications (in which case you look under those applications folders within the Program File folders.
  3. Note that the reference Accessibilities.properties file refers to "screen_magnifier_present=true it does not matter what user-agents are installed, there is just the two standard lines.

Using: Ease of Access Control Center in Windows 7.

Enabling and Disabling Java Access Bridge

Java Access Bridge is included with Java SE Runtime Environment (JRE) Release 7 Update 6 (7u6) and later. Java Access Bridge 2.0.3 is included with JRE 7u6. By default, Java Access Bridge is not enabled.

Enabling Java Access Bridge

To enable Java Access Bridge, run the following command (where %JRE_HOME% is the directory of your JRE):

%JRE_HOME%\bin\jabswitch -enable

Alternatively, in Windows Vista and later, you can enable Java Access Bridge through the Control Panel:

  1. Go to Start > Control Panel > Ease of Access > Ease of Access Center. Alternatively, press Windows logo key+u to access the Ease of Access Center.
  2. Select Use the computer without a display.
  3. In the section Other programs installed, select the check box Enable Java Access Bridge (you may have to scroll down).

Note: After enabling Java Access Bridge, you must restart your assistive technology software and Java applications that use the accessibility API.

Disabling Java Access Bridge

To disable Java Access Bridge, run the following command:

%JRE_HOME%\bin\jabswitch -disable

Note: You cannot disable Java Access Bridge through the Windows Ease of Access Center.

Testing Java Access Bridge

To test Java Access Bridge, follow these steps:

  1. Ensure that Java Access Bridge is enabled.
  2. Install an assistive technology product that supports Java Access Bridge such as JAWS or NonVisual Desktop Access (NVDA), screen readers for Windows.
  3. Run a Java application that uses the accessibility API such as the SwingSet2 demonstration program. Ensure that your assistive technology product works properly with the Java application.

Obtaining Java Access Bridge Testing Tools

The Java Access Bridge testing tools Java Monkey and Java Ferret are not shipped with the JDK. These tools are included in Java Access Bridge 2.0.2. Download this version from Java Access Bridge Downloads.

 

Troubleshooting

Using Assistive Technologies on 64-Bit Operating Systems

The following lists the minimum version requirements of the assistive technologies JAWS and NVDA on 64-bit operating systems (when using them in conjunction with Java Access Bridge):

  • JAWS: Version 13 and later
  • NVDA: Version 2011 and later

Note: If you are using the 64-bit version of JAWS with the 32-bit Java Runtime Environment (JRE), JAWS may not read values correctly. If this is the case, install the 64-bit JRE and restart JAWS.

Using Java Access Bridge with Only the Private JRE

The JDK contains a private JRE. This is required to run tools included with the JDK. Private JREs do not register themselves with the system; no files are copied to other locations and no registries are created. Unlike the public JRE (which you can install separately from the JDK), the private JRE does not copy the dynamic link library (DLL) file required by Java Access Bridge to your Windows system32 directory.

If you want to use Java Access Bridge with the private JRE, copy the file named WindowsAccessBridge*.dll from the directory <JDK installation directory>\jre\bin to your Windows system32 directory.