アクセシブルなモーダルダイアログの作り方 #scripty05

アクセシブルな
モーダルダイアログの作り方
ヤフー株式会社 マーケティングソリューションカンパニー
開発本部 UI フロントエンド開発部

福本翔
2016年3月17日
改め
このモー
ダイア

  ログ
アクセシ

  ビリティ
ダル
に を
KONO MODAL DIALOG NI ACCESSIBILITY WO!
福本 翔 @fukumotoy
ヤフー株式会社

マーケティングソリューションカンパニー 

開発本部 UI フロントエンド開発部

UI エンジニアリングチーム
アクセシビリティエンジニア /

フロントエンドエンジニア /

Web デザイナー
広告サービスの業務ツール、

プロモーションサイト /

アクセシビリティの啓蒙など
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
アジェンダ
1. アクセシビリティとは
2. モーダルダイアログをアクセシブルにする
5
アクセシビリティとは
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
アクセシビリティとは
誰もが、どんな環境でも

利用するのに支障がない状態の度合い
7
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
アクセシビリティとは
誰もが、どんな環境でも

利用するのに支障がない状態の度合い
8
様々な利用者
健常者、障害者、高齢者、
怪我をした利用者、プログラム
様々な利用機器
デバイス、ブラウザ、支援技術、マウスの有無、

タッチディスプレイ、多様なスクリーンサイズ
様々なコンテキスト
運転中でよそ見ができない、

電車内で音が出せない、マウスが壊れた
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
アクセシビリティに取り組む目的
• 将来の多様化する利用環境に備える
• IoT やウェアラブルデバイスなど
• 利用可能な環境を最大化
• ユーザビリティの土台として
• 障害者差別禁止法に備える
• CSR、SEO、etc……
9
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
アクセシビリティに取り組む目的
10
• 誰だって歳をとって高齢者になる
• 誰だって怪我をしたら一時的な障害者になりえる
• 新しいデバイスでも Web を使いたい
• IE 限定のページはもう嫌だ
誰だっていつでもどこでもどんなデバイスでも

自由に Web を使いたい(と思っているはず)
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
アクセシビリティを高めるためには
• ヒューマンリーダブルにする
• マシンリーダブルにする
• 操作に不都合がないようにする
11
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
アクセシビリティを高めるためには
• ヒューマンリーダブルにする
• マシンリーダブルにする
• 操作に不都合がないようにする
12
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Web コンテンツと利用者との関係性
13
Web

コンテンツ
利用者
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Web コンテンツと利用者との関係性
14
Web コンテンツを

UA(ブラウザなど) が取得して解析
Web

コンテンツ
利用機器
利用者
UA
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Web コンテンツと利用者との関係性
15
人によってはスクリーンリーダーなどの支援技術を使用
Web

コンテンツ
利用機器
利用者
UA
支援
技術
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Web コンテンツと利用者との関係性
16
ディスプレイ、スピーカー、点字リーダーなどの
出力機器を通して利用者へ伝達
Web

コンテンツ
利用機器
利用者
出力機器
UA
支援
技術
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Web コンテンツと利用者との関係性
17
キーボード、マウス、タッチディスプレイなどの
入力機器を使用して操作
Web

コンテンツ
利用機器
利用者
出力機器
入力機器
UA
支援
技術
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Web コンテンツと利用者との関係性
18
利用者は、機械を通して

Web コンテンツを利用している
Web

コンテンツ
利用機器
利用者
出力機器
入力機器
UA
支援
技術
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
マシンリーダブルにすると
19
UA が解釈可能であれば
Web

コンテンツ
利用機器
利用者
出力機器
UA
支援
技術
これはダイアログか
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
マシンリーダブルにすると
20
UA や支援技術がよしなにして
Web

コンテンツ
利用機器
利用者
出力機器
UA
支援
技術
ダイアログだって教えてあげといてー
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
マシンリーダブルにすると
21
利用者に情報を適切に伝えやすくなる
Web

コンテンツ
利用機器
利用者
出力機器
UA
支援
技術
これ、ダイアログでっせ
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Web

コンテンツ
利用機器
利用者
出力機器
入力機器
UA
支援
技術
マシンリーダブルにすると
22
ついでに UA 側で適切な操作にもしてくれたり
ついでにダイアログ的な操作にしておこ
モーダルダイアログを

マシンリーダブルにする
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
今回扱うモーダルダイアログ
24
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
今回扱うモーダルダイアログ
25
新規追加入力 ×
追加する情報を入力してください。
艦名
レベル
キャンセル新規追加
選択してください艦種
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
今回依存する技術仕様
• HTML 5
• WAI-ARIA 1.0
• ホスト言語に不足している情報

(役割や状態、プロパティー)を拡張する仕様
26
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
モーダルダイアログをマシンリーダブルにするためにやること
1. 「モーダルダイアログであること」を示す
2. ダイアログのラベル(識別名称)を示す
3. ダイアログの説明(内容や目的)を示す
27
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
モーダルダイアログをマシンリーダブルにするためにやること
1. 「モーダルダイアログであること」を示す
2. ダイアログのラベル(識別名称)を示す
3. ダイアログの説明(内容や目的)を示す
28
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
1. 「モーダルダイアログであること」を示す
29
「モーダルダイアログであること」を

機械にも解釈できるようにする
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
新規追加入力 ×
追加する情報を入力してください。
艦名
レベル
キャンセル新規追加
選択してください艦種
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
残念ながら……
2016年3月時点で

「モーダルダイアログであること」を

• • • •
示す方法が見つかりませんでした。。。
30
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
仕様では
• dialog 要素
• ダイアログであることを示す
• The dialog element - HTML Living Standard
• showModal メソッドを使うとモーダルに
• aria-modal 属性(WAI-ARIA 1.1)
• モーダルであることを示す
• aria-modal 属性 - WAI-ARIA 1.1 日本語訳
31
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
代わりに「ダイアログであること」を示す
32
role="dialog" を付加して「ダイアログであること」を

