html5 conference 2013

64
株式会社ミツエーリンクス Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. マルチデバイス時代の HTML5&WAI-ARIA HTML5 Conference 2013 2013年11月30日 黒澤 剛志

Upload: mitsue-links

Post on 13-Jan-2015

2.550 views

Category:

Technology


0 download

DESCRIPTION

HTML5 Conference 2013でのセッション、「マルチデバイス時代のHTML5 & WAI- ARIA」のスライドです。 2013年12月6日 スライド56のHTML例を修正しました。 具体的な内容:track要素のtitle属性をlabel属性としました。

TRANSCRIPT

Page 1: Html5 conference 2013

株式会社ミツエーリンクス

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved.

マルチデバイス時代の HTML5&WAI-ARIA

HTML5 Conference 2013

2013年11月30日

黒澤 剛志

Page 2: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 1

自己紹介:黒澤 剛志

株式会社ミツエーリンクス アクセシビリティエンジニア W3C UAWG Member

• 顧客Webサイトの診断、コンサルティング • 社内制作物のアクセシビリティチェック • アクセシビリティBlogの執筆

(http://accessibility.mitsue.co.jp/)

Page 3: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 2

マルチデバイス時代

Webは特定のデバイス・環境のものではない 多くの環境から利用できることが重要な時代に = Webアクセシビリティ

Page 4: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 3

HTML5 & WAI-ARIA

HTML5: http://www.w3.org/TR/html5/

WAI-ARIA: http://www.w3.org/TR/wai-aria/

Page 5: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 4

Webアクセシビリティとは何か?

Page 6: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 5

Webアクセシビリティ

特定の環境に依存せず 多くの環境からWebを利用できる

Page 7: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 6

多様なデバイス

タッチスクリーン 細かな操作が難しいデバイス キーボードがないデバイス 音声入出力 電子ペーパー

Page 8: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 7

一時的な状況

屋外で直射日光の下で使う場合(環境光) 音を出せない場合、音が聞こえない場合 マウスを使うことが難しい場合

Page 9: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 8

支援技術

スクリーンリーダー 画面拡大、ズーム機能 ハイコントラストモード など

iOS 7のアクセシビリティ設定画面

Page 10: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 9

最近のOSは支援技術を搭載

http://www.microsoft.com/ja-jp/enable/products/windows8/default.aspx

Page 11: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 10

最近のスマートデバイスは支援技術を搭載

http://www.apple.com/jp/accessibility/ios/

Page 12: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 11

一般の人も支援技術を利用しつつある?

http://news.mynavi.jp/articles/2013/10/25/ipadiphonehacks/

Page 13: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 12

Webアクセシビリティの3つのポイント

セマンティクス 様々なデバイス・環境でのインタラクション グラフィックスとマルチメディアの

代替コンテンツ

Page 14: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 13

セマンティクス 1.

Page 16: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 15

セマンティクス

ブラウザーや支援技術がセマンティクスを理解 ユーザーの環境に合わせて情報・機能を提供

http://www.w3.org/TR/html5/dom.html#kinds-of-content

Page 17: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 16

progress要素

Page 18: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 17

progress要素

進捗率の表現

<progress max="100" value="43">43%</progress>

Page 19: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 18

WAI-ARIA

Page 20: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 19

Webアプリケーションのセマンティクス

HTMLだけではWebアプリケーションの セマンティクスを十分表現できない UIコンポーネント 動的なコンテンツ フォーカス制御

Page 21: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 20

WAI-ARIA

http://www.w3.org/TR/wai-aria/

Page 22: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 21

WAI-ARIA

WAI: Web Accessibility Initiative W3C WAIが標準化

ARIA: Accessible Rich Internet Applications Webアプリケーションをよりアクセシブルに

Page 23: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 22

WAI-ARIAの特徴

属性でセマンティクスを表現 ホスト言語と組み合わせて利用

HTML5をホスト言語にする場合 HTML5にWAI-ARIAが取り込まれたため

そのまま利用可能

Page 24: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 23

WAI-ARIAの基本

ロール(役割) role=""

<ul role="tablist"> <li role="presentation"> <a href="#panel1" role="tab" aria-selected="true" aria-controls="panel1">Tab1</a> </li> </ul>

ステート(状態) aria-*=""

プロパティ aria-*=""

Page 25: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 24

UIコンポーネント:タブ

Page 26: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 25

タブ

Page 27: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 26

WAI-ARIAのタブモデル

タブリスト(tablist)

タブ(tab)

タブパネル(tabpanel)

Page 28: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 27

タブリストとタブのマークアップ例

<ul role="tablist"> <li role="presentation"> <a href="#panel1" role="tab" aria-selected="true" aria-controls="panel1">Tab1</a> </li> <li role="presentation"> <a href="#panel2" role="tab" aria-selected="false" aria-controls="panel2">Tab2</a> </li> </ul>

Page 29: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 28

タブパネルのマークアップ例

<div id="panel1" role="tabpanel" aria-hidden="false"> <h3>Tab Panel 1</h3> … </div> <div id="panel2" role="tabpanel" aria-hidden="true"> <h3>Tab Panel 2</h3> … </div>

Page 30: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 29

動的なコンテンツ:アラート

Page 31: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 30

動的なコンテンツ

動的に追加される要素:重要性に差 重要な情報はユーザーにすぐ通知したい

Page 32: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 31

role="alert"

role="alert" :アラート

<div role="alert">ファイルサイズが…</div>

Page 33: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 32

WAI-ARIAの補足1

WAI-ARIA:セマンティクスを表現 コンテンツの見た目や動作は変わらない

見た目はCSSで設定 動作はJavaScriptなどで実装

Page 34: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 33

WAI-ARIAの補足2

WAI-ARIAのセマンティクス ブラウザーや支援技術などが

ユーザーに機能・情報を提供

Page 35: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 34

インタラクション 2.

Page 36: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 35

様々な環境でのインタラクション

様々な環境: ユーザーが利用する入力デバイスは多様

1つのデバイスが複数の入力デバイスを持つことも多い

Page 37: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 36

HTML5のネイティブウィジット

ブラウザーが各デバイス・環境での インタラクションを実装

http://nativeformelements.com/

Page 38: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 37

スライダー

Page 39: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 38

<input type="range">

ユーザーが操作に使うデバイスは様々 マウス、タッチスクリーン、キーボード…

<input type="range" min="0" max="200" step="1">

Page 40: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 39

HTML5のDOMイベント

特定のデバイスに紐づかないイベント: カスタムUIで様々なデバイスのサポート

Page 41: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 40

クリック

Page 42: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 41

clickイベント

マウスによる「クリック」以外に 要素が活性化した時に発生 a要素やbutton要素、input要素など

http://www.w3.org/TR/html5/dom.html#interactive-content

Page 43: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 42

要素を活性化する操作例

マウス:クリック キーボード:フォーカスをあてた状態で

Enterキーを押下

Page 44: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 43

ユーザーの入力

Page 45: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 44

inputイベント

ユーザーが入力に使うデバイスは様々 キーボード、マウス、音声入力…

el.addEventListener('input', foo, false)

Page 46: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 45

inputイベントの互換性

IE8以下ではサポートされていない IE9ではユーザーによる文字の削除では

inputイベントが発生しない

まだsetTimeoutを使って監視する必要があるかも

Page 47: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 46

グラフィックスとマルチメディア 3.

Page 48: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 47

グラフィックスとマルチメディア

あらゆる環境で利用できるわけではない 視覚(グラフィックス) 視覚障害、画像が読み込まれない状況

聴覚(マルチメディア) 聴覚障害、音を聞き取れない状況

代替コンテンツの提供

Page 49: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 48

画像の代替テキスト

Page 50: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 49

代替テキストの必要要件

http://www.w3.org/TR/html5/embedded-content-0.html#alt

Page 51: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 50

canvas要素

Page 52: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 51

canvas要素

フォールバックコンテンツ(代替コンテンツ) 画面上では非表示 キーボードフォーカスは移動

<canvas> (フォールバックコンテンツ) </canvas>

Page 53: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 52

例: canvas要素

Page 54: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 53

字幕とキャプション

Page 55: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 54

字幕とキャプション

字幕 キャプション 字幕、効果音、場面説明

Page 56: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 55

track要素

キャプションや字幕などを指定

<video src="video.mp4" controls> <track kind="captions" label="キャプション" src="captions.vtt" srclang="ja" default> <track kind="subtitles" label="字幕" src="subtitles.vtt" srclang="ja"> </video>

Page 57: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 56

WebVTT

WebVTT:キャプションフォーマット 実体はテキストファイル

WEBVTT 00:00:28.875 --> 00:00:30.250 危ない! 00:00:47.125 --> 00:00:48.250 ケガはないか?

Page 58: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 57

WebVTTのスタイル

様々なスタイルの適用が可能

Page 59: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 58

キャプションのサポート状況

ブラウザーの対応状況にまだ注意が必要 PCでのサポート状況 Google Chrome:対応 Safari:対応 Internet Explorer:Ver. 10から対応

スタイルの設定は不可 Mozilla Firefox:実装中

Page 60: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 59

まとめ 5.

Page 61: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 60

まとめ

様々なデバイス・環境への対応 セマンティクス 様々なデバイス・環境でのインタラクション グラフィックスとマルチメディアの

代替コンテンツ

Page 62: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 61

HTML5 & WAI-ARIAを使う場合

セマンティクス: HTML5 & WAI-ARIA

インタラクションのサポート: HTML5のネイティブウィジット 特定のデバイスに紐づかないイベントの活用

代替コンテンツ canvas要素のフォールバックコンテンツ、

track要素を使った字幕やキャプション

Page 63: Html5 conference 2013

Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved. 62

マルチデバイス時代のHTML5&WAI-ARIA

HTML5とWAI-ARIAを活かして マルチデバイスに対応した アクセシブルなサイトを

Page 64: Html5 conference 2013

ご清聴ありがとうございました

〒160-6133 東京都新宿区西新宿8-17-1 住友不動産新宿グランドタワー33階

会社案内:http://www.mitsue.co.jp/

63 Copyright(c) Mitsue-Links Co., Ltd. All Rights Reserved.

[email protected]