SlideShare a Scribd company logo
1 of 15
スクリーンリーダーNVDA
2019年夏 最新情報
西本 卓也
@nishimotz / @24motz
NVDA日本語チーム / 株式会社シュアルタ
1
自己紹介:西本
• 広島 → 早稲田大学 → 京都工芸繊維大学 → 東京大学
• 機械学習、認知科学、障害者支援 → 博士(工学)
• スクリーンリーダー NVDA 日本語版
• 広島(2011年から)
• リモートワーク/ソフトウェア受託開発
• 株式会社シュアルタ(2018年から)
• 信号処理/自然言語/Web/組み込み/モバイル/クラウド
• 活動
• WAIC / Python / こどもプログラミング
2
NVDA: Non-Visual Desktop Access
• オープンソースの Windows 対応スクリーンリーダー
• オーストラリアの NPO と世界のコミュニティ
• 3ヶ月ごとにリリース、新しい技術や環境への対応
• NVDA日本語チーム : www.nvda.jp
• 日本語版の配布
• 本家版の開発と翻訳
• FocusHighlight アドオン
• 利用者・技術者・開発者に対する普及啓発(11月 サイトワールド)
• NVDAチートシート 在庫僅少
3
NVDA 2019.2 の新機能
• Freedom Scientific 点字ディスプレイの自動検出
• ブラウズモード
• ページ読み込み時に自動的に有効にしない
• フォーカスを自動的に移動させない
• Windows OneCore 音声の「高速読み上げ」
• 句読点/記号読み辞書のフィルター
• レビューカーソル位置の句読点や記号を報告
• Windows コンソールで UI オートメーションを使用
4
NVDA 2019.2 の変更点
• 簡単音声設定で音量が10ずつではなく5ずつ変化
• 点字ディスプレイの自動検出
• Bluetooth 接続後に USB を引き続き検索
• テキストが選択された直後の報告
• 選択されたテキスト →「選択」
• VS Code の起動直後にブラウズモードを有効にしない
5
2019年のNVDA開発
• 通常なら2月末、5月末、8月末、11月末がリリース目標
• 今年は各リリースにより多く時間をかけている
• 2019.1
• アドオン開発者に対応を促す仕様の導入
• 開発者スクラッチパッド(高度な機能)
• 2019.3 で非互換の変更
• 音声エンジンの新しい仕様への移行
• 通称 Speech Refactor
• Python 2.7 から 3.7 への移行
6
アドオンのバージョン互換性情報
• 非互換のアドオンをNVDAが自動的に無効化
• NVDAが起動しなくなる事態を防ぐ
• アドオン開発者は対応が必要
• アドオンアップデーター(現在はアドオンで実現)
• 2019.1
• 互換性情報のあるアドオン : その情報に従う
• 互換性情報のないアドオン : 無効化されない
• 2019.2
• 互換性情報のないアドオン : 無効化される
7
NVDA 2019.2
• 通常の作業ブランチ
• master → beta → rc そして正式リリース
• 6月に master から beta にマージされた
• string freeze され beta 2 が出た
• 翻訳チームの締切が6月24日ごろ
• 月末にリリース予定だった
• 6月末に方針が変わった
• もういちど master から beta にマージされた
• beta 3 が出た
• 翻訳の作業追加、締切が7月25日に再設定された
8
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
2019年7月時点の本家ブランチ
• rc (2019.1.1)
• beta (2019.2)
• master
• もうすぐ threshold がマージされる
• threshold (2019.3)
• Speech Refactor 作業場だったが完了
• 最近 py3_staging がマージされた
• threshold_py3_staging
• Python 3 作業場だったが完了
10
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
日本語環境の問題
• 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
レガシー依存パッケージ
• py2exe : 実行ファイル作成
• 乗り換え先を探したが難航
• けっきょく py2exe の Python 3 対応を行った
• txt2tags : ドキュメント作成
• 以前から markdown 移行などが提案されていた
• 意外に複雑なワークフロー
• 翻訳ボランティアの教育コスト
• nishimotz が 2018年12月に実験的に Python 3 対応してみた
• 2019年4月、正式に採用された
• epydoc : 開発者ドキュメント(議論中)
13
2019年の nishimotz
• Python 3 ベースの NVDA 開発版
• 本家の threshold (py3_staging) ビルドを見守る
• 日本語環境での不具合を報告、修正を確認
• Windows 日本語環境でやっと安定
• 本家版 NVDA を使って JTalk の開発
• Python 3 と Speech Refactor への対応
• 本家 vision framework へのフィードバック
• Python 3 ベースの NVDA 日本語版 (2019.3jp)
• 目標 : 本家版と日本語版の差を少なくする
14
2019年から2020年
• 2019年
• 11月1日 サイトワールド「NVDA相談会」
• 「職場で使いたいけど許可をもらえない」という話
• 2020年
• 7月 NVDA 日本語チーム役員会 第4期 終了(任期2年)
• 2019.3jp を出せたら技術的な山を越えるのでは
• 新しい人が参加しやすくなる
• 目標や体制を変える機会?
15