機械に認識できるようにする
<div class="Dialog" role="dialog">
<!-- モーダルダイアログの中身 -->
</div>
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
モーダルダイアログをマシンリーダブルにするためにやること
1. 「モーダルダイアログであること」を示す
2. ダイアログのラベル(識別名称)を示す
3. ダイアログの説明(内容や目的)を示す
33
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
2. ダイアログのラベル(識別名称)を示す
34
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
新規追加入力 ×
追加する情報を入力してください。
艦名
レベル
キャンセル新規追加
選択してください艦種
「このダイアログってなにもの?」を

機械にも解釈できるようにする
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
aria-labelledby 属性を使ってラベリング
35
<div class="Dialog" role="dialog"

aria-labelledby="dialog-title">
<div class="Dialog__header">
<h1 id="dialog-title">新規追加入力</h1>
</div>
………
</div>
• ダイアログのラベルの記述箇所を示して、

機械にダイアログのラベルを認識できるようにする
• 4.1.1. Labeling - WAI-ARIA 1.0 Authoring Practices
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
モーダルダイアログをマシンリーダブルにするためにやること
1. 「モーダルダイアログであること」を示す
2. ダイアログのラベル(識別名称)を示す
3. ダイアログの説明(内容や目的)を示す
36
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
3. ダイアログの説明(内容や目的)を示す
37
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
新規追加入力 ×
追加する情報を入力してください。
艦名
レベル
キャンセル新規追加
選択してください艦種
ダイアログの説明を機械にも解釈できるようにする
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
aria-describedby 属性を使って説明を関連付け
38
• ダイアログの説明の記述箇所を示して、

機械にダイアログの説明を認識できるようにする
• 4.1.2. Describing - WAI-ARIA 1.0 Authoring Practices
<div class="Dialog" role="dialog"

aria-labelledby="dialog-title"

aria-describedby="dialog-description">
………
<div class="Dialog__body">
<p id="dialog-description">追加~~ください。</p>
………
</div>
………
</div>
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
モーダルダイアログをマシンリーダブルにするためにやること
1. 「モーダルダイアログであること」を示す
2. ダイアログのラベル(識別名称)を示す
3. ダイアログの説明(内容や目的)を示す
39
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Web

コンテンツ
利用機器
利用者
出力機器
UA
支援
技術
マシンリーダブルにしたことで機械が分かること
40
これは「新規登録」のダイアログで
目的は「追加する情報を入力してください」
モーダルダイアログの操作に

不都合がないようにする
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
操作に不都合がないようにする
42
• 意味や操作性を保持したフォーカス移動をする
• モーダルダイアログが立ち上がってる間は、

他のコンテンツを操作できないようにする
• 3.3. Making a Dialog Modal - WAI-ARIA 1.0
Authoring Practices
様々な入力機器でも操作ができるようにする
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
操作に不都合がないようにする
1. 開いたとき
2. 開いているあいだ
3. 閉じたとき
43
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
1. 開いたとき
• ダイアログ内のフォーカス可能な要素に

フォーカスを移動させる
44
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
フォーカスを移動させないとどうなるか
45
キーボードで操作する際に
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
フォーカスを移動させないとどうなるか
46
フォーカスを移動させてあげないと
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
フォーカスを移動させないとどうなるか
47
新規追加入力 ×
追加する情報を入力してください。
艦名
レベル
キャンセル新規追加
選択してください艦種
フォーカスがトリガーとなる要素に残ったままなので
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
新規追加入力 ×
追加する情報を入力してください。
艦名
レベル
キャンセル新規追加
選択してください艦種
フォーカスを移動させないとどうなるか
48
(ダイアログの要素の記述箇所によっては)

Tab キーをたくさん叩かないと
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
フォーカスを移動させないとどうなるか
49
新規追加入力 ×
追加する情報を入力してください。
艦名
レベル
キャンセル新規追加
選択してください艦種
(ダイアログの要素の記述箇所によっては)

Tab キーをたくさん叩かないと
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
新規追加入力 ×
追加する情報を入力してください。
艦名
レベル
キャンセル新規追加
選択してください艦種
フォーカスを移動させないとどうなるか
50
(ダイアログの要素の記述箇所によっては)

Tab キーをたくさん叩かないと
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
新規追加入力 ×
追加する情報を入力してください。
艦名
レベル
キャンセル新規追加
選択してください艦種
フォーカスを移動させないとどうなるか
51
(ダイアログの要素の記述箇所によっては)

Tab キーをたくさん叩かないと
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
新規追加入力 ×
追加する情報を入力してください。
艦名
レベル
キャンセル新規追加
選択してください艦種
フォーカスを移動させないとどうなるか
52
ダイアログにたどり着けない
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
フォーカスを移動させないとどうなるか
• キーボードだと操作するのが大変
• 見えてないとダイアログが開いたことに気付けない
53
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
やること
54
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
やること
55
ダイアログを開いたら
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
新規追加入力 ×
追加する情報を入力してください。
艦名
レベル
キャンセル新規追加
選択してください艦種
やること
56
ダイアログのフォーカス可能な要素に

フォーカスを移動させる
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
操作に不都合がないようにする
1. 開いたとき
2. 開いているあいだ
3. 閉じたとき
57
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
2. 開いているあいだ
• ダイアログの中を操作させたいので、

ダイアログ以外を操作できないようにする
• フォーカスを制御する
• 後ろのコンテンツを無視させる
58
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
2. 開いているあいだ
• ダイアログの中を操作させたいので、

