目次

Java Access Bridge

since 2011-12-11

Java Access Bridge (JAB) は Java アプリケーションなどを NVDA などのスクリーンリーダーに対応させるためのソフトウェアである。

例えば Windows では OpenOffice.org や LibreOffice のスクリーンリーダ対応(アクセシビリティ機能)のために JAB が使われている。

2011年12月現在、Windows 用 JAB の最新バージョンは 2.0.2 である。 自分でシステムフォルダーにファイルのコピーをしなくてはいけない zip 版のみが公開されている。 NVDA 2011.3 (日本語版は 2011.3j)から JAB 2.0.2 に対応している。

Windows JAB 2.0.1 には実行ファイル形式のインストーラーと、zip 版の2種類がある。 NVDA 2011.2 (日本語版は 2011.2j)までは JAB 2.0.1 を使う必要がある。 ただし、これを入手するにはOracle.comのユーザー登録が必要。

JAB 2.0.1 インストーラーの入手の手順は「まほろば」さんのサイト 無料のオフィスソフト LibreOffice(概要とインストール) に書かれている。

Windows 8 x64 + Java 7u11

since 2013-01-14

Java 7 (7u11) には JAB 2.0.3 が内蔵されている。

以下は 2013年1月14日に公開された Java 7u11 で確認した。 脆弱性が修正されたので 7u10 より前のバージョンを使っている場合は 7u11 に更新するべき。

システムは x64 環境だが LibreOffice 3.6.4 で使うならインストールするべきJavaは32ビット版である。

java.com からダウンロードすると32ビット版が選ばれる。

Javaがインストールされた直後はJABは有効になっていないので、有効化する必要がある。

コントロールパネルの「コンピューターの簡単操作センター」 「コンピューターを画面なしで使用します」の一番下 「他のインストールされたプログラム」 に、 「Javaアプリケーションに対するアシスティブ・テクノロジ・アクセスを 提供するオラクル社のJava Access Bridge」 という項目があり、下記のチェックボックスがある。

oracle_javaaccessbridge

これをチェックありにする。

あるいは、コマンドプロンプトで下記の jabswitch.exe /enable を実行する。

c:\Program Files (x86)\Java\jre7\bin>jabswitch.exe

jabswitch [/enable | /disable | /version | /?]

Description:
  jabswitch enables or disables the Java Access Bridge.

Parameters:
  /enable   Enable the Java Accessibility Bridge.
  /disable  Disable the Java Accessibility Bridge.
  /version  Display the version.
  /?        Display this usage information.

Note:
  The Java Access Bridge can also be enabled with the
  Windows Ease of Access control panel (which can be
  activated by pressing Windows + U).  The Ease of Access
  control panel has a Java Access Bridge checkbox.  Please
  be aware that unchecking the checkbox has no effect and
  in order to disable the Java Access Bridge you must run
  jabswitch.exe from the command line.

c:\Program Files (x86)\Java\jre7\bin>jabswitch.exe /enable
The Java Access Bridge has been enabled.

Windows 7 x64 で JAB 2.0.2

インストール手順は Oracleのサイト に書かれている。ただし英語。

以下に Windows 7 x64 での手順を整理してみる。

32ビットJREの確認

Java 6 の32ビット版ランタイム環境(JRE)が入っているものとする。

コマンドプロンプトから java -version を実行するのだが、下記のようにパスを指定する:

> "C:\Program Files (x86)\Java\jre6\bin\java.exe" -version
java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11)
Java HotSpot(TM) Client VM (build 20.4-b02, mixed mode, sharing)

以下では "C:\Program Files (x86)\Java\jre6" に JRE が入っているものとする。

64ビットJREの確認

ここでは64ビットJABの動作検証はしないが、インストールについていちおう書いておく。

ちなみに Java.comのダウンロードページ から Java の32ビットと64ビットを選んでダウンロードできる。

デフォルトでは C:\Program Files\Java\jre6 にインストールされる。以下は確認の例:

> "C:\Program Files\Java\jre6\bin\java.exe" -version
java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02, mixed mode)

ダウンロードと展開

以下 nishimotz と書かれているところは Windows のユーザー名に置き換えてください。

Java SE Desktop Accessibility から Download Java Access Bridge 2.0.2 をクリック。

リンク先のページで Accept License Agreement をチェック、accessbridge-2_0_2-fcs-bin-b06.zip をクリック。

C:\Users\nishimotz\Downloads に accessbridge-2_0_2-fcs-bin-b06.zip がダウンロードされたとする。

Windows エクスプローラーで zip ファイルを開く。「ファイルをすべて展開」を実行。

C:\Users\nishimotz\Downloads\accessbridge-2_0_2-fcs-bin-b06 フォルダにzipファイルの中身が展開されたとする。

コマンドプロンプトで作業する。実はもう一階層フォルダができているので、移動する:

