カテゴリー: general

  • NVDA 日本語版の導入から入力ヘルプまで

    広島のエンジニアやウェブデザイナーの活動 すごい広島 #20 に参加して、私の NVDA 講習会の資料を、文章にしてみました。
    いままでメモ程度に書いていたものの、ちゃんとしたチュートリアル版です。3時間かかって(1)を書くのがせいいっぱいだったので、(2)と(3)は次の機会に書きます。
    公開したあとで画面キャプチャーを追加して加筆しました(10月3日 0時20分)。
    (さらに…)

  • 広島市の NVDA 講習会でやったこと

    広島市の「視覚障害者向けパソコン音声ガイドソフト講習会」が始まりました。今日(7月28日)と、8月4日、8月25日に開催します。
    内容は NVDA 日本語版の講習です。
    6月の VICステップアップ講習会 の改定版ですが、今日やった内容をあらためて紹介します。
    (1)導入から入力ヘルプまで
    NVDA 日本語版の最新バージョンは http://i.nvda.jp でダウンロードしてください。
    NVDA のインストーラーを起動して、3種類の使い方があることを説明。
    Tabで移動、スペースで「同意する」のチェックボックスの操作、スペースでボタンを押す操作。
    エディット、チェックボックス、ボタンの一般的な説明。
    この画面では、チェックなしだと無効になっているボタンがあるが、チェックありにするとフォーカス移動の対象になる。
    USBメモリにポータブル版を作成して、Windows+R でそのポータブル版を起動する、という実演。
    Ctrl+Alt+N で NVDA の起動。
    ようこそ画面に書いてある「NVDAキー」の説明。ノートパソコンでは「無変換」を使うのが便利。
    NVDA+N で NVDA メニューを開いて、ヘルプ(サブメニュー)から「ようこそ画面」を探し、Enterで実行するともう一度「ようこそ画面」が開く。
    ダイアログはEnterキーで閉じられる。キャンセルできるダイアログやメニューはEscキーで閉じられる。
    このEnterやEscはどのボタンにフォーカスがあっても有効になる。
    確実に選択したボタンを押すならスペースを押した方がよい。
    ようこそ画面を閉じるとデスクトップにフォーカスが移る。
    Windows 7 だと Windows+D でデスクトップにフォーカス移動。Windows+B で通知領域にフォーカス移動。
    Windows+T でタスクバー(実行中のアプリケーション)にフォーカス移動。
    NVDA メニューを開いていないときも NVDA はずっと動いている。
    NVDA+1 を押して「入力ヘルプモード」を体験する。押したキーの説明。NVDA+N を押すとわかるように「NVDAコマンドの説明」にもなっている。
    入力ヘルプモードで NVDA+1 を押すと入力ヘルプモードの解除。
    設定を初期値に戻す裏技:NVDA+Ctrl+R を3回押す。
    (2)NVDA の設定
    NVDA メニューで「キーボード設定」を確認する。この講習では「ラップトップ」配列を使う。
    アクセラレーターキーで項目の移動やチェック状態の変更ができるが、慣れるまでは使わなくてよい。
    項目は Tab で移動。そろそろ Shift+Tab で逆方向移動も。
    読み上げの中止は Ctrl で、中断(再開)は Shift で。
    音声設定で「速さの変更」や「記号読み上げレベル」を試していただく。
    設定画面ではコンボボックスやスライダーの操作にも慣れてもらう。
    記号読み上げレベル「読まない」にしたら、比較のためにもう一度「ようこそ画面」を開いてもらう。
    この記号読み上げレベルは NVDA+P でも変更できる。
    「オブジェクト設定」で「オブジェクトのショートカットキーの通知」をチェックなしにすると説明がすっきりする。
    (3)ユーザーガイドを読む
    NVDA メニューの「ヘルプ」から「ユーザーガイド」を開いてもらう。
    このユーザーガイドはアプリケーションなので Alt+F4 で終了できる。
    「ブラウズモード」で有効な「一文字ナビゲーション」:
    H と Shift+H (見出しジャンプ)
    1, 2, 3, 4 (Shiftで逆方向、レベルを指定して見出しジャンプ)
    深い階層から抜けたいときに、レベルを指定して次の見出しにジャンプできると、効率がよい場合がある。
    NVDA のコマンド(ラップトップ配列):
    NVDA+左矢印・右矢印(1文字ずつ確認)
    NVDA+上矢印・下矢印(NVDA内部で文として扱われている単位での移動)
    NVDA+T (フォーカス位置のタイトルの読み上げ)
    NVDA+L (キャレット位置の行の読み上げ)
    NVDA+A (キャレット位置から連続して読み上げ)
    このマニュアル閲覧では矢印キーを押しただけでも1文字単位・1行単位の移動ができる。
    しかし本来は「確認(レビュー)」という NVDA の機能であり NVDA キーと一緒に押すべき操作。
    フォーカスとレビューの違いをそろそろ意識してもらう。
    この文書ではリンクされた項目がフォーカスの対象。
    目次や文章中のリンクは、Tab で移動して、スペースでリンク実行(ジャンプ)できる。
    NVDA+A は現在のキャレット位置から「すべて読み上げ」であり、文書の先頭から読むとは限らない。
    文書の階層構造を意識するために「要素リスト」を使う。呼び出す操作は NVDA+F7 である。
    要素リストの画面にはラジオボタンとツリービューがあるので、これらの操作に慣れてもらう。
    ラジオボタンの「リンク」「見出し」「ランドマーク」のうち「見出し」を選んで、その次のツリービューに移動してみる。
    上下で要素を移動、左でクローズ、右でオープン、といった操作を体験。
    要素リストの要素でEnterを押すと、元のドキュメントに戻って、選んだ要素から読むことができる。
    いままで Tab と Shift+Tab だけでフォーカスを移動してきたが、NVDA+Tab で現在のフォーカス位置を確認できる。
    テーブルの移動:Ctrl+Alt+矢印
    ここで練習した操作は Internet Explorer のページなどでも共通。
    検索サイトなどでは、検索キーワードの文字入力にフォーカスが移動すると「ガチャ」という音がして、H や 1 2 3 などの文字も普通に入力できるモードに自動的に切り替わる。
    (ブラウズモードとフォーカスモードの切り替え)
    例えば Google の検索結果は見出しジャンプで移動できる。
    (4)文書作成とオブジェクトナビゲーションに挑戦
    オブジェクトとは? Windows の画面に表示されるあらゆるもの。
    Windows 7 のメモ帳を使って「オブジェクトナビゲーション」を紹介する。
    スタートメニューからメモ帳を起動。
    例えば Windows キーを押して notepad と入力して Enter を押すと起動できる。
    Alt+Tab (アプリケーションの切り替え)で、デスクトップとメモ帳が切り替わる。
    「エディット複数行」は、ワードプロセッサーのようなテキスト編集のコントロール。
    ここで Alt+半角全角 を押して、日本語入力のモードに切り替える。
    漢字仮名交じり文を、文節単位でローマ字入力、スペースで変換、候補の選択、Enter で決定。
    矢印キーで編集中の文字や行の内容を確認。
    Windows の画面には「コントロール」以外の「オブジェクト」もたくさん使われている。
    メモ帳で Alt キーを押して、矢印キーで「ヘルプ」の「バージョン情報」を探して、Enterで開く。
    たくさん読み上げられたが、Tab でフォーカスを移動すると「リンク」と「OKボタン」の2個しか移動できる要素がない。
    まず NVDA+Shift+下矢印 で「内側のオブジェクト」があるかどうか確認する。
    そして NVDA+Shift+左(右)矢印で前後に「オブジェクトがありません」と言われるまで移動してみる。
    これで3方向を確認したことになる。
    NVDA メニューと違ってオブジェクトは「上下が階層の移動」「左右が階層の中での移動」なので注意。
    いよいよ上に移動する。行き過ぎると「デスクトップ」まで行ってしまって、戻るのが大変になるので注意。
    こうやってオブジェクトを探っていくと、Tab では見つからなかったテキスト情報がたくさん見つかる。
    レビューしている要素がボタンのときには NVDA+Enter を使うと「押す」ことができる。
    例えば「バージョン情報」の中のリンクで NVDA+Enter すると新しいダイアログが開く。
    親オブジェクトに移動すると、そのオブジェクトの子に含まれるテキストをまとめて確認できる。
    フラットレビュー(NVDA+PageUp)を使うと内容の確認が容易になることもある。
    Tab によるフォーカス移動だけで操作できないアプリケーションでも、NVDAのオブジェクトナビゲーションはこのように活用できる。
    やや簡略化して「バージョン情報」ダイアログのオブジェクト階層をまとめると:

    • ウィンドウ
      • ボタン(閉じる)
      • ダイアログ
        • テキスト
        • リンク
        • ボタン(OK)

    現在のウィンドウをすべて読み上げる:NVDA+B
    読み上げモードの切り替え:NVDA+S
    エディットで選択:Shift+左右矢印
    選択範囲の読み上げ:NVDA+Shift+S
    続きはぜひユーザーガイドを読みながら練習してみてください。
    今日は午前に約1時間半、午後に約2時間の講習でした。
    実演には NVDA 日本語版 2013.1.1jp と「フォーカスハイライト」アドオンを使いました。
    ダウンロード:focusHighlight
    NVDA+H でフォーカス位置の操作を説明してくれるアドオン
    また、systrayList アドオンの紹介、Windows 8 タッチモードの実演もちょっとだけ行いました。
    systrayList アドオンの起動:NVDA+F11
    追記(2013年8月6日):説明を加筆しました。
    追記(2013年8月25日):説明を加筆しました。
    追記(2014年2月18日):NVDA+T, NVDA+L, NVDA+A がフォーカスおよびキャレット位置に関する操作であることを追記・訂正しました。

  • すごい広島 #6 でテスト駆動開発の読書

    すごい広島とは 広島のエンジニアやウェブデザイナーが毎週集まって、 もくもくしたり Hackしたり 読書したり する場所です。
    先週は欠席したので、今週は第6回でした。
    「テスト駆動開発による組み込みプログラミング――C言語とオブジェクト指向で学ぶアジャイルな設計」という本を読み始めました。

    原著 Test Driven Development for Embedded C のページからサンプルコードをダウンロードして、make しながら読み進めました。
    組み込みの開発はするかも知れないし、しないかも知れないのですが、NVDA に組み込まれている eSpeak や libLouis のようなライブラリも、一種の組み込みソフトウェアとしてとらえています。
    この本で使われているツールは UnityCppUTest なのですが、ダウンロードしたサンプルコードの中にどちらも入っていました。
    VisualStudio のプロジェクトファイルも入っているのですが、Cygwin か Mingw で make all するほうがしっくりきます。
    著者は Eclipse の CDT で、ファイルを保存したときに自動的にテストが走るようにしているそうです。。
    著者のJames W. Grenningさんの講演は5月にアジャイルジャパン広島サテライトに参加して拝聴しました。講演の内容はプログラミングというよりも開発者の文化とか理念のお話でしたが、そのときにこの本が紹介されたのを、今頃になって思い出したのです。
    今日読んだのは最初の100ページくらいなのですが、テスト駆動開発の「王道」がきっちり実践されているので驚いています。
    C言語を教える大学の情報系カリキュラムで、アルゴリズムと並行してこういう実践をさせたら、すごいことになるんじゃないかと思ったり。。
    オブジェクト指向開発とかテスト駆動とかいう話は、たいていプログラミング言語と結びついて語られるわけです。そして、この本は、C言語でアプリケーションそのものをオブジェクト指向的に書いたりはしないようです。でも、テスト駆動開発に必要なエッセンスを、素材であるC言語で、どう実践したらいいのか、見せてくれます。
    しかも、律儀に、テストを書く、失敗させる、コードを書く、成功する、という繰り返しを読者にしつこく提示します。
    テスト駆動は「何を使うか」ではなくて「いかに実践するか」なのだなあと改めて思いました。
    ツールの仕様だけを覚えても、思想やスキルは身につかないということですね。。
    この本の面白いところは、バージョン管理ツールについて一切言及がないところです。
    これだけテスト駆動を実践すると、どこでコミットするかとかブランチを切るかとか、普通はやるんですけど。。
    ただ「継続的インテグレーション」の説明の中で、バージョン管理ツールとのつながりそのものは語られているので、おそらく、話題を発散させないためにわざと削ったのだと思えてきました。
    そんなわけで「C言語をカッコよく使いこなしてみたい」と思わせてくれる本です。