ダイアログ以外を操作できないようにする
• フォーカスを制御する
• 後ろのコンテンツを無視させる
59
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
フォーカスを制御しないとどうなるか
60
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
新規追加入力 ×
追加する情報を入力してください。
艦名
レベル
キャンセル新規追加
選択してください艦種
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
新規追加入力 ×
追加する情報を入力してください。
艦名
レベル
キャンセル新規追加
選択してください艦種
フォーカスを制御しないとどうなるか
61
フォーカスがここにあるとき
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
新規追加入力 ×
追加する情報を入力してください。
艦名
レベル
キャンセル新規追加
選択してください艦種
フォーカスを制御しないとどうなるか
62
Shift + Tab を押すと
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
新規追加入力 ×
追加する情報を入力してください。
艦名
レベル
キャンセル新規追加
選択してください艦種
フォーカスを制御しないとどうなるか
63
ダイアログの裏が操作できちゃう
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
新規追加入力 ×
追加する情報を入力してください。
艦名
レベル
キャンセル新規追加
選択してください艦種
やること
64
フォーカスを制御して、

フォーカスをダイアログの範囲に収める
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
2. 開いているあいだ
• ダイアログの中を操作させたいので、

ダイアログ以外を操作できないようにする
• フォーカスを制御する
• 後ろのコンテンツを無視させる
65
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
無視させないとどうなるか
• Tab 移動以外の方法で、ダイアログ以外の

コンテンツにアクセスできてしまう
• 見出しジャンプやランドマークジャンプなど
66
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
新規追加入力 ×
追加する情報を入力してください。
艦名
レベル
キャンセル新規追加
選択してください艦種
やること
67
ダイアログが立ち上がったときに、

裏側は機械が無視するようにする
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
<body>
<div class="Wrapper" aria-hidden="true">
……後ろのコンテンツ……
</div>
<div class="Dialog" role="dialog" ……>
……ダイアログ内のコンテンツ……
</div>
</body>
後ろのコンテンツを機械に無視させる
68
後ろのコンテンツの aria-hidden 属性を

true に設定する
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
操作に不都合がないようにする
1. 開いたとき
2. 開いているあいだ
3. 閉じたとき
69
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
3. 閉じたとき
• ダイアログを実行した要素へフォーカスを戻す
70
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
戻さないとどうなるか
71
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
新規追加入力 ×
追加する情報を入力してください。
艦名
レベル
キャンセル新規追加
選択してください艦種
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
新規追加入力 ×
追加する情報を入力してください。
艦名
レベル
キャンセル新規追加
選択してください艦種
戻さないとどうなるか
72
ダイアログを閉じると
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
戻さないとどうなるか
73
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
フォーカスを持ってたダイアログが消えるので
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
戻さないとどうなるか
74
Tab を押したらフォーカス位置がリセットされてしまう
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
長いフォームの一部で使われていると最悪
75
追加する情報を入力してください。
ほげほげ
ほげほげ
ほげほげ
ほげほげ
新規追加
○○○○○○入力
Top > Parent > Current
追加
ナビ ナビ ナビ ナビ
ここでモーダル開くようなの
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
戻さないとどうなるか
• キーボードだと操作するのが大変
• 見えてないとダイアログが閉じたときに

ページのどこにいるのか分からなくなる
76
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
やること
77
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
新規追加入力 ×
追加する情報を入力してください。
艦名
レベル
キャンセル新規追加
選択してください艦種
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
新規追加入力 ×
追加する情報を入力してください。
艦名
レベル
キャンセル新規追加
選択してください艦種
やること
78
ダイアログを閉じたら
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
新規追加
○○○○○○一覧
艦名 艦種 レベル
鈴谷 航空巡洋艦 110
Bismarck 戦艦 110
加賀 正規空母 110
大鳳 装甲空母 110
Top > Parent > Current
やること
79
実行した要素にフォーカスを戻す
まとめ
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
アクセシビリティを高めるためにやること
• ヒューマンリーダブルにする
• マシンリーダブルにする
• 操作に不都合がないようにする
81
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
モーダルダイアログをマシンリーダブルにする
• 「モーダルダイアログであること」を示す
• ダイアログのラベル(識別名称)を示す
• ダイアログの説明(内容や目的)を示す
82
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
Web

コンテンツ
利用機器
利用者
出力機器
UA
支援
技術
マシンリーダブルにしたことで機械が分かること
83
これは「○○○○」のダイアログで
内容は「○○○○○○○○○○○○」
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
モーダルダイアログの操作に不都合がないようにする
• 意味や操作性を保持したフォーカス移動にする
• モーダルダイアログが立ち上がってる間は、

他のコンテンツを操作できないようにする
84
以上、ご静聴ありがとうございました!
Appendix
Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止
参考情報
• WAI-ARIA 1.0 Authoring Practices
• 3.3. Making a Dialog Modal
• 4.1. Labeling and Describing
• dialog - WAI-ARIA 1.0 日本語訳
• The dialog element - HTML Living Standard
• dialog - WAI-ARIA 1.1 日本語訳
• Using the dialog role - MDN
• Modal - Bootstrap4
• The Incredible Accessible Modal Window, Version 3
• モーダルウィンドウを考える - Website Usability Info
87
1 of 87

Recommended

アクセシビリティとこれからのWebデザイン by
アクセシビリティとこれからのWebデザインアクセシビリティとこれからのWebデザイン
アクセシビリティとこれからのWebデザイン力也 伊原
24.8K views121 slides
Webアクセシビリティが無視されすぎで気にくわない。 by
Webアクセシビリティが無視されすぎで気にくわない。Webアクセシビリティが無視されすぎで気にくわない。
Webアクセシビリティが無視されすぎで気にくわない。uenoyuuki
27K views47 slides
アクセシビリティvsセキュリティ ~こんな対策はいらない!~ by
アクセシビリティvsセキュリティ ~こんな対策はいらない!~ アクセシビリティvsセキュリティ ~こんな対策はいらない!~
アクセシビリティvsセキュリティ ~こんな対策はいらない!~ Yoshinori OHTA
6.7K views66 slides
Webアクセシビリティ 海外の最新動向 2018 by
Webアクセシビリティ 海外の最新動向 2018Webアクセシビリティ 海外の最新動向 2018
Webアクセシビリティ 海外の最新動向 2018Makoto Ueki
1.4K views78 slides
フロー効率性とリソース効率性について #xpjug by
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugItsuki Kuroda
106.1K views62 slides
グルーミングしながら進めるプロダクト開発 by
グルーミングしながら進めるプロダクト開発グルーミングしながら進めるプロダクト開発
グルーミングしながら進めるプロダクト開発Takafumi ONAKA
11.8K views41 slides

