52
アクセシビリティ 検証ツールとしてのNVDA入門 西本 卓也 nishimotz / 24motz 1

171111 nishimoto-nvdajp-v2

Embed Size (px)

Citation preview

Page 1: 171111 nishimoto-nvdajp-v2

アクセシビリティ検証ツールとしてのNVDA入門

西本 卓也 nishimotz / 24motz

1

Page 2: 171111 nishimoto-nvdajp-v2

NVDA

• NonVisual Desktop Access• オープンソース

• Windows 対応スクリーンリーダー

• 3か月ごとにリリース

• 本家• オーストラリアの非営利法人 NV Access

• コミュニティ(GitHub)

• 使っていますか?

• そもそも Windows 使ってますか?

2

Page 3: 171111 nishimoto-nvdajp-v2

NVDA日本語チーム

• www.nvda.jp

• NVDA日本語版• 音声と点字

• アドオン

• ガイドブック

• 普及活動• イベントの開催

• 現状:サブのスクリーンリーダーとして• メインの環境でうまくいかないとき

3

Page 4: 171111 nishimoto-nvdajp-v2

Braille display

4

Page 5: 171111 nishimoto-nvdajp-v2

Windows 10 の普及

5

Page 6: 171111 nishimoto-nvdajp-v2

NVDA日本語版の更新状況

6

Page 7: 171111 nishimoto-nvdajp-v2

NVDA日本語版の各バージョン

2016.2jp+

2016.2.1jp

2017.3jp

7

Page 8: 171111 nishimoto-nvdajp-v2

NVDAで検証する意義

• 開発者も利用者も無料(相手にお願いしやすい)

• やってみないとわからない• サードパーティのライブラリやフレームワーク

• 動的なコンテンツ

• ブラウザの挙動が変わる• スクリーンリーダーが「ブラウザ対応モード」で動作

• ブラウザが「スクリーンリーダー対応モード」で動作

• 他のスクリーンリーダーに対応させる準備になる

8

Page 9: 171111 nishimoto-nvdajp-v2

スクリーンリーダーとは?

コンテンツ アプリ OS

スクリーンリーダー

音声・点字

9

Page 10: 171111 nishimoto-nvdajp-v2

現実は?

• 不具合や不備

コンテンツ アプリ OS

スクリーンリーダー

音声・点字

10

Page 11: 171111 nishimoto-nvdajp-v2

ユーザーは?

• 本来の操作性?

• 使いこなせない?

コンテンツ アプリ OS

スクリーンリーダー

音声・点字

11

Page 12: 171111 nishimoto-nvdajp-v2

隠す → 変化に弱い

コンテンツ アプリ OS

音声・点字

スクリーンリーダー

12

スクレイピング/文字認識

画面拡大/UI拡張

Page 13: 171111 nishimoto-nvdajp-v2

正しい役割分担

• アクセシビリティAPI

• Web標準

• 高品質・高性能

コンテンツ アプリ OS

スクリーンリーダー

音声・点字

13

画面拡大

Page 14: 171111 nishimoto-nvdajp-v2

NVDAの構造

• OSだけに深く依存

• プラグイン

コンテンツ アプリ OS

Python

音声・点字

DRV

AM

GP

14

C++

Page 15: 171111 nishimoto-nvdajp-v2

マルウェアとは?

• マシンリーダビリティ

• 可用性と安全性• 暗号化

• DRM

コンテンツ アプリ OS

Malicious Software

15

👽

Page 16: 171111 nishimoto-nvdajp-v2

NVDAの思想

• 平等(対等)• 無料

• 本来のWindowsやアプリの操作を活かす

• ユニバーサル• 配布パッケージ

• 操作

• 正しい役割分担• 過剰にコンテンツやアプリに介入しない

• 標準化(ナレーターや VoiceOver で使えるアプリ)

16

Page 17: 171111 nishimoto-nvdajp-v2

Webブラウザの操作

• 入力イベントの送信先?• ブラウザ / OS

• NVDA自身が処理

• フォーカス• Tab / Shift+Tab

• NVDA制御キー+Tab

17

コンテンツ ブラウザ OS

NVDA

A B C D

Page 18: 171111 nishimoto-nvdajp-v2

フォーカスモード

• キーイベントはブラウザへ• コンテンツの操作

• ブラウザ自身の操作も• 上下矢印でスクロール

18

コンテンツ ブラウザ OS

NVDA

A B C D

Page 19: 171111 nishimoto-nvdajp-v2

ブラウズモード

• キーイベントはNVDAへ• NVDAがブラウザを制御する

• 読み取り場所• レビューカーソル

• ナビゲーターオブジェクト

19

コンテンツ ブラウザ OS

NVDA

A B C D

Page 20: 171111 nishimoto-nvdajp-v2

ブラウズモードの機能

• 矢印キーが「読み取り場所の移動」• テーブルでは行や列による移動も

• 必要に応じて自動的に• フォーカスモードと同じ操作が可能

• Tab / スペース / Enter など

• フォーカスモードに切り替わる• エディットフィールド、コンボボックス

• 1文字ナビゲーション(見出しジャンプなど)

• 要素リスト、ページ内検索

20

Page 21: 171111 nishimoto-nvdajp-v2

1文字ナビゲーションの例

• D: ランドマーク(Shift+Dで逆方向、以下同じ)

• H: 見出し

• I: リスト項目

