Підвищення доступності java-додатків на платформах ms windows за допомогою java access bridge

Що таке Java Access Bridge

Java Access Bridge (або скорочено JAB) - це комплект бібліотек для платформ Microsoft Windows, що дозволяє елементам інтерфейсу Java-додатків і аплетів, які реалізують accessibility API, взаємодіяти з допоміжними технологіями на зазначених системах.

Java Accessibility API - це частина Java Accessibility Utilities, які представляють собою набір класів, що надають допоміжним технологіям доступ до елементів графічного інтерфейсу, реалізованих через Java API.

Для того щоб наявні на платформах Windows допоміжні технології могли забезпечити доступ користувача до Java-додатків, вони повинні якимось чином взаємодіяти з Java Accessibility Utilities. Java Access Bridge якраз і відповідає за встановлення даних зв'язків.

Допоміжне програмне забезпечення, яке працює в середовищі Windows, наприклад, програма екранного доступу, взаємодіє з бібліотеками Java Access Bridge, які, в свою чергу, взаємодіють з віртуальною машиною Java. Весь процес полягає в тому, що загальні Java-бібліотеки взаємодіють з Java Accessibility Utilities. Ну а Java Accessibility Utilities збирають інформацію про те, що відбувається в Java-додатку, яку потім і направляють програмі екранного доступу через Java Access Bridge.

На жаль, все це працює лише для тих Java-додатків і аплетів, інтерфейс яких спочатку був розроблений з використанням елементів, що підтримують Java Accessibility API, зокрема таких як SWING безпосередньо від Oracle або SWT від IBM. Тому часто навіть установка Java Access Bridge Чи не здатна вирішити всіх проблем доступності Java-додатків.

Версії JAB і їх завантаження

Довгий час Java Access Bridge існував у вигляді окремого пакета, різні версії якого доводилося встановлювати по-різному. Наприклад, версія 2.0.1 мала повноцінний установник, який здійснював пошук встановлених компонентів Java на комп'ютері користувача і додавав до них необхідні компоненти Java Access Bridge. Наступна версія Java Access Bridge під номером 2.0.2 вимагала установки у вигляді не самих тривіальних дій по ручному копіювання бібліотек в різні системні директорії. Однак з релізу Java SE 7U6, Java Access Bridge увійшов в загальний пакет поставки, тому більше не потребує ручного встановлення, але за замовчуванням JAB відключений і для використання вимагає попередньої активації.

Щоб перейти до завантаження, спочатку потрібно прийняти ліцензійну угоду, відзначивши радіокнопку «Accept License Agreement», а потім натиснути на посилання для завантаження, що з'явилася замість групи радіокнопок під заголовком «Java Access Bridge Downloads».

Починаючи з Java 7U6 в комплект поставки входить Java Access Bridge, версії 2.0.3, бібліотеки якого вже містяться як в Java Development Kit (JDK), так і в Java Runtime Environment (JRE).

Тут також потрібно прийняти ліцензійну угоду, відзначивши радіокнопку «Accept License Agreement», а потім натиснути на посилання для завантаження версії під цікаву операційну систему в з'явилася таблиці. Для Windows це або «Windows x86 Offline» для 32-розрядних, або «Windows x64» для 64-розрядних архітектур.

Проте, багато програм, що використовують віртуальну машину Java, вже мають її в своєму складі, тому для роботи з ними окрема установка JRE може не турбуватися. Буде необхідно лише підключити бібліотеки Java Access Bridge.

Установка і видалення Java Access Bridge 2.0.2 для Java нижче 1.7.x

Після активації Java Access Bridge, слід перевантажити все допоміжне програмне забезпечення, що використовує Java Accessibility API, щоб воно змогло отримувати розширену інформацію про елементах вікна.

Установка на 32-розрядних версіях Windows

  • Маскою% WINDOWSHOME% буде позначатися шлях до директорії установки Windows, наприклад, «C: \ WINDOWS \».
  • Маскою% JAVAHOME% буде позначатися шлях до директорії установки JRE, наприклад, «C: \ Program Files \ Java \ jre6».

Для установки Java Access Bridge слід скопіювати позначені файли в наступні системні директорії:

% JAVAHOME32% \ lib \ ext \ і% JAVAHOME64% \ lib \ ext \
(В залежності від встановлених в системі JDK і JRE)

Для видалення Java Access Bridge 2.0.2 слід спочатку вивантажити всі екземпляри допоміжного програмного забезпечення, що використовує Java Accessibility API, а потім видалити з системних директорій всі файли, скопійовані туди при установці (див. Вище).

Активація та деактивація Java Access Bridge для Java 1.7.0_06 і вище

Як уже зазначалося, в Java 7, починаючи з шостого поновлення, бібліотеки Java Access Bridge входять в загальний комплект поставки. Однак можлива ситуація, коли в скачав з сайту Oracle JRE 7 цих бібліотек все-таки ще не буде. Це означає, що після установки віртуальної машини потрібно перевірити наявність оновлень.

Визначити, чи є JAB в середовищі Java чи ні, можна шляхом перевірки наявності серед її системних файлів утиліти jabswitch. Вона повинна розташовуватися по шляху «C: \ Program Files \ Java \ jre7 \ bin \ jabswitch.exe».