More Related Content

What's hot

ユーザーストーリー駆動開発で行こう。 by
ユーザーストーリー駆動開発で行こう。ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。toshihiro ichitani
120.9K views66 slides
ドメイン駆動設計 基本を理解する by
ドメイン駆動設計 基本を理解するドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する増田 亨
117.5K views134 slides
コントラスト高めでいこう by
コントラスト高めでいこうコントラスト高めでいこう
コントラスト高めでいこうNozomi Sawada
2.9K views81 slides
Internet explorer イントラネットの判定と挙動 by
Internet explorer イントラネットの判定と挙動Internet explorer イントラネットの判定と挙動
Internet explorer イントラネットの判定と挙動Isao Sato
8.3K views27 slides
オーバーエンジニアリングって何? #devsumi #devsumiA by
オーバーエンジニアリングって何? #devsumi #devsumiAオーバーエンジニアリングって何? #devsumi #devsumiA
オーバーエンジニアリングって何? #devsumi #devsumiAOre Product
5K views69 slides
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ by
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチYoshiki Hayama
54.7K views243 slides

What's hot(20)

ユーザーストーリー駆動開発で行こう。 by toshihiro ichitani
ユーザーストーリー駆動開発で行こう。ユーザーストーリー駆動開発で行こう。
ユーザーストーリー駆動開発で行こう。
toshihiro ichitani120.9K views
ドメイン駆動設計 基本を理解する by 増田 亨
ドメイン駆動設計 基本を理解するドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
増田 亨117.5K views
コントラスト高めでいこう by Nozomi Sawada
コントラスト高めでいこうコントラスト高めでいこう
コントラスト高めでいこう
Nozomi Sawada2.9K views
Internet explorer イントラネットの判定と挙動 by Isao Sato
Internet explorer イントラネットの判定と挙動Internet explorer イントラネットの判定と挙動
Internet explorer イントラネットの判定と挙動
Isao Sato8.3K views
オーバーエンジニアリングって何? #devsumi #devsumiA by Ore Product
オーバーエンジニアリングって何? #devsumi #devsumiAオーバーエンジニアリングって何? #devsumi #devsumiA
オーバーエンジニアリングって何? #devsumi #devsumiA
Ore Product5K views
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ by Yoshiki Hayama
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
「のどが渇いた」というユーザーに何を出す? ユーザーの「欲しい」に惑わされない、本当のインサイトを見つけるUXデザイン・UXリサーチ
Yoshiki Hayama54.7K views
異次元のグラフデータベースNeo4j by 昌桓 李
異次元のグラフデータベースNeo4j異次元のグラフデータベースNeo4j
異次元のグラフデータベースNeo4j
昌桓 李13.1K views
[アジャイル・スクラム勉強会]アジャイルとスクラムの歴史背景 by Satoshi Harada
[アジャイル・スクラム勉強会]アジャイルとスクラムの歴史背景[アジャイル・スクラム勉強会]アジャイルとスクラムの歴史背景
[アジャイル・スクラム勉強会]アジャイルとスクラムの歴史背景
Satoshi Harada462 views
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24 by Shin Ohno
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Shin Ohno2.6K views
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022 by Yusuke Suzuki
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
サービスブループリントによるシステム設計手法の紹介 - XP祭り2022
Yusuke Suzuki1K views
オブジェクト指向設計の原則 by Toru Koido
オブジェクト指向設計の原則オブジェクト指向設計の原則
オブジェクト指向設計の原則
Toru Koido5.6K views
ログの書き方がチームの生産性を爆上げする話 by Tsuyoshi Ushio
ログの書き方がチームの生産性を爆上げする話ログの書き方がチームの生産性を爆上げする話
ログの書き方がチームの生産性を爆上げする話
Tsuyoshi Ushio5.3K views
マルチテナントのアプリケーション実装〜実践編〜 by Yoshiki Nakagawa
マルチテナントのアプリケーション実装〜実践編〜マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜
Yoshiki Nakagawa4.2K views
JenkinsとCodeBuildとCloud Buildと私 by Shoji Shirotori
JenkinsとCodeBuildとCloud Buildと私JenkinsとCodeBuildとCloud Buildと私
JenkinsとCodeBuildとCloud Buildと私
Shoji Shirotori5.4K views
Flumeを活用したAmebaにおける大規模ログ収集システム by Satoshi Iijima
Flumeを活用したAmebaにおける大規模ログ収集システムFlumeを活用したAmebaにおける大規模ログ収集システム
Flumeを活用したAmebaにおける大規模ログ収集システム
Satoshi Iijima20.6K views
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善 by Ito Takayuki
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
Ito Takayuki528 views
情報共有は、なぜGoogle Docsじゃなく、 Confluenceなのか。 by Narichika Kajihara
情報共有は、なぜGoogle Docsじゃなく、 Confluenceなのか。情報共有は、なぜGoogle Docsじゃなく、 Confluenceなのか。
情報共有は、なぜGoogle Docsじゃなく、 Confluenceなのか。
Narichika Kajihara9.2K views
シリコンバレーの「何が」凄いのか by Atsushi Nakada
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
Atsushi Nakada183.9K views
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」 by Takuto Wada
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
Takuto Wada148.6K views
ユーザーインタビューするときは、どうやらゾンビのおでましさ by Yoshiki Hayama
ユーザーインタビューするときは、どうやらゾンビのおでましさユーザーインタビューするときは、どうやらゾンビのおでましさ
ユーザーインタビューするときは、どうやらゾンビのおでましさ
Yoshiki Hayama8.5K views