C:\Users\nishimotz\Downloads\accessbridge-2_0_2-fcs-bin-b06>cd accessbridge2_0_2
C:\Users\nishimotz\Downloads\accessbridge-2_0_2-fcs-bin-b06\accessbridge2_0_2>

ファイルのコピー

Windows が C:\Windows にインストールされているとする。

コマンドプロンプトから:

> copy WindowsAccessBridge-32.dll C:\Windows\SYSWOW64
> copy WindowsAccessBridge-64.dll C:\Windows\SYSTEM32
> copy JavaAccessBridge-32.dll "C:\Program Files (x86)\Java\jre6\bin"
> copy JAWTAccessBridge-32.dll "C:\Program Files (x86)\Java\jre6\bin"
> copy accessibility.properties "C:\Program Files (x86)\Java\jre6\lib"
> copy access-bridge-32.jar "C:\Program Files (x86)\Java\jre6\lib\ext"
> copy jaccess.jar "C:\Program Files (x86)\Java\jre6\lib\ext"

64ビットJREもインストールされている場合は以下も実行:

> copy JavaAccessBridge-64.dll "C:\Program Files\Java\jre6\bin"
> copy JAWTAccessBridge-64.dll "C:\Program Files\Java\jre6\bin"
> copy accessibility.properties "C:\Program Files\Java\jre6\lib"
> copy access-bridge-64.jar "C:\Program Files\Java\jre6\lib\ext"
> copy jaccess.jar "C:\Program Files\Java\jre6\lib\ext"

Windows XP sp3 で JAB 2.0.2

Windows XP SP3 (32ビット) での JAB 2.0.2 のインストール手順を以下にまとめる。

Java のインストール

ここでは Java のインストールからやってみる。

http://java.com/ja/download/manual.jsp から 「Windows 7, XP オンライン」 をダウンロードする。

ダウンロードした jre-6u29-windows-i586-iftw.exe を実行して、インストールを完了させる。

コマンドプロンプトから確認する。インストールされた場所を確認するために、java の実行ファイルのパスを指定する:

> "C:\Program Files\java\jre6\bin\java" -version
java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11)
Java HotSpot(TM) Client VM (build 20.4-b02, mixed mode, sharing)

ダウンロードと展開

以下 nishimotz と書かれているところは Windows のユーザー名に置き換えてください。

Java SE Desktop Accessibility から Download Java Access Bridge 2.0.2 をクリック。

リンク先のページで Accept License Agreement をチェック、accessbridge-2_0_2-fcs-bin-b06.zip をクリック。

"C:\Documents and Settings\nishimotz\My Documents\ダウンロード" に accessbridge-2_0_2-fcs-bin-b06.zip がダウンロードされたとする。

lhaz の利用

最近の Windows XP なら zip ファイルは標準機能で展開できることになっている。 zip ファイルの右クリックメニューに「すべて展開」があれば実行。「圧縮フォルダの展開ウィザード」で展開する。

しかし、アップデートされていなかったり、トラブルで Windows 標準の展開機能が動かないこともあるので、ここでは lhaz というツールを利用してみる。

まず lhaz を使うために必要な Microsoft Visual C++ 2010 再頒布可能パッケージをダウンロードする。 vcredist_x86.exe を実行し「同意する」を押してインストールを完了させる。

続いて lhaz のダウンロードのページ (Vector) Lhaz 多形式に対応したDLL不要の圧縮・解凍ソフト を開く。

1番目のダウンロードボタンは64ビット版なので使用しない。2番目のダウンロードボタン Lhaz2.1.6 lhaz216.exe を選択してダウンロード。

ダウンロードしたファイル lhaz216.exe を実行してデフォルトのまま「OK」ボタンを押す。

改めてエクスプローラで accessbridge-2_0_2-fcs-bin-b06.zip ファイルの右クリックメニューから「送る」「lhaz」を実行。 ポップアップメニューで「このフォルダに解凍」を実行。

これで "C:\Documents and Settings\nishimotz\My Documents\ダウンロード\accessbridge2_0_2" フォルダが作成され、この中にファイルが展開された状態になる。

ファイルのコピー

コマンドプロンプトを開き、ファイルを展開した場所にカレントディレクトリを移動:

> cd "C:\Documents and Settings\nishimotz\My Documents\ダウンロード\accessbridge2_0_2"

Windows が C:\Windows にインストールされているとする。

コマンドプロンプトから:

> copy WindowsAccessBridge.dll C:\Windows\SYSTEM32
> copy JavaAccessBridge.dll "C:\Program Files\Java\jre6\bin"
> copy JAWTAccessBridge.dll "C:\Program Files\Java\jre6\bin"
> copy accessibility.properties "C:\Program Files\Java\jre6\lib"
> copy access-bridge.jar "C:\Program Files\Java\jre6\lib\ext"
> copy jaccess.jar "C:\Program Files\Java\jre6\lib\ext"