Для операційних систем Windows, починаючи з Vista, це також можна перевірити через Центр спеціальних можливостей, де наявність Java Access Bridge 2.0.3 повинно проявлятися у вигляді прапорця «Enable Java Access Bridge» в розділі налаштувань використання комп'ютера без екрану.

Якщо позначений прапорець і утиліта відсутні, то потрібно оновити встановлену в системі JRE, в іншому ж випадку можна відразу переходити до активації Java Access Bridge.

оновлення Java

Виконати оновлення Java можна через Control Panel, яку можна відкрити або через ярлик «Java» в меню програм, або безпосередньо, запустивши файл "C: \ Program Files \ Java \ jre7 \ bin \ javacpl.exe».

Однак якраз на цьому етапі незрячий користувач може зіткнутися з тією проблемою, заради вирішення якої все і затівалося, а саме з недоступністю вікна Control Panel для програм екранного доступу, так як воно теж спроектовано за допомогою інструментарію Java. Справитися з цими труднощами можна трьома способами:

  1. Вдатися до допомоги зрячого помічника, щоб запустити перевірку оновлень з вікна Java Control Panel.
  2. Почекати деякий час, поки Java автоматично не перевірено поновлення і не запропонує їх встановити у вигляді відповідного повідомлення в треї, яке буде вже повністю доступним.
  3. Наосліп запустити перевірку оновлень у вікні Java Control Panel.

В додаткових поясненнях потребує тільки третій спосіб.

Справа в тому, що при відкритті Java Control Panel, фокус завжди встає на заголовок першої вкладки з назвою «General» (Загальна). Незрячому користувачеві, після відкриття даного вікна, потрібно спочатку один раз натиснути стрілку вправо, щоб переміститися на вкладку «Update» (Оновлення), а потім чотири рази Tab, щоб перейти до кнопки «Update Now» (Оновити зараз). Після цього, залишається тільки натиснути клавішу Enter, і процес перевірки оновлень буде запущений.

За наявності оновлення, в окремому вікні буде виведено відповідне повідомлення «Java Update Available» (Доступно оновлення Java) і пропозицією їх установки. Для виконання цієї операції досить простого натискання на кнопку «Install» (Встановити).

Після цього середовище Java, встановлена ​​в системі, буде оновлено і в тому числі отримає відсутні бібліотеки Java Access Bridge.

Наостанок зазначимо, що були помічені випадки, коли наявна в системі Java 6U37 перешкоджала оновленню Java 7, тому рекомендується видалити всі попередні версії Java, якщо гарантовано критичні оновлення не вдається виявити.

Активація та деактивація

Активувати Java Access Bridge можна двома способами: через командний рядок або через графічний користувальницький інтерфейс.

Активація через графічний інтерфейс здійснюється шляхом позначки вже раніше згаданого прапорця в Центрі спеціальних можливостей, але цей спосіб підходить лише для систем Windows Vista і новіше. Для цього необхідно виконати наступні дії:

  1. Через меню або комбінацією клавіш WinKey + U відкрити Центр спеціальних можливостей;
  2. Перейти в розділ «Використання комп'ютера без екрану»;
  3. Відзначити прапорець «Enable Java Access Bridge» (Включити Java Access Bridge).

Цей варіант може виявитися більш зручним для користувачів, які не звикли до роботи через термінал. Однак слід зазначити, що через графічний інтерфейс JAB можна тільки активувати, а для його деактивації доведеться все одно використовувати командний рядок, так як позначений прапорець тут працювати вже не буде.

Після активації Java Access Bridge, слід перевантажити все допоміжне програмне забезпечення, що використовує Java Accessibility API, щоб воно змогло отримувати розширену інформацію про елементах вікна.

Управління Java Access Bridge за допомогою командного рядка здійснюється через утиліту jabswitch.

Спершу, через діалог виконати, що викликається по WinKey + R, слід запустити командний рядок

Далі для зручності встановити в якості директорії за замовчуванням місце знаходження утиліти jabswitch

cd «c: \ program files \ java \ jre7 \ bin»

Утиліта jabswitch має три ключа, які служать для виконання наступних операцій:

Активація Java Access Bridge

Деактивация Java Access Bridge

Отримання інформації про версії Java Access Bridge

Закрити термінал можна командою

Після активації Java Access Bridgeі перезавантаження допоміжного програмного забезпечення, можна знову запустити Java Control Panel і переконатися, що її інтерфейс став доступний.

Нюанси роботи на 64-розрядних версіях Windows

Говорячи про найбільш поширених програмах екранного доступу - JAWS і NVDA, слід зазначити, що при роботі на 64-розрядних версіях Windows, взаємодія з Java Access Bridge підтримують не всі їх версією.

Крім того, використання 64-розрядної JAWS з 32-розрядної Java Runtime Environment призведе до неможливості програми екранного доступу коректно обробляти вміст екрану. Тому в такій ситуації правильним буде встановити 64-розрядну версію JRE.

Примітка для Java-розробників

Таким чином, якщо планується використовувати Java Access Bridge спільно з JRE зі складу JDK, то додатково потрібно вручну скопіювати бібліотеку «WindowsAccessBridge *» з папки «C: \ Program Files \ Java \ jre7 \ bin \» в відповідну системну директорію, відповідно до розрядністю Windows (докладніше див. ручну установку JAB 2.0.2).