Similar to アクセシブルなモーダルダイアログの作り方 #scripty05

Yahoo! JAPAN の Ambari 活用事例 #yjdsnight by
Yahoo! JAPAN の Ambari 活用事例 #yjdsnightYahoo! JAPAN の Ambari 活用事例 #yjdsnight
Yahoo! JAPAN の Ambari 活用事例 #yjdsnightYahoo!デベロッパーネットワーク
1.2K views60 slides
Yahoo! JAPAN の Ambari 活用事例 #ambarimeetup by
Yahoo! JAPAN の Ambari 活用事例 #ambarimeetupYahoo! JAPAN の Ambari 活用事例 #ambarimeetup
Yahoo! JAPAN の Ambari 活用事例 #ambarimeetupYahoo!デベロッパーネットワーク
667 views51 slides
Yahoo! JAPANが考えるテクノロジーとITエンジニアの未来 #devsumi by
Yahoo! JAPANが考えるテクノロジーとITエンジニアの未来 #devsumiYahoo! JAPANが考えるテクノロジーとITエンジニアの未来 #devsumi
Yahoo! JAPANが考えるテクノロジーとITエンジニアの未来 #devsumiYahoo!デベロッパーネットワーク
11.4K views102 slides
ヤフオク!における機械学習 ~深層学習、分散表現~ #devsumi by
ヤフオク!における機械学習 ~深層学習、分散表現~ #devsumiヤフオク!における機械学習 ~深層学習、分散表現~ #devsumi
ヤフオク!における機械学習 ~深層学習、分散表現~ #devsumiYahoo!デベロッパーネットワーク
7.9K views103 slides
リファクタリングHTML/CSS ~レガシー世界を超えて~ #scripty03 by
リファクタリングHTML/CSS ~レガシー世界を超えて~ #scripty03リファクタリングHTML/CSS ~レガシー世界を超えて~ #scripty03
リファクタリングHTML/CSS ~レガシー世界を超えて~ #scripty03Yahoo!デベロッパーネットワーク
5.2K views52 slides
Keycloak拡張入門 by
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門Hiroyuki Wada
10.3K views50 slides

Similar to アクセシブルなモーダルダイアログの作り方 #scripty05(20)

Keycloak拡張入門 by Hiroyuki Wada
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門
Hiroyuki Wada10.3K views
Apache Pulsarの近況 & meetup 北京の参加報告 @PulsarMeetupJapan_20190904 by Nozomi Kurihara
Apache Pulsarの近況 & meetup 北京の参加報告 @PulsarMeetupJapan_20190904Apache Pulsarの近況 & meetup 北京の参加報告 @PulsarMeetupJapan_20190904
Apache Pulsarの近況 & meetup 北京の参加報告 @PulsarMeetupJapan_20190904
Nozomi Kurihara576 views
gumiにおける、海外支社とのAtlassian製品利用事例 by 知教 本間
gumiにおける、海外支社とのAtlassian製品利用事例gumiにおける、海外支社とのAtlassian製品利用事例
gumiにおける、海外支社とのAtlassian製品利用事例
知教 本間1.8K views
NHNグループ合同勉強会 ライブドア片野 by livedoor
NHNグループ合同勉強会 ライブドア片野NHNグループ合同勉強会 ライブドア片野
NHNグループ合同勉強会 ライブドア片野
livedoor2K views

More from Yahoo!デベロッパーネットワーク

ゼロから始める転移学習 by
ゼロから始める転移学習ゼロから始める転移学習
ゼロから始める転移学習Yahoo!デベロッパーネットワーク
13.1K views132 slides
継続的なモデルモニタリングを実現するKubernetes Operator by
継続的なモデルモニタリングを実現するKubernetes Operator継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes OperatorYahoo!デベロッパーネットワーク
4.9K views35 slides
ヤフーでは開発迅速性と品質のバランスをどう取ってるか by
ヤフーでは開発迅速性と品質のバランスをどう取ってるかヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかYahoo!デベロッパーネットワーク
1.2K views24 slides
オンプレML基盤on Kubernetes パネルディスカッション by
オンプレML基盤on Kubernetes パネルディスカッションオンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッションYahoo!デベロッパーネットワーク
2K views18 slides
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜 by
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜Yahoo!デベロッパーネットワーク
1.7K views35 slides

More from Yahoo!デベロッパーネットワーク(20)

Recently uploaded

SNMPセキュリティ超入門 by
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門mkoda
301 views15 slides
JJUG CCC.pptx by
JJUG CCC.pptxJJUG CCC.pptx
JJUG CCC.pptxKanta Sasaki
6 views14 slides
SSH応用編_20231129.pdf by
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdficebreaker4
287 views13 slides
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
18 views38 slides
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 by
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
41 views26 slides

Recently uploaded(11)

SNMPセキュリティ超入門 by mkoda
SNMPセキュリティ超入門SNMPセキュリティ超入門
SNMPセキュリティ超入門
mkoda301 views
SSH応用編_20231129.pdf by icebreaker4
SSH応用編_20231129.pdfSSH応用編_20231129.pdf
SSH応用編_20231129.pdf
icebreaker4287 views
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料) by NTT DATA Technology & Innovation
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
The Things Stack説明資料 by The Things Industries by CRI Japan, Inc.
The Things Stack説明資料 by The Things IndustriesThe Things Stack説明資料 by The Things Industries
The Things Stack説明資料 by The Things Industries
CRI Japan, Inc.51 views
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20... by NTT DATA Technology & Innovation
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
さくらのひやおろし2023 by 法林浩之
さくらのひやおろし2023さくらのひやおろし2023
さくらのひやおろし2023
法林浩之94 views
Windows 11 information that can be used at the development site by Atomu Hidaka
Windows 11 information that can be used at the development siteWindows 11 information that can be used at the development site
Windows 11 information that can be used at the development site
Atomu Hidaka80 views