More Related Content

Similar to 190719 nishimoto nvda talk

クライアント部会成果報告2011/日本OSS推進フォーラム
クライアント部会成果報告2011/日本OSS推進フォーラムクライアント部会成果報告2011/日本OSS推進フォーラム
クライアント部会成果報告2011/日本OSS推進フォーラム
namioto
 

Similar to 190719 nishimoto nvda talk (20)

181226 txt2tags
181226 txt2tags181226 txt2tags
181226 txt2tags
 
Nishimotz osc2011oct-v2
Nishimotz osc2011oct-v2Nishimotz osc2011oct-v2
Nishimotz osc2011oct-v2
 
Nishimoto 170603-mruby
Nishimoto 170603-mrubyNishimoto 170603-mruby
Nishimoto 170603-mruby
 
MicroPython + ESP32
MicroPython + ESP32MicroPython + ESP32
MicroPython + ESP32
 
NVDAワールド2015東京
NVDAワールド2015東京NVDAワールド2015東京
NVDAワールド2015東京
 
オープンソースのスクリーンリーダーNVDAとLibreOffice
オープンソースのスクリーンリーダーNVDAとLibreOfficeオープンソースのスクリーンリーダーNVDAとLibreOffice
オープンソースのスクリーンリーダーNVDAとLibreOffice
 
191208 python-kansai-nishimoto
191208 python-kansai-nishimoto191208 python-kansai-nishimoto
191208 python-kansai-nishimoto
 
20160703 yapc8oji レガシーなsdkをnodeで書き直して一年間メンテした学び
20160703 yapc8oji レガシーなsdkをnodeで書き直して一年間メンテした学び20160703 yapc8oji レガシーなsdkをnodeで書き直して一年間メンテした学び
20160703 yapc8oji レガシーなsdkをnodeで書き直して一年間メンテした学び
 
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
IPv6 最新動向 〜世界共通語で最適化が進むインターネット〜
 
ChainerMNをDocker containerで動かす
ChainerMNをDocker containerで動かすChainerMNをDocker containerで動かす
ChainerMNをDocker containerで動かす
 
Yapc2012ltthon
Yapc2012ltthonYapc2012ltthon
Yapc2012ltthon
 
LibreOffice開発活動 (オープンソースカンファレンス2018 Osaka)
LibreOffice開発活動 (オープンソースカンファレンス2018 Osaka)LibreOffice開発活動 (オープンソースカンファレンス2018 Osaka)
LibreOffice開発活動 (オープンソースカンファレンス2018 Osaka)
 
Keep a diary
Keep a diaryKeep a diary
Keep a diary
 
海外(ミラノ、ベルリン)での国際カンファレンスに参加して -LibreOffice/Nextcloud/Collabora Onlineの場合-
海外(ミラノ、ベルリン)での国際カンファレンスに参加して -LibreOffice/Nextcloud/Collabora Onlineの場合-海外(ミラノ、ベルリン)での国際カンファレンスに参加して -LibreOffice/Nextcloud/Collabora Onlineの場合-
海外(ミラノ、ベルリン)での国際カンファレンスに参加して -LibreOffice/Nextcloud/Collabora Onlineの場合-
 
NVDAの基本からもう一度
NVDAの基本からもう一度NVDAの基本からもう一度
NVDAの基本からもう一度
 
Introduction to VSCode
Introduction to VSCodeIntroduction to VSCode
Introduction to VSCode
 
地域 PyCon mini を広島で
地域 PyCon mini を広島で地域 PyCon mini を広島で
地域 PyCon mini を広島で
 
