More Related Content
Similar to 190719 nishimoto nvda talk (20)
More from Takuya Nishimoto (20)
190719 nishimoto nvda talk
- 2. 自己紹介:西本
• 広島 → 早稲田大学 → 京都工芸繊維大学 → 東京大学
• 機械学習、認知科学、障害者支援 → 博士(工学)
• スクリーンリーダー NVDA 日本語版
• 広島(2011年から)
• リモートワーク/ソフトウェア受託開発
• 株式会社シュアルタ(2018年から)
• 信号処理/自然言語/Web/組み込み/モバイル/クラウド
• 活動
• WAIC / Python / こどもプログラミング
2
- 3. NVDA: Non-Visual Desktop Access
• オープンソースの Windows 対応スクリーンリーダー
• オーストラリアの NPO と世界のコミュニティ
• 3ヶ月ごとにリリース、新しい技術や環境への対応
• NVDA日本語チーム : www.nvda.jp
• 日本語版の配布
• 本家版の開発と翻訳
• FocusHighlight アドオン
• 利用者・技術者・開発者に対する普及啓発(11月 サイトワールド)
• NVDAチートシート 在庫僅少
3
- 4. NVDA 2019.2 の新機能
• Freedom Scientific 点字ディスプレイの自動検出
• ブラウズモード
• ページ読み込み時に自動的に有効にしない
• フォーカスを自動的に移動させない
• Windows OneCore 音声の「高速読み上げ」
• 句読点/記号読み辞書のフィルター
• レビューカーソル位置の句読点や記号を報告
• Windows コンソールで UI オートメーションを使用
4
- 5. NVDA 2019.2 の変更点
• 簡単音声設定で音量が10ずつではなく5ずつ変化
• 点字ディスプレイの自動検出
• Bluetooth 接続後に USB を引き続き検索
• テキストが選択された直後の報告
• 選択されたテキスト →「選択」
• VS Code の起動直後にブラウズモードを有効にしない
5
- 8. NVDA 2019.2
• 通常の作業ブランチ
• master → beta → rc そして正式リリース
• 6月に master から beta にマージされた
• string freeze され beta 2 が出た
• 翻訳チームの締切が6月24日ごろ
• 月末にリリース予定だった
• 6月末に方針が変わった
• もういちど master から beta にマージされた
• beta 3 が出た
• 翻訳の作業追加、締切が7月25日に再設定された
8
- 9. Speech Refactor
• 本家 issue 4877
• 音声出力の途中や終わりでコールバックを可能に
• テキストと制御コマンドやビープ音を混在できるように
• 長いテキストの読み上げ中に、優先度の高い情報を割り込み可能に
• 2015年2月3日 open
• 2019年7月17日 closed via PR 7599
• もともと 2019.2 で行う予定だった
• サードパーティの音声エンジンアドオンが非互換になる
• 例えば sayAll や NVDA+B が正しく動かない
• Python 3 移行とセットで 2019.3 で行う方針に変わった
9
- 10. 2019年7月時点の本家ブランチ
• rc (2019.1.1)
• beta (2019.2)
• master
• もうすぐ threshold がマージされる
• threshold (2019.3)
• Speech Refactor 作業場だったが完了
• 最近 py3_staging がマージされた
• threshold_py3_staging
• Python 3 作業場だったが完了
10
- 11. NVDA の Python 3 移行
• wxPython の停滞
• 例えば Dropbox は wxPython から Qt に移行した
• アクセシブルな GUI フレームワークとして wx が必須と判断
• 2017年7月
• wxPython 4 alpha が Python 3 に対応
• Joseph Lee 個人プロジェクト Pylennium (py3000 branch)
• その後 wxPython 4 はなかなか安定せず
• 2018年秋
• NVDA 2018.3 で wxPython 4.0.3 にやっと移行できた
• 2019年5月
• 日本語アルファ版の不具合 → 2019.2 作業の一部を revert
11
- 12. 日本語環境の問題
• Windows Codepage 932 = Shift-JIS / MBCS / ANSI
• Python 2 だと Windows API が MBCS を返す
• ユーザー名で日本語を使うと簡単に起きる
• UTF-16 に decode する必要がある
• Python 3 はすべて Unicode
• かなり問題は起こりにくくなる
• だがマルチバイトでやはり問題は起きる
• 例えば encoding='utf-8' をつけないで設定ファイルに書き込むなど
• Pylennium ビルドは日本語環境で不具合
• だが FocusHighlight の Python 3 対応などで使用
12
- 13. レガシー依存パッケージ
• py2exe : 実行ファイル作成
• 乗り換え先を探したが難航
• けっきょく py2exe の Python 3 対応を行った
• txt2tags : ドキュメント作成
• 以前から markdown 移行などが提案されていた
• 意外に複雑なワークフロー
• 翻訳ボランティアの教育コスト
• nishimotz が 2018年12月に実験的に Python 3 対応してみた
• 2019年4月、正式に採用された
• epydoc : 開発者ドキュメント(議論中)
13
- 14. 2019年の nishimotz
• Python 3 ベースの NVDA 開発版
• 本家の threshold (py3_staging) ビルドを見守る
• 日本語環境での不具合を報告、修正を確認
• Windows 日本語環境でやっと安定
• 本家版 NVDA を使って JTalk の開発
• Python 3 と Speech Refactor への対応
• 本家 vision framework へのフィードバック
• Python 3 ベースの NVDA 日本語版 (2019.3jp)
• 目標 : 本家版と日本語版の差を少なくする
14
- 15. 2019年から2020年
• 2019年
• 11月1日 サイトワールド「NVDA相談会」
• 「職場で使いたいけど許可をもらえない」という話
• 2020年
• 7月 NVDA 日本語チーム役員会 第4期 終了(任期2年)
• 2019.3jp を出せたら技術的な山を越えるのでは
• 新しい人が参加しやすくなる
• 目標や体制を変える機会?
15