Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

190916 nishimoto-nvda-pyconjp

2.215 visualizaciones

Publicado el

スクリーンリーダー NVDA の開発と Python 3 移行
PyCon JP 2019 コミュニティ紹介ポスター発表
西本卓也(NVDA日本語チーム)

Publicado en: Tecnología
  • Inicia sesión para ver los comentarios

  • Sé el primero en recomendar esto

190916 nishimoto-nvda-pyconjp

  1. 1. スクリーンリーダー NVDA の 開発と Python 3 移行 西本 卓也 @nishimotz / @24motz NVDA日本語チーム / 株式会社シュアルタ 1
  2. 2. NVDA: Non-Visual Desktop Access • オープンソースの Windows 対応スクリーンリーダー • オーストラリアの NPO と世界のコミュニティ • 3ヶ月ごとにリリース、新しい技術や環境への対応 • アドオン(プラグイン)による拡張性 • Python (2.7 → 3.7) & C++ で実装されている • NVDA日本語チーム : www.nvda.jp • 日本語版 (fork) の配布(日本語音声、日本語点訳など追加) • 本家版の開発と翻訳 • FocusHighlight アドオン • イベント開催 2
  3. 3. 3 ■ 1文字ナビゲーション (Shift+で逆方向) H : 見出し(1~6も可) L : リスト I : リスト項目 T : テーブル K : リンク N : リンクのないテキスト F : フォームフィールド U : 未訪問リンク V : 訪問済みリンク E : エディットフィールド B : ボタン X : チェックボックス C : コンボボックス R : ラジオボタン M : フレーム G : 画像 D : ランドマーク O : 埋め込みオブジェクト ■ NVDA+F7 : 要素リスト (閲覧・実行・検索) リンク / 見出し フォームフィールド ボタン / ランドマーク (Webブラウザの場合) ■ FocusHighlight アドオン ▼ フォーカスとナビゲーターオブジェクトが分離 ナビゲーターオブジェクト : 緑の細い一点鎖点 フォーカスモード : 青の太い点線 フォーカス : 赤の太い実線 フォーカス : 赤の細い実線 フォーカスモード コンテンツ ブラウザ コンテンツ ブラウザ キ ー 入 力 NVDA ブラウズモード NVDA日本語チーム www.nvda.jp NVDA Cheat Sheet 自動切替または NVDA+スペース NVDAがブラウザを制御 ▼ 矢印キーでブラウズ (NVDA+V : 画面レイアウト) ▼ 見出しジャンプ ▼ 要素リスト Tab / スペース / Enter などはフォーカスモードと同じ Internet Explorer / Edge Firefox / Chrome Word / Excel / Outlook Acrobat Reader / Kindle for PC NVDA+N : NVDAメニュー NVDA+Q : NVDAの終了 NVDA+1 : 入力ヘルプ NVDA+Enter : 既定アクション実行 ■ Windows 操作(フォーカス) 矢印キー : 移動(Shift+で範囲選択) Tab / Shift+Tab : フォーカス移動 F6 / Shift+F6 : ペイン移動 Enter : 項目選択や実行など スペース : ボタンを押すなど Shift+F10 : メニューキー Alt+ : コンボボックス展開 ■ 書式とドキュメント情報 (NVDA設定で不要な報告をチェックなしに) ▼ フォント フォント名 フォントサイズ フォント属性 強調 スタイル 色 ▼ ドキュメント情報 コメント 校閲者による更新 スペルミス ▼ 要素 見出し リンク リスト 引用 カンマ / Shift+カンマ コンテナ要素の直後・先頭に移動 ■ NVDA制御キー (2回押すと元のキーの機能) Insertキー CapsLock(英語キーボード) NVDA+テンキー(デスクトップ配列) 次のレビューモード 親の要素 前の要素 現在の要素 次の要素 前のレビューモード 子の要素 前の行 現在の行 次の行 前の単語 現在の単語 次の単語 前の文字 現在の文字 次の文字 テンキー(デスクトップ配列) NVDA+Tab : フォーカス NVDA+T : タイトル NVDA+D : 詳細説明 NVDA+F : 書式とドキュメント情報  Shift+ピリオド  Ctrl+ Ctrl+ピリオド Ctrl+  ピリオド  NVDA+(ラップトップ配列) ← NVDA+(ラップトップ配列) PageUp Shift+ Shift+ Shift+O Shift+ PageDown Shift+ ← NVDA+M : マウスカーソル NVDA+U : プログレス NVDA+P : 記号 Esc ▼ nvdajp 無変換キー 変換キー(オプション) Esc(オプション) ■ オブジェクトナビゲーション ブラウザとコンテンツを操作 ▼ ページと間隔 ページ番号 行番号 行インデント 段落インデント 行間 配置 ■ レビューカーソル ■ テーブル内の移動 Ctrl+Alt+矢印キー ▼ テーブル情報 テーブル 行と列の見出し セル番地 セルの罫線 Ctrl+Alt+N : NVDA起動 ランドマーク フレーム クリック可能 ■ 声や音を止める ▼ 設定 > 音声 > エンジンなし ▼ ツール > スピーチビューアー ▼ 読み上げ Ctrl : 停止 / Shift : 一時停止 ■ 報告 デスクトップ配列 NVDA+ : 行の報告 ラップトップ配列 NVDA+L : 行の報告 ■ キャレット NVDA+ : 下に進む NVDA+A : 下に進む NVDA+B : 現在のウィンドウに含まれるオブジェクトの読み上げ ガシャ ポン
  4. 4. 4 NVDA日本語版のユーザ数
  5. 5. 日本の視覚障害者にとってのNVDA • 家庭でも職場でも無料 • 助成金でスクリーンリーダーを買うと仕事に使えない • サブのスクリーンリーダーとして • メインのスクリーンリーダーに足りない機能・性能を補う • USBメモリに入れて持ち運べる • スマートフォンがメイン、PCがサブになっていく • 頻繁にバージョンアップする OS やアプリを追いかける • バージョンアップにお金がかからない • バージョンアップに時間がかからない • ナレーター (Windows 標準スクリーンリーダー) も急成長中 5
  6. 6. 技術者がNVDAで検証する意義 • 開発者も利用者も無料 • チェックツールでなく実際の支援技術で試せる • サードパーティのライブラリやフレームワーク • 動的なコンテンツ • 他のスクリーンリーダーに対応させる準備になる • 標準化を推進 • 企業での実践例が続々 • Japan Accessibility Conference Vol.2(2019年7月) 6
  7. 7. サイトワールド2019「NVDA 相談会」 11月1日(金曜) 13:30~16:00 すみだ産業会館サンライズホール(錦糸町) 視覚に障害がある人でも使えるように取り組んでおられるクラウドサービスとして kintone、クラウドサイン、Chatwork、freee の皆様をお招きします。新しい楽しみ方や働き方に役立つクラウドサービスを、 最新のWindowsと無料のスクリーンリーダーNVDAで 活用していただくために、NVDA日本語チームは サービス事業者とユーザーが集まる意見交換の場を作ります。 7
  8. 8. 2019年のNVDA開発 • 通常なら2月末、5月末、8月末、11月末がリリース目標 • 今年はリリースに多く時間をかけている • 2019.1 • アドオン開発者に対応を促す仕様の導入 • 開発者スクラッチパッド(高度な機能) • 2019.3 で非互換の変更 • 音声エンジンの新しい仕様への移行 • 通称 Speech Refactor • Python 2.7 から 3.7 への移行 8
  9. 9. Python 3 移行 • 2015年(NVDA 2015.1) • GUI フレームワーク wxPython を 2 から 3 に更新 • 2017年7月 • wxPython 4 alpha が Python 3 に対応、だがなかなか安定せず • 2018年秋 • NVDA 2018.3 で wxPython 4.0.3 にやっと移行 • Python 3 対応 Pull Request 作成と(一部)six 導入が進む • 2019年5月 • py2exe が Python 3.7 で動作、2019.3 に向けたビルド開始 • 2019年8月 • 2019.2 リリース(Python 2 系の最終版) 9
  10. 10. ドキュメント作成ツール • txt2tags: 大昔に開発が止まっている • 他のシステムに移行が困難 • 意外に複雑なワークフロー • 翻訳ボランティアの教育コスト • nishimotz が Python 3 対応やってみた • 最初は Python-Modernize で • 昔の記法を直す: map, long, string.join など • Python 2/3 で実行結果が一致するように • 2019年4月: 正式に採用された • コードレビューで Python 2 対応を削除 10
  11. 11. Windows 日本語環境 • MBCS CP932 (Shift-JIS) • Python のバグを踏んだことも • Python Issue 14255 tempfile.gettempdir • MBCS が誤って normcase されていた • Python 2 だと Windows API が MBCS を返す • ユーザー名で日本語を使うと簡単に起きる • UTF-16 に decode する必要がある • Python 3 はすべて Unicode になった • 残った問題は本家版でつぶしてもらう • 例えば open で encoding='utf-8' をつけてない、など 11
  12. 12. NVDA日本語版の Python 3.7 対応 • 日本語音声や日本語点字への対応など • 本家版のアドオンとして本家版で検証 • モジュールを AppVeyor で複数環境ビルド • リファクタリングの影響 • パッチを作り直した • 2019.3jp • すでにアルファ版を公開中 • 本家 2019.3 と同時に正式リリースできる見込み • 今後も本家版と日本語版の差を減らしていきたい 12

×