Inside PyCon JP 2016
Inside PyCon JP 2016Inside PyCon JP 2016
Inside PyCon JP 2016
 
クライアント部会成果報告2011/日本OSS推進フォーラム
クライアント部会成果報告2011/日本OSS推進フォーラムクライアント部会成果報告2011/日本OSS推進フォーラム
クライアント部会成果報告2011/日本OSS推進フォーラム
 
Nishimotz pycon2011jan
Nishimotz pycon2011janNishimotz pycon2011jan
Nishimotz pycon2011jan
 

More from Takuya Nishimoto

More from Takuya Nishimoto (20)

221217 SwiftはPythonに似ている
221217 SwiftはPythonに似ている221217 SwiftはPythonに似ている
221217 SwiftはPythonに似ている
 
220427-pydata 統計・データ分析 特集
220427-pydata 統計・データ分析 特集220427-pydata 統計・データ分析 特集
220427-pydata 統計・データ分析 特集
 
220126 python-datalake-spark
220126 python-datalake-spark220126 python-datalake-spark
220126 python-datalake-spark
 
211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する211120 他人の書いたPythonスクリプトをステップ実行で理解する
211120 他人の書いたPythonスクリプトをステップ実行で理解する
 
211020 すごい広島 with OSH 2021.10
211020 すごい広島 with OSH 2021.10211020 すごい広島 with OSH 2021.10
211020 すごい広島 with OSH 2021.10
 
210917 オープンセミナー@広島のこれまでとこれから
210917 オープンセミナー@広島のこれまでとこれから210917 オープンセミナー@広島のこれまでとこれから
210917 オープンセミナー@広島のこれまでとこれから
 
210911 これから始める電子工作とMicroPython
210911 これから始める電子工作とMicroPython210911 これから始める電子工作とMicroPython
210911 これから始める電子工作とMicroPython
 
210728 mpy
210728 mpy210728 mpy
210728 mpy
 
210630 python
210630 python210630 python
210630 python
 
210526 Power Automate Desktop Python
210526 Power Automate Desktop Python210526 Power Automate Desktop Python
210526 Power Automate Desktop Python
 
210428 python
210428 python210428 python
210428 python
 
200918 hannari-python
200918 hannari-python200918 hannari-python
200918 hannari-python
 
200429 python
200429 python200429 python
200429 python
 
200325 flask
200325 flask200325 flask
200325 flask
 
200208 osh-nishimoto-v2
200208 osh-nishimoto-v2200208 osh-nishimoto-v2
200208 osh-nishimoto-v2
 
191101 nvda-sightworld-nishimoto
191101 nvda-sightworld-nishimoto191101 nvda-sightworld-nishimoto
191101 nvda-sightworld-nishimoto
 
191114 iotlt-nishimoto
191114 iotlt-nishimoto191114 iotlt-nishimoto
191114 iotlt-nishimoto
 
191030 anna-with-python
191030 anna-with-python191030 anna-with-python
191030 anna-with-python
 
190925 python-windows
190925 python-windows190925 python-windows
190925 python-windows
 
190731 chalice
190731 chalice190731 chalice
190731 chalice
 

Recently uploaded

Recently uploaded (7)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 

190719 nishimoto nvda talk

  • 1. スクリーンリーダーNVDA 2019年夏 最新情報 西本 卓也 @nishimotz / @24motz NVDA日本語チーム / 株式会社シュアルタ 1
  • 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
  • 6. 2019年のNVDA開発 • 通常なら2月末、5月末、8月末、11月末がリリース目標 • 今年は各リリースにより多く時間をかけている • 2019.1 • アドオン開発者に対応を促す仕様の導入 • 開発者スクラッチパッド(高度な機能) • 2019.3 で非互換の変更 • 音声エンジンの新しい仕様への移行 • 通称 Speech Refactor • Python 2.7 から 3.7 への移行 6
  • 7. アドオンのバージョン互換性情報 • 非互換のアドオンをNVDAが自動的に無効化 • NVDAが起動しなくなる事態を防ぐ • アドオン開発者は対応が必要 • アドオンアップデーター(現在はアドオンで実現) • 2019.1 • 互換性情報のあるアドオン : その情報に従う • 互換性情報のないアドオン : 無効化されない • 2019.2 • 互換性情報のないアドオン : 無効化される 7
  • 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