アクセシブルなモーダルダイアログの作り方 #scripty05

  • 4. 福本 翔 @fukumotoy ヤフー株式会社
 マーケティングソリューションカンパニー 
 開発本部 UI フロントエンド開発部
 UI エンジニアリングチーム アクセシビリティエンジニア /
 フロントエンドエンジニア /
 Web デザイナー 広告サービスの業務ツール、
 プロモーションサイト /
 アクセシビリティの啓蒙など
  • 5. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 アジェンダ 1. アクセシビリティとは 2. モーダルダイアログをアクセシブルにする 5
  • 7. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 アクセシビリティとは 誰もが、どんな環境でも
 利用するのに支障がない状態の度合い 7
  • 8. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 アクセシビリティとは 誰もが、どんな環境でも
 利用するのに支障がない状態の度合い 8 様々な利用者 健常者、障害者、高齢者、 怪我をした利用者、プログラム 様々な利用機器 デバイス、ブラウザ、支援技術、マウスの有無、
 タッチディスプレイ、多様なスクリーンサイズ 様々なコンテキスト 運転中でよそ見ができない、
 電車内で音が出せない、マウスが壊れた
  • 9. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 アクセシビリティに取り組む目的 • 将来の多様化する利用環境に備える • IoT やウェアラブルデバイスなど • 利用可能な環境を最大化 • ユーザビリティの土台として • 障害者差別禁止法に備える • CSR、SEO、etc…… 9
  • 10. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 アクセシビリティに取り組む目的 10 • 誰だって歳をとって高齢者になる • 誰だって怪我をしたら一時的な障害者になりえる • 新しいデバイスでも Web を使いたい • IE 限定のページはもう嫌だ 誰だっていつでもどこでもどんなデバイスでも
 自由に Web を使いたい(と思っているはず)
  • 11. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 アクセシビリティを高めるためには • ヒューマンリーダブルにする • マシンリーダブルにする • 操作に不都合がないようにする 11
  • 12. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 アクセシビリティを高めるためには • ヒューマンリーダブルにする • マシンリーダブルにする • 操作に不都合がないようにする 12
  • 13. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Web コンテンツと利用者との関係性 13 Web
 コンテンツ 利用者
  • 14. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Web コンテンツと利用者との関係性 14 Web コンテンツを
 UA(ブラウザなど) が取得して解析 Web
 コンテンツ 利用機器 利用者 UA
  • 15. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Web コンテンツと利用者との関係性 15 人によってはスクリーンリーダーなどの支援技術を使用 Web
 コンテンツ 利用機器 利用者 UA 支援 技術
  • 16. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Web コンテンツと利用者との関係性 16 ディスプレイ、スピーカー、点字リーダーなどの 出力機器を通して利用者へ伝達 Web
 コンテンツ 利用機器 利用者 出力機器 UA 支援 技術
  • 17. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Web コンテンツと利用者との関係性 17 キーボード、マウス、タッチディスプレイなどの 入力機器を使用して操作 Web
 コンテンツ 利用機器 利用者 出力機器 入力機器 UA 支援 技術
  • 18. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Web コンテンツと利用者との関係性 18 利用者は、機械を通して
 Web コンテンツを利用している Web
 コンテンツ 利用機器 利用者 出力機器 入力機器 UA 支援 技術
  • 19. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 マシンリーダブルにすると 19 UA が解釈可能であれば Web
 コンテンツ 利用機器 利用者 出力機器 UA 支援 技術 これはダイアログか
  • 20. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 マシンリーダブルにすると 20 UA や支援技術がよしなにして Web
 コンテンツ 利用機器 利用者 出力機器 UA 支援 技術 ダイアログだって教えてあげといてー
  • 21. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 マシンリーダブルにすると 21 利用者に情報を適切に伝えやすくなる Web
 コンテンツ 利用機器 利用者 出力機器 UA 支援 技術 これ、ダイアログでっせ
  • 22. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Web
 コンテンツ 利用機器 利用者 出力機器 入力機器 UA 支援 技術 マシンリーダブルにすると 22 ついでに UA 側で適切な操作にもしてくれたり ついでにダイアログ的な操作にしておこ
  • 24. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 今回扱うモーダルダイアログ 24 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current
  • 25. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current 今回扱うモーダルダイアログ 25 新規追加入力 × 追加する情報を入力してください。 艦名 レベル キャンセル新規追加 選択してください艦種
  • 26. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 今回依存する技術仕様 • HTML 5 • WAI-ARIA 1.0 • ホスト言語に不足している情報
 (役割や状態、プロパティー)を拡張する仕様 26
  • 27. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 モーダルダイアログをマシンリーダブルにするためにやること 1. 「モーダルダイアログであること」を示す 2. ダイアログのラベル(識別名称)を示す 3. ダイアログの説明(内容や目的)を示す 27
  • 28. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 モーダルダイアログをマシンリーダブルにするためにやること 1. 「モーダルダイアログであること」を示す 2. ダイアログのラベル(識別名称)を示す 3. ダイアログの説明(内容や目的)を示す 28
  • 29. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 1. 「モーダルダイアログであること」を示す 29 「モーダルダイアログであること」を
 機械にも解釈できるようにする 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current 新規追加入力 × 追加する情報を入力してください。 艦名 レベル キャンセル新規追加 選択してください艦種
  • 30. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 残念ながら…… 2016年3月時点で
 「モーダルダイアログであること」を
 • • • • 示す方法が見つかりませんでした。。。 30
  • 31. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 仕様では • dialog 要素 • ダイアログであることを示す • The dialog element - HTML Living Standard • showModal メソッドを使うとモーダルに • aria-modal 属性(WAI-ARIA 1.1) • モーダルであることを示す • aria-modal 属性 - WAI-ARIA 1.1 日本語訳 31
  • 32. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 代わりに「ダイアログであること」を示す 32 role="dialog" を付加して「ダイアログであること」を
 機械に認識できるようにする <div class="Dialog" role="dialog"> <!-- モーダルダイアログの中身 --> </div>
  • 33. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 モーダルダイアログをマシンリーダブルにするためにやること 1. 「モーダルダイアログであること」を示す 2. ダイアログのラベル(識別名称)を示す 3. ダイアログの説明(内容や目的)を示す 33
  • 34. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 2. ダイアログのラベル(識別名称)を示す 34 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current 新規追加入力 × 追加する情報を入力してください。 艦名 レベル キャンセル新規追加 選択してください艦種 「このダイアログってなにもの?」を
 機械にも解釈できるようにする
  • 35. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 aria-labelledby 属性を使ってラベリング 35 <div class="Dialog" role="dialog"
 aria-labelledby="dialog-title"> <div class="Dialog__header"> <h1 id="dialog-title">新規追加入力</h1> </div> ……… </div> • ダイアログのラベルの記述箇所を示して、
 機械にダイアログのラベルを認識できるようにする • 4.1.1. Labeling - WAI-ARIA 1.0 Authoring Practices
  • 36. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 モーダルダイアログをマシンリーダブルにするためにやること 1. 「モーダルダイアログであること」を示す 2. ダイアログのラベル(識別名称)を示す 3. ダイアログの説明(内容や目的)を示す 36
  • 37. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 3. ダイアログの説明(内容や目的)を示す 37 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current 新規追加入力 × 追加する情報を入力してください。 艦名 レベル キャンセル新規追加 選択してください艦種 ダイアログの説明を機械にも解釈できるようにする
  • 38. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 aria-describedby 属性を使って説明を関連付け 38 • ダイアログの説明の記述箇所を示して、
 機械にダイアログの説明を認識できるようにする • 4.1.2. Describing - WAI-ARIA 1.0 Authoring Practices <div class="Dialog" role="dialog"
 aria-labelledby="dialog-title"
 aria-describedby="dialog-description"> ……… <div class="Dialog__body"> <p id="dialog-description">追加~~ください。</p> ……… </div> ……… </div>
  • 39. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 モーダルダイアログをマシンリーダブルにするためにやること 1. 「モーダルダイアログであること」を示す 2. ダイアログのラベル(識別名称)を示す 3. ダイアログの説明(内容や目的)を示す 39
  • 40. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Web
 コンテンツ 利用機器 利用者 出力機器 UA 支援 技術 マシンリーダブルにしたことで機械が分かること 40 これは「新規登録」のダイアログで 目的は「追加する情報を入力してください」
  • 42. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 操作に不都合がないようにする 42 • 意味や操作性を保持したフォーカス移動をする • モーダルダイアログが立ち上がってる間は、
 他のコンテンツを操作できないようにする • 3.3. Making a Dialog Modal - WAI-ARIA 1.0 Authoring Practices 様々な入力機器でも操作ができるようにする
  • 43. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 操作に不都合がないようにする 1. 開いたとき 2. 開いているあいだ 3. 閉じたとき 43
  • 44. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 1. 開いたとき • ダイアログ内のフォーカス可能な要素に
 フォーカスを移動させる 44
  • 45. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 フォーカスを移動させないとどうなるか 45 キーボードで操作する際に 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current
  • 46. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current フォーカスを移動させないとどうなるか 46 フォーカスを移動させてあげないと
  • 47. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current フォーカスを移動させないとどうなるか 47 新規追加入力 × 追加する情報を入力してください。 艦名 レベル キャンセル新規追加 選択してください艦種 フォーカスがトリガーとなる要素に残ったままなので
  • 48. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current 新規追加入力 × 追加する情報を入力してください。 艦名 レベル キャンセル新規追加 選択してください艦種 フォーカスを移動させないとどうなるか 48 (ダイアログの要素の記述箇所によっては)
 Tab キーをたくさん叩かないと
  • 49. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current フォーカスを移動させないとどうなるか 49 新規追加入力 × 追加する情報を入力してください。 艦名 レベル キャンセル新規追加 選択してください艦種 (ダイアログの要素の記述箇所によっては)
 Tab キーをたくさん叩かないと
  • 50. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current 新規追加入力 × 追加する情報を入力してください。 艦名 レベル キャンセル新規追加 選択してください艦種 フォーカスを移動させないとどうなるか 50 (ダイアログの要素の記述箇所によっては)
 Tab キーをたくさん叩かないと
  • 51. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current 新規追加入力 × 追加する情報を入力してください。 艦名 レベル キャンセル新規追加 選択してください艦種 フォーカスを移動させないとどうなるか 51 (ダイアログの要素の記述箇所によっては)
 Tab キーをたくさん叩かないと
  • 52. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current 新規追加入力 × 追加する情報を入力してください。 艦名 レベル キャンセル新規追加 選択してください艦種 フォーカスを移動させないとどうなるか 52 ダイアログにたどり着けない
  • 53. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 フォーカスを移動させないとどうなるか • キーボードだと操作するのが大変 • 見えてないとダイアログが開いたことに気付けない 53
  • 54. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 やること 54 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current
  • 55. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current やること 55 ダイアログを開いたら
  • 56. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current 新規追加入力 × 追加する情報を入力してください。 艦名 レベル キャンセル新規追加 選択してください艦種 やること 56 ダイアログのフォーカス可能な要素に
 フォーカスを移動させる
  • 57. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 操作に不都合がないようにする 1. 開いたとき 2. 開いているあいだ 3. 閉じたとき 57
  • 58. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 2. 開いているあいだ • ダイアログの中を操作させたいので、
 ダイアログ以外を操作できないようにする • フォーカスを制御する • 後ろのコンテンツを無視させる 58
  • 59. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 2. 開いているあいだ • ダイアログの中を操作させたいので、
 ダイアログ以外を操作できないようにする • フォーカスを制御する • 後ろのコンテンツを無視させる 59
  • 60. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 フォーカスを制御しないとどうなるか 60 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current 新規追加入力 × 追加する情報を入力してください。 艦名 レベル キャンセル新規追加 選択してください艦種
  • 61. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current 新規追加入力 × 追加する情報を入力してください。 艦名 レベル キャンセル新規追加 選択してください艦種 フォーカスを制御しないとどうなるか 61 フォーカスがここにあるとき
  • 62. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current 新規追加入力 × 追加する情報を入力してください。 艦名 レベル キャンセル新規追加 選択してください艦種 フォーカスを制御しないとどうなるか 62 Shift + Tab を押すと
  • 63. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current 新規追加入力 × 追加する情報を入力してください。 艦名 レベル キャンセル新規追加 選択してください艦種 フォーカスを制御しないとどうなるか 63 ダイアログの裏が操作できちゃう
  • 64. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current 新規追加入力 × 追加する情報を入力してください。 艦名 レベル キャンセル新規追加 選択してください艦種 やること 64 フォーカスを制御して、
 フォーカスをダイアログの範囲に収める
  • 65. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 2. 開いているあいだ • ダイアログの中を操作させたいので、
 ダイアログ以外を操作できないようにする • フォーカスを制御する • 後ろのコンテンツを無視させる 65
  • 66. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 無視させないとどうなるか • Tab 移動以外の方法で、ダイアログ以外の
 コンテンツにアクセスできてしまう • 見出しジャンプやランドマークジャンプなど 66
  • 67. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current 新規追加入力 × 追加する情報を入力してください。 艦名 レベル キャンセル新規追加 選択してください艦種 やること 67 ダイアログが立ち上がったときに、
 裏側は機械が無視するようにする
  • 68. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 <body> <div class="Wrapper" aria-hidden="true"> ……後ろのコンテンツ…… </div> <div class="Dialog" role="dialog" ……> ……ダイアログ内のコンテンツ…… </div> </body> 後ろのコンテンツを機械に無視させる 68 後ろのコンテンツの aria-hidden 属性を
 true に設定する
  • 69. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 操作に不都合がないようにする 1. 開いたとき 2. 開いているあいだ 3. 閉じたとき 69
  • 70. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 3. 閉じたとき • ダイアログを実行した要素へフォーカスを戻す 70
  • 71. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 戻さないとどうなるか 71 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current 新規追加入力 × 追加する情報を入力してください。 艦名 レベル キャンセル新規追加 選択してください艦種
  • 72. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current 新規追加入力 × 追加する情報を入力してください。 艦名 レベル キャンセル新規追加 選択してください艦種 戻さないとどうなるか 72 ダイアログを閉じると
  • 73. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 戻さないとどうなるか 73 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current フォーカスを持ってたダイアログが消えるので
  • 74. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current 戻さないとどうなるか 74 Tab を押したらフォーカス位置がリセットされてしまう
  • 75. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 長いフォームの一部で使われていると最悪 75 追加する情報を入力してください。 ほげほげ ほげほげ ほげほげ ほげほげ 新規追加 ○○○○○○入力 Top > Parent > Current 追加 ナビ ナビ ナビ ナビ ここでモーダル開くようなの
  • 76. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 戻さないとどうなるか • キーボードだと操作するのが大変 • 見えてないとダイアログが閉じたときに
 ページのどこにいるのか分からなくなる 76
  • 77. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 やること 77 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current 新規追加入力 × 追加する情報を入力してください。 艦名 レベル キャンセル新規追加 選択してください艦種
  • 78. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current 新規追加入力 × 追加する情報を入力してください。 艦名 レベル キャンセル新規追加 選択してください艦種 やること 78 ダイアログを閉じたら
  • 79. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 新規追加 ○○○○○○一覧 艦名 艦種 レベル 鈴谷 航空巡洋艦 110 Bismarck 戦艦 110 加賀 正規空母 110 大鳳 装甲空母 110 Top > Parent > Current やること 79 実行した要素にフォーカスを戻す
  • 81. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 アクセシビリティを高めるためにやること • ヒューマンリーダブルにする • マシンリーダブルにする • 操作に不都合がないようにする 81
  • 82. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 モーダルダイアログをマシンリーダブルにする • 「モーダルダイアログであること」を示す • ダイアログのラベル(識別名称)を示す • ダイアログの説明(内容や目的)を示す 82
  • 83. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 Web
 コンテンツ 利用機器 利用者 出力機器 UA 支援 技術 マシンリーダブルにしたことで機械が分かること 83 これは「○○○○」のダイアログで 内容は「○○○○○○○○○○○○」
  • 84. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 モーダルダイアログの操作に不都合がないようにする • 意味や操作性を保持したフォーカス移動にする • モーダルダイアログが立ち上がってる間は、
 他のコンテンツを操作できないようにする 84
  • 87. Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止 参考情報 • WAI-ARIA 1.0 Authoring Practices • 3.3. Making a Dialog Modal • 4.1. Labeling and Describing • dialog - WAI-ARIA 1.0 日本語訳 • The dialog element - HTML Living Standard • dialog - WAI-ARIA 1.1 日本語訳 • Using the dialog role - MDN • Modal - Bootstrap4 • The Incredible Accessible Modal Window, Version 3 • モーダルウィンドウを考える - Website Usability Info 87