• E: エディットフィールド

• B: ボタン

• C: コンボボックス

• X: チェックボックス

• G: 画像

21

Page 22: 171111 nishimoto-nvdajp-v2

要素リスト

• NVDA+F7

• Webブラウザの場合• リンク

• 見出し

• フォームフィールド

• ボタン

• ランドマーク

• 階層構造

22

Page 23: 171111 nishimoto-nvdajp-v2

FocusHighlightアドオン

• フォーカス:赤の太い実線

• フォーカスモード:青の太い点線

• フォーカスとナビゲーターオブジェクトが別の場所

• フォーカス:赤の細い実線

• ナビゲーターオブジェクト:緑の細い一点鎖線

23

Page 24: 171111 nishimoto-nvdajp-v2

クレジットカード決済サイトの試作

• ターゲット• Windows 10 + NVDA

• IE11 / Chrome / Firefox

• Googleアカウント認証

• 決済サービス• テストモード

• クレジットカード情報のトークン化(ブラウザ)

• トークンによる決済の実行(サーバー)

24

Page 25: 171111 nishimoto-nvdajp-v2

検証したこと

• 決済サービス提供のJSライブラリ• モーダルダイアログ(タブあり)

• 決済サーバとの通信だけを行う

• アカウント認証

• Bootstrap 4 + jQuery 3 + WAI-ARIA• role : main, contentinfo, status

• 属性 : live, for, descrivedby, invalid, disabled, readonly, hidden

• CSS : display:none

• iOS + VoiceOver + Safari でも動作確認

25

Page 26: 171111 nishimoto-nvdajp-v2

ユニバーサルな操作性

• ブラウズモードが使えるアプリの例• Internet Explorer

• Edge

• Firefox

• Chrome

• Acrobat Reader

• Kindle for PC

• Word, Excel, Outlook

• アプリを超えて同じ概念と作法

26

Page 27: 171111 nishimoto-nvdajp-v2

検証ツールとしてのおすすめ設定

• 使用しない• ログオン画面でNVDAを使用

• マウスカーソル位置のテキストの報告

• 書式情報 : 不要なものをチェックなしに

• NVDA制御キー• Insert : あれば使う

• Esc / 無変換 / 変換 : 日本語版のみ

• CapsLock : 日本語キーボードで動作しない

• 本来の操作=すばやく2回押す

• NVDA起動時にスピーチビューアーを表示

27

Page 28: 171111 nishimoto-nvdajp-v2

www.nvda.jp

28

Page 29: 171111 nishimoto-nvdajp-v2

Windows 環境ありますか?

• 仮想マシンしかない• ホスト環境は MacBook 系?

• Insert キー? NVDA 日本語版なら Esc キーで代用可

• ファンクションキーを使います

• ない• 仮想 Windows マシンを作りましょう

• 90日評価版がある

29

Page 30: 171111 nishimoto-nvdajp-v2

開発者のための NVDA (2017)

30

Page 31: 171111 nishimoto-nvdajp-v2

NVDA日本語版 Developer Edition

31

Page 32: 171111 nishimoto-nvdajp-v2

右クリック(Shift+F10)「すべて展開」

32

Page 33: 171111 nishimoto-nvdajp-v2

展開先の選択 → 「参照」

33

Page 34: 171111 nishimoto-nvdajp-v2

クイックアクセス「ドキュメント」選択

34

Page 35: 171111 nishimoto-nvdajp-v2

展開 → コピー中 → 終了

35

Page 36: 171111 nishimoto-nvdajp-v2

nvdajp フォルダを開く

36

Page 37: 171111 nishimoto-nvdajp-v2

nvda.exe ファイルを探す

37

Page 38: 171111 nishimoto-nvdajp-v2

nvda.exe でコンテクストメニュー

38

Page 39: 171111 nishimoto-nvdajp-v2

送る → デスクトップ

39

Page 40: 171111 nishimoto-nvdajp-v2

nvda.exe - ショートカット

40

Page 41: 171111 nishimoto-nvdajp-v2

ようこそ画面

41

Page 42: 171111 nishimoto-nvdajp-v2

Esc + Q「NVDAの終了」ダイアログ

• OK をクリックすると終了

42

Page 43: 171111 nishimoto-nvdajp-v2

起動を簡単に

• ショートカットのプロパティ• Ctrl + Alt + N で起動させる

43

Page 44: 171111 nishimoto-nvdajp-v2

Windows 10 評価版を使う

• modern.ie

• 現在は Microsoft Edge Dev

• 手順例• Oracle VM VirtualBox

• ホスト環境は日本語キーボード

44

Page 45: 171111 nishimoto-nvdajp-v2

Microsoft Edge Dev

45

Page 46: 171111 nishimoto-nvdajp-v2

Download virtual machines

46

Page 47: 171111 nishimoto-nvdajp-v2

仮想マシンをインポート

47

Page 48: 171111 nishimoto-nvdajp-v2

Audio : Intel HD Audio

48

Page 49: 171111 nishimoto-nvdajp-v2

タイムゾーン設定と言語の追加

49

Page 50: 171111 nishimoto-nvdajp-v2

日本語をデフォルトにできる

50

Page 51: 171111 nishimoto-nvdajp-v2

Japanese 106/109 key を選べる

51

Page 52: 171111 nishimoto-nvdajp-v2

日本語 Windows 10 環境できあがり

52