タグ: nvda

  • #OSH2014 感想と懇親会LT #nvdajp

    オープンセミナー2014@広島に参加しました。
    懇親会LT(ライトニングトーク)の私のスライド「テスト駆動開発とアクセシビリティ(仮)」は下記の通りですが、スライドだけではわからないでしょうし、トークも言葉足らずだったので、昼間のセッションの感想をふくめて補足します。

    NVDA 日本語版 の紹介。NVDA の開発には Python が使われています。
    実は「NVDA日本語チーム」を立ち上げる前に、私はまず「NVDAユーザ会広島」を立ち上げて、地域コミュニティ活動を始めました。
    オープンソースカンファレンス2013広島への参加の後、活動が滞っていますが、暖かくなったら再開したいです。
    アクセシビリティ、Python、Windows API、テキスト音声合成、自然言語処理、バージョン管理など、NVDA の開発を語る切り口はいろいろあるので、いろいろな団体と交流が必要だと思い続けています。
    NVDA は Web 開発者の方々にも、アクセシビリティチェックツールとして注目されています。
    NVDA は誰にでも無料で使えて、視覚障害をもつユーザーに実際に利用されている(され始めている)ツールです。
    一方で、ソフトウェアの自動テストという文脈からは、例えば Selenium でスクリプトを書いて Web アプリのテストをされる方も多いでしょう。
    NVDA が動いている状況で Selenium で Firefox を制御するスクリプトを書いて実行するとどうなるか、最近少し試してみました。
    Tab によるフォーカス移動、フォーム要素(コントロール)の操作、文字入力などはうまく制御できるので、Firefox でウェブを操作する様子を読み上げながら自動テストすることができます。
    しかし、NVDA が提供しているのは単なるフォーカス移動だけではありません。ブラウズモードという特別な操作が追加され、例えば数字キーの1から6で見出しジャンプができたり、文字単位で任意のテキストの内容を確認できたりします。
    こうした機能は Firefox ではなく NVDA がキーイベントを受け取って、NVDA と Firefox のプロセス間通信(IAccessible2という専用プロトコルが使われます)を通じて Firefox を制御しているため、Selenium で Firefox に ‘1’ や ‘2’ などのキーイベントを送っても見出しジャンプは実行されません。
    残念ですが、もうちょっと何かできないかなと検討中です、というのが最初に言いたかったネタでした。
    2個目のネタですが、NVDA を Windows 7 以降で使うと UI Automation という技術がデフォルトで有効になります。
    この技術は Windows システム・スクリーンリーダー・アプリケーション、というレイヤーをつなぐ一種のプロセス間通信で、特に GUI をリモートプロセスから制御するモダンなオブジェクトモデルを備えています。
    そして UI Automation は「ソフトウェアの自動テストの技術」でもあり、Microsoft のエバンジェリスト(当時)だった長沢さんが、そういう文脈でいろいろ記事を書いておられたわけです。
    しかし、和田さんの朝一番のセッションで FAQ として触れられた「GUIはテスト駆動開発に向いていない」という話は、私もうすうす気づいていた事実でした。
    Python 界隈では「Selenium は負債」という認識 がちらほら聞こえていましたが、どう「負債」なのかは、和田さんの講演で腑に落ちました。
    GUI テストは一般にターンアラウンドが長すぎて、「黄金の回転」が回せない、「ただのテストがある開発」になってしまうのです。
    「早くて小さい回転をうまく回す」という「TDDのこころ」を、テスタブルでアクセシブルなUIの開発という目標にどうつなげていくか、新しいチャレンジが必要と痛感しました。
    3番目のネタですが、NVDA 日本語版は点訳エンジンを「テスト駆動開発」しています。
    こう書くと大げさですが、実は liblouis という(日本語に対応していない)多言語対応オープンソース点訳エンジンはちゃんとテストを Jenkins でチェックしながら開発が行われています。
    それに倣って、日本語点訳エンジンを、まずテストを書いて、テストが落ちることを確認して、それから実装を直す、というサイクルで作ってみました。
    実際の作業は2012年春から2013年春にかけて行ったのですが、実は最初はタッチカーソルのカーソル位置を処理する「ポジションマッピング」というアルゴリズムを入れていませんでした。
    点訳エンジンをあちこち書き換えつつ、既存の処理を壊さずに最小限の修正でタッチカーソル対応できたのは、テストケースという命綱のおかげでした。
    最後に2枚追加したスライドは、昨日のオープンセミナーを通じて感じたことでした。
    私はチクセントミハイの「フロー体験理論」を1990年代後半に知り、最初はヒューマンインタラクションの評価手法などに応用したいと思っていました。
    スライドに張り付けた「技能と挑戦のモデル」はちょっと古いモデルの図ですが、要するに「いきなり難しいことをする、身の丈に合わないことをすると、不安になり、挫折する。自分の技能にあったちょうどよいレベルのチャレンジを繰り返していくと、人はその作業に集中でき、没入でき、自己目的的な楽しさを得られる」ということです。
    このフロー体験理論のことを最近ふっと思い出したのは「アジャイルサムライ」の読書会でした。
    フロー体験理論という社会心理学のモデルは、日本ではゲームデザインの研究者に着目され、近年ではモチベーションの研究で参照され、もはや古典なのかも知れません。
    しかし、テスト駆動やアジャイルというプラクティスの根幹に、フロー体験というシンプルな社会心理学のモデルが、やはり無視できないかかわりを持っているように、あらためて感じた、和田さんや長沢さん、そのほかの貴重な事例報告のセッションでした。

  • NVDAに関する活動の近況

    (1)
    オープンセミナー2014@広島 が明後日の2月1日に開催されます。
    今回「テスト駆動開発(TDD)」や「アジャイル開発」をテーマに、興味深いゲストやセッションが予定されています。
    参加費は無料ですので、実行委員のひとりとして、ぜひ多くのかたにご参加いただければと思います。
    このままだと NVDA と関係ない宣伝になってしまうのですが、実行委員としてあまり活動できてないことのお詫び(笑)として、懇親会で「テスト駆動開発とアクセシビリティ」というテーマのLTをする予定です。
    NVDA に対応したアプリケーションの開発について問合せがときどきありますが、例えば最近の Microsoft の技術である UI Automation は、アクセシビリティの技術であり、ソフトウェアの自動テストの技術でもあります。
    長沢智治のライフサイクルブログ 【UIA】UI Automation を用いたユーザーインターフェイスのテスト
    おや、こんなところに長沢智治さんのお名前が。。
    NVDA 日本語版の開発でも、テスト駆動開発のエッセンスを取り入れようと、例えば点訳エンジンをテスト駆動で実装するなど、工夫をしているところです。
    そんな話が会場や懇親会でできるのを楽しみにしております。
    (2)
    ブラインドパソコンサポート(BLPC)さんが発行するメールマガジン「BLPCパソコンメモ」に、昨年12月から連載をしています。今週、2回目の記事が掲載された号が発行されました。
    第1回の発行のときにご案内するべきでしたが、お知らせが遅くなって済みませんでした。
    BLPC パソコンメモのご案内
    バックナンバー(最新号)
    BLPCパソコンメモ:2013年12月23日号
    あと数回、NVDA について書かせていただく予定なので、よろしければお読みください。
    (3)
    NVDA日本語チームの2012年度と2013年度途中(2012年6月から2013年11月まで)の活動報告書を公開しました。
    改めて、ご寄付やイベント参加、普及活動などを通じて、
    NVDA 日本語チームをご支援くださる皆様にお礼を申し上げます。
    (4)
    NVDA 日本語チームは NVDA 日本語版のユーザーのために、以下のような問合せや情報交換の場を設けております。
    1. メールアドレス nvdajp@nvda.jp からの問い合わせの受付
    2. sourceforge.jp のチケットシステム掲示板
    3. Google グループ nvda-japanese-users メーリングリスト
    4. 不定期の「Skype開発者会議」(第1回を昨年10月26日に開催)
    5. イベント「NVDA ワールド」開催、配信、記録の公開
    6. 毎週月曜夜の「Skype交流会」(昨年8月までは「Skype会議」)
    このほかに一方的な情報提供の手段として Twitter の @nvdajp やウェブサイトの nvda.jp があります。
    NVDA 日本語チームの活動とは別に、多くのコミュニティやボランティアのかたがたに、NVDA を取り上げていただけるようになってきました。
    View-Net 神奈川さんの「らくらくNVDA」
    「視覚障害者のWindows活用ML」でも NVDA の質問が増えています。
    NV Support さん
    まほろばさんの NVDA 紹介記事
    DemekinText さんのNVDA初心者向け教材
    「陸の部屋」さんの NVDA 関連ファイル
    「プロジェクトつどい」さん:有償版音声アドオン”Vocalizer for NVDA”のご紹介
    「友加の日々の記録」さん スクリーンリーダー NVDA に関する即席リンク集
    Wikipedia 日本語版の NVDA のページをひさしぶりに開いたら、NVDA 日本語版の情報が増えていました。
    最後に、私自身は個人事業者として、NVDA の技術サポートなどのご相談を承りますので、お気軽にご連絡ください。

  • NVDA日本語版 2013.3jp 公開

    無料(オープンソース)の Windows 用スクリーンリーダー NVDA (NonVisual Desktop Access) の日本語対応をすすめる NVDA 日本語チーム(代表:西本卓也)は、2013年12月15日に最新の日本語版 NVDA 2013.3jp を公開しました。
    ダウンロード
    NVDA 日本語版のライセンスは GPL v2 です。
    Windows 8.1/8, 7, Vista, XP の32ビット版および64ビット版に対応しています。
    Windows 8 以降ではタッチ操作が利用できます。
    以下は対応しているアプリケーションの一部です:

    • Webブラウザー (Mozilla Firefox を推奨、 Microsoft Internet Explorer, Google Chrome にも対応)
    • Adobe Flash Player によるアクセシブルなコンテンツの操作
    • 電子メールクライアント (Mozilla Thunderbird, Windows Live Mail, Outlook に対応)
    • Microsoft Office アプリケーション Word, Excel, PowerPoint の主要な機能(対応バージョン 2003, 2007, 2010, 2013)
    • LibreOffice (バージョン4.1.4.2で動作確認済、Java Access Bridge 設定が必要)
    • Skype for Windows (バージョン6.11で動作確認済)
    • Apple iTunes for Windows
    • Twitter クライアント Tween
    • 日本語入力システム(Microsoft IME, Microsoft Office IME および ATOK を推奨、Google 日本語入力にも対応)
    • Adobe Reader によるアクセシブルな PDF 文書の読み上げ
    • Adobe Digital Edition によるアクセシブルな EPUB 書籍の読み上げ
    • AMIS によるオーディオ DAISY およびマルチメディア DAISY 書籍の読み上げ

    以下は利用できる点字ディスプレイの一部です:

    • ケージーエス ブレイルメモシリーズ(ブレイルテンダー、ブレイルメモポケットを含む)
    • ケージーエス ブレイルノート 46C/46D/46X
    • HIMS ブレイルセンス・オンハンド(日本語版を含む)
    • 日本テレソフト 清華シリーズ

    オーストラリアの非営利法人 NV Access がリリースする NVDA は、Michael Curran, James Teh の両氏が中心となって開発を行い、世界のコミュニティが支援しています。
    NVDA は多くのアプリケーションに対応し、インストール不要で利用できるポータブル版、アドオンによる機能拡張など、さまざまな特長を備えています。
    2013.3 の更新内容は、キーボード設定「すべて読み上げで流し読みを許可」オプションの追加、NVDA制御コマンドのカスタマイズのための入力ジェスチャーダイアログの追加、設定プロファイル切替機能の追加などです。
    NVDA は世界40以上の言語に対応していますが、音声エンジンと点訳エンジンは日本語に対応していません。
    そこで NVDA 日本語チームは、日本語音声エンジンと点訳エンジンを搭載した NVDA 日本語版を独自にリリースしています。
    2012.3.1jp 以前のバージョンから上書きインストールしたときは点字設定の出力テーブルを「日本語6点情報処理点訳」に設定してください。
    以下は 2013.3jp での変更点についてのご案内です。

    1. アップデート通知
      2013.3jp をお使いの場合は 2014.1jp 以降のリリースを自動通知します。この機能を有効にするには、一般設定「更新の自動チェックとNVDAのアップデート」を有効にしてください。過去にNVDA日本語版が使用されていた環境では、このチェックボックスは無効になっています。
    2. 日本語入力
      日本語設定「日本語版の文字入力拡張」がチェックありのときには ATOK 対応やカナ文字の説明に関する改良を行います。
      「入力単語の読み上げ」は無効に、入力メソッド設定「候補リストの自動通知」は無効にしてお使いください。
      キーボード設定「入力文字の読み上げ」が有効でも無効でも日本語入力の変換操作を読み上げるようになりました。
      エスケープキーを押して候補文字列がクリアされるときに「クリア」と通知するようにしました。
      Microsoft IME および ATOK の候補コメントの読み上げに対応しました。(一部のバージョンは非対応)
      ATOK の候補コメントの読み上げの使い方
    3. 音声合成エンジン
      JTalk2 ドライバーを廃止して、JTalk2 で提供していた言語自動切り替え機能を JTalk で利用できるようにしました。
      JTalk mei の声の高さを設定値で10相当低くしました。これまで高さ40にしていた場合は50にすると以前の声の高さになります。
      eSpeak ドライバーに簡易的な日本語の読み上げ処理を追加して、以前のように Chinese Letter Japanese Letter と読み上げないようにしました。
    4. 点字ディスプレイ対応
      文字説明の点字ディスプレイ出力、文字コード説明の16進数出力の最適化などを行いました。
    5. フリーズ対策
      Windows 7 でエクスプローラーやタスクトレイを操作しているときにNVDA がフリーズする現象への対策を行いました。
    6. 寄付のご案内
      NVDA への寄付についてのご案内を、NVDA 日本語チームからのご案内のサイトに変更しました。

     
    詳細はNVDA日本語版の説明をご覧ください。
    NVDA日本語版の不具合やご要望は新規チケット登録またはメールアドレス nvdajp@nvda.jp でお知らせください。
    NVDA日本語チームはNVDA日本語版の開発について公開で議論をしております。
    メールでいただいたご意見は、個人を特定できないように修正して公開させていただくことがあります。
    NVDA 日本語版の情報
    NVDA 日本語チーム活動報告