SlideShare a Scribd company logo
1 of 59
Web Componentsのア
クセシビリティ
2015年1月25日
株式会社ミツエーリンクス 黒澤剛志
自己紹介:黒澤 剛志
顧客Webサイトの診断、コンサルティング
社内制作物のアクセシビリティチェック
アクセシビリティBlogの執筆
(http://www.mitsue.co.jp/knowledge/blog/a11y/)
2
黒澤 剛志
株式会社ミツエーリンクス
アクセシビリティエンジニア
3
http://www.csun.edu/cod/conference/2015/sessions/index.php/public/presentations/view/161
Webアクセシビリティ
4
Webアクセシビリティとは
特定の環境に依存せず多くの環境からWebを
利用できる
5
多様なデバイス
タッチスクリーン
キーボードがないデバイス
キーボードしかないデバイス
音声入出力
電子ペーパー
6
一時的な制約
屋外で直射日光の下で使う場合(環境光)
音を出せない場合、音が聞こえない場合
けがや状況による制約
7
支援技術
スクリーンリーダー
画面拡大、ズーム機能
ハイコントラストモード
8
Webアクセシビリティの3つのポイ
ント
セマンティクス
様々なデバイス・環境でのインタラクション
代替コンテンツ
9
セマンティクス
マシン(ブラウザーや支援技術)がセマン
ティクスを理解
ユーザーの環境に合わせて情報・機能を提供
10
コンテン
ツ
ブラウザー
ユーザー
ブラウザー 支援技術
Web Components
11
Web Componentsとは
ページの構成要素をコンポーネントに
コンポーネントを組み合わせてページを構成
コンポーネント単位でカプセル化
12
13
https://www.polymer-project.org/docs/elements/paper-elements.html
14
http://gaia-components.github.io/gaia-components/
Web Componentsとア
クセシビリティ
15
Web Componentsとアクセシビリ
ティ
コンポーネント…機能や意味を切り出し
• 制作者はユーザーに提供したい情報を知っている
• ユーザーにきちんと伝えることが重要
16
コンポーネントのアクセシビリティ
が高ければ
使うだけで一定のアクセシビリティを確保
コンポーネント利用時に頑張る必要がない
17
コンポーネントのアクセシビリティ
が低ければ
使うだけで全体の質が低下
コンポーネント利用時に頑張る余地がない
18
Web Componentsでは…
コンポーネントのアクセシビリティが重要
• アクセシビリティの高いコンポーネントを選ぶ
• アクセシビリティの高いコンポーネントを作る
19
Web Componentsのア
クセシビリティ
20
Web Componentsのアクセシビリ
ティ
アクセシビリティの基本は一緒
21
https://www.polymer-project.org/articles/accessible-web-components.html
22
キーボードだけでも使えるか?
代替コンテンツやセマンティクスは大丈夫か?
色だけに依存してないか?
動いたり点滅したりするものは止められるか?
(大意)
https://www.polymer-project.org/articles/accessible-web-components.html
23
Web Componentsのアクセシビリ
ティにおける技術的な特徴
セマンティクスの指定方法
24
例
HTMLネイティブ:<progress>
良くない例:<gaia-progress>
良い例:<paper-progress>
25
視覚的に伝えてる情報は同じでも…
マシンがセマンティクスを読み取れる
• HTMLネイティブ
• 良い例
セマンティクスを読み取れない
• 良くない例
26
Web Componentsでセマンティクス
を指定
Custom Elements
Shadow DOM
27
Custom Elements
http://www.w3.org/TR/custom-elements/
28
Custom Elementsとは
既存要素の拡張
• <button is="xxx-yyy"></button>
• document.createElement("button", "xxx-yyy");
独自要素の定義
• <xxx-yyy></xxx-yyy>
• document.createElement("xxx-yyy");
29
Custom Elementsでセマンティクス
を指定
既存要素の拡張
• 既存要素のセマンティクスを継承
独自要素の定義
• Shadow DOM
30
既存要素の拡張
セマンティクスは既存要素から継承される
基本的に開発者が何かを行う必要はない
<button is="xxx-yyy">
<button> セマンティクス:ボタン
セマンティクス:ボタン
31
例:Google ChromeのDeveloper
Tools
<button is="text-button">
• セマンティクスはbutton要素のまま
32
独自要素の定義
Shadow DOMを使う
33
Shadow DOM
http://www.w3.org/TR/shadow-dom/
34
Shadow DOMとは
ページのDOMツリーとは切り離された
要素独自のDOMツリー(Shadow Tree)
• element.createShadowRoot();
35
Shadow DOMの例
36
https://simon.html5.org/presentations/foms-2012/
動画部分: © Copyright 2006, Blender Foundation / Netherlands Media Art Institute / www.elephantsdream.org
Shadow DOMの合成ツリー
ページの内容:もともとのDOMとShadow
DOMを合成したツリー(合成ツリー)
37
http://www.w3.org/TR/shadow-dom
Shadow DOMのセマンティクス
ブラウザー:合成ツリーを知っている
ブラウザー:支援技術に合成ツリーのセマン
ティクスを提供
開発者:合成ツリーにセマンティクスを提供
38
39
https://simon.html5.org/presentations/foms-2012/
動画部分: © Copyright 2006, Blender Foundation / Netherlands Media Art Institute / www.elephantsdream.org
Shadow DOMの例
Shadow DOMでセマンティクスを指
定
適切なHTML要素を使えるのであれば、その要
素を利用
適切なHTML要素が使えなければ、WAI-ARIA
で補足
40
適切なHTML要素を使える場合
41
適切なHTML要素が使えない場合
WAI-ARIAを利用
42
WAI-ARIA
43
http://momdo.github.io/wai-aria/
WAI-ARIAとは
WAI: Web Accessibility Initiative
• W3C WAIが標準化
ARIA: Accessible Rich Internet Applications
• Webアプリケーションをよりアクセシブルに
44
WAI-ARIAのセマンティクス
ロール:role属性
• 要素の種類
• ≒HTMLの要素型
ステート・プロパティ:aria-*属性
• 要素の状態や性質
• ≒HTMLの属性
45
例:プログレスバー
ロール:
• progressbar
プロパティ:
• aria-valuemin:最小値
• aria-valuemax:最大値
• aria-valuenow:進捗を表す数値
• aria-valuetext:進捗を表すテキスト
46
http://momdo.github.io/wai-aria/roles#progressbar
47
例:プログレスバー:マークアップ
48
<div role="progressbar"
aria-valuemin="0"
aria-valuemax="100"
aria-valuenow="0"></div>
例:プログレスバー:更新時
値が変わったとき
• aria-valuenowを更新
進捗率が不明な場合
• aria-valuenow属性を指定しない
49
例:プログレスバー:更新したマー
クアップ
50
<div role="progressbar"
aria-valuemin="0"
aria-valuemax="100"
aria-valuenow="50"></div>
良い例
51
良くない例
52
良くない例を修正した例
53
良くない例を修正した例
54
良くない例(修正済):<gaia-progress>
まとめ
55
Web Componentsとアクセシビリ
ティ
コンポーネント単位でアクセシビリティを確
保しやすくなる可能性
アクセシビリティの品質を維持・管理しやす
くなる可能性
56
Web Componentsのアクセシビリ
ティ
本質的にはWeb Componentsを使わない場合
と同じ
Custom ElementsやShadow DOMを使用する
際は、セマンティクスをお忘れなく
57
Web Componentsのアクセシビリ
ティ?
Web Componentsでアクセシビリティ!
58
アンケートのお願い
http://bit.ly/html5C201501
59

More Related Content

What's hot

AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAkihiro Kuwano
 
分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方Recruit Lifestyle Co., Ltd.
 
webエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのrediswebエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのredisnasa9084
 
Jenkinsとamazon ecsで コンテナCI
Jenkinsとamazon ecsで コンテナCIJenkinsとamazon ecsで コンテナCI
Jenkinsとamazon ecsで コンテナCIshigeyuki azuchi
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)Trainocate Japan, Ltd.
 
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)NTT DATA Technology & Innovation
 
IoT向けプラットフォーム「SORACOM」とは? 他2本
IoT向けプラットフォーム「SORACOM」とは? 他2本IoT向けプラットフォーム「SORACOM」とは? 他2本
IoT向けプラットフォーム「SORACOM」とは? 他2本SORACOM,INC
 
Amazon SageMakerでカスタムコンテナを使った学習
Amazon SageMakerでカスタムコンテナを使った学習Amazon SageMakerでカスタムコンテナを使った学習
Amazon SageMakerでカスタムコンテナを使った学習西岡 賢一郎
 
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話Yuta Shimada
 
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design PatternAWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design PatternAmazon Web Services Japan
 
AWS Black Belt Techシリーズ AWS Direct Connect
AWS Black Belt Techシリーズ AWS Direct ConnectAWS Black Belt Techシリーズ AWS Direct Connect
AWS Black Belt Techシリーズ AWS Direct ConnectAmazon Web Services Japan
 
AWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct ConnectAWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct ConnectAmazon Web Services Japan
 
初心者向けインターネットの仕組みと8/25の障害についての説明
初心者向けインターネットの仕組みと8/25の障害についての説明初心者向けインターネットの仕組みと8/25の障害についての説明
初心者向けインターネットの仕組みと8/25の障害についての説明Ken SASAKI
 
やまさん と Microsoft Power Apps 入門しよう!
やまさん と Microsoft Power Apps 入門しよう!やまさん と Microsoft Power Apps 入門しよう!
やまさん と Microsoft Power Apps 入門しよう!Teruchika Yamada
 
AWSのセキュリティについて
AWSのセキュリティについてAWSのセキュリティについて
AWSのセキュリティについてYasuhiro Horiuchi
 
JenkinsとCodeBuildとCloud Buildと私
JenkinsとCodeBuildとCloud Buildと私JenkinsとCodeBuildとCloud Buildと私
JenkinsとCodeBuildとCloud Buildと私Shoji Shirotori
 
Python用ゲームエンジンPyxelで遊んでみた
Python用ゲームエンジンPyxelで遊んでみたPython用ゲームエンジンPyxelで遊んでみた
Python用ゲームエンジンPyxelで遊んでみたHirofumi Watanabe
 
20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-Ray20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-RayAmazon Web Services Japan
 

What's hot (20)

AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方
 
webエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのrediswebエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのredis
 
Jenkinsとamazon ecsで コンテナCI
Jenkinsとamazon ecsで コンテナCIJenkinsとamazon ecsで コンテナCI
Jenkinsとamazon ecsで コンテナCI
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
 
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
 
IoT向けプラットフォーム「SORACOM」とは? 他2本
IoT向けプラットフォーム「SORACOM」とは? 他2本IoT向けプラットフォーム「SORACOM」とは? 他2本
IoT向けプラットフォーム「SORACOM」とは? 他2本
 
Amazon SageMakerでカスタムコンテナを使った学習
Amazon SageMakerでカスタムコンテナを使った学習Amazon SageMakerでカスタムコンテナを使った学習
Amazon SageMakerでカスタムコンテナを使った学習
 
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
 
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design PatternAWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
 
AWS Black Belt Techシリーズ AWS Direct Connect
AWS Black Belt Techシリーズ AWS Direct ConnectAWS Black Belt Techシリーズ AWS Direct Connect
AWS Black Belt Techシリーズ AWS Direct Connect
 
AWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct ConnectAWS Black Belt Online Seminar AWS Direct Connect
AWS Black Belt Online Seminar AWS Direct Connect
 
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
 
初心者向けインターネットの仕組みと8/25の障害についての説明
初心者向けインターネットの仕組みと8/25の障害についての説明初心者向けインターネットの仕組みと8/25の障害についての説明
初心者向けインターネットの仕組みと8/25の障害についての説明
 
やまさん と Microsoft Power Apps 入門しよう!
やまさん と Microsoft Power Apps 入門しよう!やまさん と Microsoft Power Apps 入門しよう!
やまさん と Microsoft Power Apps 入門しよう!
 
AWSのセキュリティについて
AWSのセキュリティについてAWSのセキュリティについて
AWSのセキュリティについて
 
JenkinsとCodeBuildとCloud Buildと私
JenkinsとCodeBuildとCloud Buildと私JenkinsとCodeBuildとCloud Buildと私
JenkinsとCodeBuildとCloud Buildと私
 
Python用ゲームエンジンPyxelで遊んでみた
Python用ゲームエンジンPyxelで遊んでみたPython用ゲームエンジンPyxelで遊んでみた
Python用ゲームエンジンPyxelで遊んでみた
 
20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-Ray20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-Ray
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 

Viewers also liked

Polymerで作る次世代ウェブサイト
Polymerで作る次世代ウェブサイトPolymerで作る次世代ウェブサイト
Polymerで作る次世代ウェブサイトEiji Kitamura
 
Seminari PILE CCE 2012-13 sessió 4
Seminari PILE CCE 2012-13 sessió 4Seminari PILE CCE 2012-13 sessió 4
Seminari PILE CCE 2012-13 sessió 4rcastel7
 
Covelo castro, jesus Fête Gastronomique
Covelo castro, jesus  Fête GastronomiqueCovelo castro, jesus  Fête Gastronomique
Covelo castro, jesus Fête Gastronomiquekedougou
 
Seminari PILE CCE 2012-13 sessió 3
Seminari PILE CCE 2012-13 sessió 3Seminari PILE CCE 2012-13 sessió 3
Seminari PILE CCE 2012-13 sessió 3rcastel7
 
Pioneers of stop motion (done) 1
Pioneers of stop motion (done) 1Pioneers of stop motion (done) 1
Pioneers of stop motion (done) 1ecsmedia
 
Presentation tugasan 4
Presentation tugasan 4Presentation tugasan 4
Presentation tugasan 4Mohd Irwan
 
Self publishing and the academic library
Self publishing and the academic librarySelf publishing and the academic library
Self publishing and the academic libraryMichael Levine-Clark
 
Toachi Valley document
Toachi Valley documentToachi Valley document
Toachi Valley documentmarcsan
 
Niso ddLevine-Clark, Michael, “New forms of Discovery and Purchase in Librari...
Niso ddLevine-Clark, Michael, “New forms of Discovery and Purchase in Librari...Niso ddLevine-Clark, Michael, “New forms of Discovery and Purchase in Librari...
Niso ddLevine-Clark, Michael, “New forms of Discovery and Purchase in Librari...Michael Levine-Clark
 
Anlatim bozukluklar 1
Anlatim bozukluklar 1Anlatim bozukluklar 1
Anlatim bozukluklar 1Serkan Deniz
 
The build up
The build upThe build up
The build upecsmedia
 
Revision of the state aid broadband guidelines
Revision of the state aid broadband guidelinesRevision of the state aid broadband guidelines
Revision of the state aid broadband guidelinesgaalnorb
 
Highlights in the life of St. Anthony Mary Claret (for Claret School of Quezo...
Highlights in the life of St. Anthony Mary Claret (for Claret School of Quezo...Highlights in the life of St. Anthony Mary Claret (for Claret School of Quezo...
Highlights in the life of St. Anthony Mary Claret (for Claret School of Quezo...Arvin Lising
 
ADAPTACIÓ A L'ESCOLA P3 2011-2012
ADAPTACIÓ A L'ESCOLA P3 2011-2012ADAPTACIÓ A L'ESCOLA P3 2011-2012
ADAPTACIÓ A L'ESCOLA P3 2011-2012maribelcuevas
 

Viewers also liked (20)

Polymerで作る次世代ウェブサイト
Polymerで作る次世代ウェブサイトPolymerで作る次世代ウェブサイト
Polymerで作る次世代ウェブサイト
 
Ancillary tasks
Ancillary tasksAncillary tasks
Ancillary tasks
 
Cambridgeshire Community Archives Network
Cambridgeshire Community Archives NetworkCambridgeshire Community Archives Network
Cambridgeshire Community Archives Network
 
Seminari PILE CCE 2012-13 sessió 4
Seminari PILE CCE 2012-13 sessió 4Seminari PILE CCE 2012-13 sessió 4
Seminari PILE CCE 2012-13 sessió 4
 
Covelo castro, jesus Fête Gastronomique
Covelo castro, jesus  Fête GastronomiqueCovelo castro, jesus  Fête Gastronomique
Covelo castro, jesus Fête Gastronomique
 
Seminari PILE CCE 2012-13 sessió 3
Seminari PILE CCE 2012-13 sessió 3Seminari PILE CCE 2012-13 sessió 3
Seminari PILE CCE 2012-13 sessió 3
 
Pioneers of stop motion (done) 1
Pioneers of stop motion (done) 1Pioneers of stop motion (done) 1
Pioneers of stop motion (done) 1
 
Presentation tugasan 4
Presentation tugasan 4Presentation tugasan 4
Presentation tugasan 4
 
Self publishing and the academic library
Self publishing and the academic librarySelf publishing and the academic library
Self publishing and the academic library
 
Toachi Valley document
Toachi Valley documentToachi Valley document
Toachi Valley document
 
Sn i sentits EAT (2016)
Sn i sentits EAT (2016)Sn i sentits EAT (2016)
Sn i sentits EAT (2016)
 
Niso ddLevine-Clark, Michael, “New forms of Discovery and Purchase in Librari...
Niso ddLevine-Clark, Michael, “New forms of Discovery and Purchase in Librari...Niso ddLevine-Clark, Michael, “New forms of Discovery and Purchase in Librari...
Niso ddLevine-Clark, Michael, “New forms of Discovery and Purchase in Librari...
 
Anlatim bozukluklar 1
Anlatim bozukluklar 1Anlatim bozukluklar 1
Anlatim bozukluklar 1
 
Evaluation
EvaluationEvaluation
Evaluation
 
The build up
The build upThe build up
The build up
 
Revision of the state aid broadband guidelines
Revision of the state aid broadband guidelinesRevision of the state aid broadband guidelines
Revision of the state aid broadband guidelines
 
EDILIM
EDILIMEDILIM
EDILIM
 
Highlights in the life of St. Anthony Mary Claret (for Claret School of Quezo...
Highlights in the life of St. Anthony Mary Claret (for Claret School of Quezo...Highlights in the life of St. Anthony Mary Claret (for Claret School of Quezo...
Highlights in the life of St. Anthony Mary Claret (for Claret School of Quezo...
 
ADAPTACIÓ A L'ESCOLA P3 2011-2012
ADAPTACIÓ A L'ESCOLA P3 2011-2012ADAPTACIÓ A L'ESCOLA P3 2011-2012
ADAPTACIÓ A L'ESCOLA P3 2011-2012
 
Instagram
InstagramInstagram
Instagram
 

Similar to Web Componentsのアクセシビリティ

オープンソースのアクセシビリティ・チェックツール
オープンソースのアクセシビリティ・チェックツールオープンソースのアクセシビリティ・チェックツール
オープンソースのアクセシビリティ・チェックツールToru MOCHIDA
 
Microservicesのdesign patterns
Microservicesのdesign patternsMicroservicesのdesign patterns
Microservicesのdesign patternsNaohiko Uramoto
 
Webアクセシビリティセミナー2:なぜ企業はWebアクセシビリティに取り組むのか?
Webアクセシビリティセミナー2:なぜ企業はWebアクセシビリティに取り組むのか?Webアクセシビリティセミナー2:なぜ企業はWebアクセシビリティに取り組むのか?
Webアクセシビリティセミナー2:なぜ企業はWebアクセシビリティに取り組むのか?Web Accessibility Infrastructure Committee (WAIC)
 
IE のままじゃダメなの? ~ Microsoft Edge のメリットとこれからを見据えた Web システム運用のテクニック ~
IE のままじゃダメなの? ~ Microsoft Edge のメリットとこれからを見据えた Web システム運用のテクニック ~IE のままじゃダメなの? ~ Microsoft Edge のメリットとこれからを見据えた Web システム運用のテクニック ~
IE のままじゃダメなの? ~ Microsoft Edge のメリットとこれからを見据えた Web システム運用のテクニック ~TAKUYA OHTA
 
MSC 2010 T2-1 クラウドで企業の PC 運用管理が変わる! Windows Intune (基本編)
MSC 2010 T2-1 クラウドで企業の PC 運用管理が変わる! Windows Intune (基本編)MSC 2010 T2-1 クラウドで企業の PC 運用管理が変わる! Windows Intune (基本編)
MSC 2010 T2-1 クラウドで企業の PC 運用管理が変わる! Windows Intune (基本編)kumo2010
 
Html5 conference 2013
Html5 conference 2013Html5 conference 2013
Html5 conference 2013Mitsue-Links
 
Chef, Ansible, Consul, … 自働化ツールとその組み合わせ方
Chef, Ansible, Consul, … 自働化ツールとその組み合わせ方Chef, Ansible, Consul, … 自働化ツールとその組み合わせ方
Chef, Ansible, Consul, … 自働化ツールとその組み合わせ方Yoshimi Tominaga
 
進化を続けるIBM Bluemix 最新情報(2015年3月)
進化を続けるIBM Bluemix 最新情報(2015年3月)進化を続けるIBM Bluemix 最新情報(2015年3月)
進化を続けるIBM Bluemix 最新情報(2015年3月)Noriyuki Egi
 
Dep009 ie のままじゃダメな
Dep009 ie のままじゃダメなDep009 ie のままじゃダメな
Dep009 ie のままじゃダメなTech Summit 2016
 
.NETラボ2021年9月 Blazorのカスタム認証を通じてDIの便利さを学ぶ
.NETラボ2021年9月 Blazorのカスタム認証を通じてDIの便利さを学ぶ.NETラボ2021年9月 Blazorのカスタム認証を通じてDIの便利さを学ぶ
.NETラボ2021年9月 Blazorのカスタム認証を通じてDIの便利さを学ぶTomomitsuKusaba
 
Visual Studio Online BUILD を本気で使いこなして品質&効率を劇的に上げる! [ Comm Tech Festival ] C-4
Visual Studio Online BUILD を本気で使いこなして品質&効率を劇的に上げる! [ Comm Tech Festival ] C-4Visual Studio Online BUILD を本気で使いこなして品質&効率を劇的に上げる! [ Comm Tech Festival ] C-4
Visual Studio Online BUILD を本気で使いこなして品質&効率を劇的に上げる! [ Comm Tech Festival ] C-4慎一 古賀
 
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?Akira Inoue
 
クラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampクラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampMasahiro NAKAYAMA
 
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望についてKen Azuma
 
高信頼性を確保するソフトウェア開発手法と実践 -組込み製品の潜在的価値を今以上に高めるために-
高信頼性を確保するソフトウェア開発手法と実践-組込み製品の潜在的価値を今以上に高めるために-高信頼性を確保するソフトウェア開発手法と実践-組込み製品の潜在的価値を今以上に高めるために-
高信頼性を確保するソフトウェア開発手法と実践 -組込み製品の潜在的価値を今以上に高めるために-Yoshio SAKAI
 
AppFabric ACS V2 による SSO
AppFabric ACS V2 による SSOAppFabric ACS V2 による SSO
AppFabric ACS V2 による SSOjunichi anno
 
安全なウェブサイトの作り方基礎編
安全なウェブサイトの作り方基礎編安全なウェブサイトの作り方基礎編
安全なウェブサイトの作り方基礎編Isamu Watanabe
 
2020/12/03 SaaS を正しい方向へ加速するフィードバックループ
2020/12/03 SaaS を正しい方向へ加速するフィードバックループ2020/12/03 SaaS を正しい方向へ加速するフィードバックループ
2020/12/03 SaaS を正しい方向へ加速するフィードバックループIssei Hiraoka
 
Web制作的に便利な機能満載!Microsoft Azureを使ってみよう
Web制作的に便利な機能満載!Microsoft Azureを使ってみようWeb制作的に便利な機能満載!Microsoft Azureを使ってみよう
Web制作的に便利な機能満載!Microsoft Azureを使ってみよう典子 松本
 

Similar to Web Componentsのアクセシビリティ (20)

なぜ企業はWebアクセシビリティに取り組むのか?
なぜ企業はWebアクセシビリティに取り組むのか?なぜ企業はWebアクセシビリティに取り組むのか?
なぜ企業はWebアクセシビリティに取り組むのか?
 
オープンソースのアクセシビリティ・チェックツール
オープンソースのアクセシビリティ・チェックツールオープンソースのアクセシビリティ・チェックツール
オープンソースのアクセシビリティ・チェックツール
 
Microservicesのdesign patterns
Microservicesのdesign patternsMicroservicesのdesign patterns
Microservicesのdesign patterns
 
Webアクセシビリティセミナー2:なぜ企業はWebアクセシビリティに取り組むのか?
Webアクセシビリティセミナー2:なぜ企業はWebアクセシビリティに取り組むのか?Webアクセシビリティセミナー2:なぜ企業はWebアクセシビリティに取り組むのか?
Webアクセシビリティセミナー2:なぜ企業はWebアクセシビリティに取り組むのか?
 
IE のままじゃダメなの? ~ Microsoft Edge のメリットとこれからを見据えた Web システム運用のテクニック ~
IE のままじゃダメなの? ~ Microsoft Edge のメリットとこれからを見据えた Web システム運用のテクニック ~IE のままじゃダメなの? ~ Microsoft Edge のメリットとこれからを見据えた Web システム運用のテクニック ~
IE のままじゃダメなの? ~ Microsoft Edge のメリットとこれからを見据えた Web システム運用のテクニック ~
 
MSC 2010 T2-1 クラウドで企業の PC 運用管理が変わる! Windows Intune (基本編)
MSC 2010 T2-1 クラウドで企業の PC 運用管理が変わる! Windows Intune (基本編)MSC 2010 T2-1 クラウドで企業の PC 運用管理が変わる! Windows Intune (基本編)
MSC 2010 T2-1 クラウドで企業の PC 運用管理が変わる! Windows Intune (基本編)
 
Html5 conference 2013
Html5 conference 2013Html5 conference 2013
Html5 conference 2013
 
Chef, Ansible, Consul, … 自働化ツールとその組み合わせ方
Chef, Ansible, Consul, … 自働化ツールとその組み合わせ方Chef, Ansible, Consul, … 自働化ツールとその組み合わせ方
Chef, Ansible, Consul, … 自働化ツールとその組み合わせ方
 
進化を続けるIBM Bluemix 最新情報(2015年3月)
進化を続けるIBM Bluemix 最新情報(2015年3月)進化を続けるIBM Bluemix 最新情報(2015年3月)
進化を続けるIBM Bluemix 最新情報(2015年3月)
 
Dep009 ie のままじゃダメな
Dep009 ie のままじゃダメなDep009 ie のままじゃダメな
Dep009 ie のままじゃダメな
 
.NETラボ2021年9月 Blazorのカスタム認証を通じてDIの便利さを学ぶ
.NETラボ2021年9月 Blazorのカスタム認証を通じてDIの便利さを学ぶ.NETラボ2021年9月 Blazorのカスタム認証を通じてDIの便利さを学ぶ
.NETラボ2021年9月 Blazorのカスタム認証を通じてDIの便利さを学ぶ
 
Visual Studio Online BUILD を本気で使いこなして品質&効率を劇的に上げる! [ Comm Tech Festival ] C-4
Visual Studio Online BUILD を本気で使いこなして品質&効率を劇的に上げる! [ Comm Tech Festival ] C-4Visual Studio Online BUILD を本気で使いこなして品質&効率を劇的に上げる! [ Comm Tech Festival ] C-4
Visual Studio Online BUILD を本気で使いこなして品質&効率を劇的に上げる! [ Comm Tech Festival ] C-4
 
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
レガシー Web からの脱却 ~ 開発者が次に目指すべき Web アプリの姿とは?
 
クラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampクラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccamp
 
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について
 
高信頼性を確保するソフトウェア開発手法と実践 -組込み製品の潜在的価値を今以上に高めるために-
高信頼性を確保するソフトウェア開発手法と実践-組込み製品の潜在的価値を今以上に高めるために-高信頼性を確保するソフトウェア開発手法と実践-組込み製品の潜在的価値を今以上に高めるために-
高信頼性を確保するソフトウェア開発手法と実践 -組込み製品の潜在的価値を今以上に高めるために-
 
AppFabric ACS V2 による SSO
AppFabric ACS V2 による SSOAppFabric ACS V2 による SSO
AppFabric ACS V2 による SSO
 
安全なウェブサイトの作り方基礎編
安全なウェブサイトの作り方基礎編安全なウェブサイトの作り方基礎編
安全なウェブサイトの作り方基礎編
 
2020/12/03 SaaS を正しい方向へ加速するフィードバックループ
2020/12/03 SaaS を正しい方向へ加速するフィードバックループ2020/12/03 SaaS を正しい方向へ加速するフィードバックループ
2020/12/03 SaaS を正しい方向へ加速するフィードバックループ
 
Web制作的に便利な機能満載!Microsoft Azureを使ってみよう
Web制作的に便利な機能満載!Microsoft Azureを使ってみようWeb制作的に便利な機能満載!Microsoft Azureを使ってみよう
Web制作的に便利な機能満載!Microsoft Azureを使ってみよう
 

More from Mitsue-Links Co.,Ltd. Accessibility Department

More from Mitsue-Links Co.,Ltd. Accessibility Department (17)

WCAG 2.2で追加される達成基準
WCAG 2.2で追加される達成基準WCAG 2.2で追加される達成基準
WCAG 2.2で追加される達成基準
 
Webアクセシビリティ向上のためのマインドセット変革
Webアクセシビリティ向上のためのマインドセット変革Webアクセシビリティ向上のためのマインドセット変革
Webアクセシビリティ向上のためのマインドセット変革
 
CSUN 2018 参加報告セミナー
CSUN 2018 参加報告セミナーCSUN 2018 参加報告セミナー
CSUN 2018 参加報告セミナー
 
Webと出版の融合で高まる情報アクセシビリティ向上への期待
Webと出版の融合で高まる情報アクセシビリティ向上への期待Webと出版の融合で高まる情報アクセシビリティ向上への期待
Webと出版の融合で高まる情報アクセシビリティ向上への期待
 
今さら聞けない!?Webアクセシビリティに取り組む理由
今さら聞けない!?Webアクセシビリティに取り組む理由今さら聞けない!?Webアクセシビリティに取り組む理由
今さら聞けない!?Webアクセシビリティに取り組む理由
 
WAI-ARIA珍プレー好プレー
WAI-ARIA珍プレー好プレーWAI-ARIA珍プレー好プレー
WAI-ARIA珍プレー好プレー
 
Webアクセシビリティ なぜ?どうやって?
Webアクセシビリティ なぜ?どうやって?Webアクセシビリティ なぜ?どうやって?
Webアクセシビリティ なぜ?どうやって?
 
アクセシビリティへの取り組みの歴史
アクセシビリティへの取り組みの歴史アクセシビリティへの取り組みの歴史
アクセシビリティへの取り組みの歴史
 
Webデザインにおけるアクセシビリティへの取組み
Webデザインにおけるアクセシビリティへの取組みWebデザインにおけるアクセシビリティへの取組み
Webデザインにおけるアクセシビリティへの取組み
 
Accessible Graphics for High Pixel Density Era
Accessible Graphics for High Pixel Density EraAccessible Graphics for High Pixel Density Era
Accessible Graphics for High Pixel Density Era
 
「10年後のWeb」のために、今すべきこと
「10年後のWeb」のために、今すべきこと「10年後のWeb」のために、今すべきこと
「10年後のWeb」のために、今すべきこと
 
Web制作者が知っておきたいアクセシビリティ最新動向
Web制作者が知っておきたいアクセシビリティ最新動向Web制作者が知っておきたいアクセシビリティ最新動向
Web制作者が知っておきたいアクセシビリティ最新動向
 
Webアクセシビリティの現状ダイジェスト 2014
Webアクセシビリティの現状ダイジェスト 2014Webアクセシビリティの現状ダイジェスト 2014
Webアクセシビリティの現状ダイジェスト 2014
 
Mobile and Accessibility - A Japanese Perspective
Mobile and Accessibility - A Japanese PerspectiveMobile and Accessibility - A Japanese Perspective
Mobile and Accessibility - A Japanese Perspective
 
Webアクセシビリティ
WebアクセシビリティWebアクセシビリティ
Webアクセシビリティ
 
Webアクセシビリティ 基本のキ
Webアクセシビリティ 基本のキWebアクセシビリティ 基本のキ
Webアクセシビリティ 基本のキ
 
アクセシビリティを加速するWAI-ARIA
アクセシビリティを加速するWAI-ARIAアクセシビリティを加速するWAI-ARIA
アクセシビリティを加速するWAI-ARIA
 

Web Componentsのアクセシビリティ

Editor's Notes

  1. Web Componentsでは、1度書いたコンポーネントが再利用されます。なので、コンポーネントのアクセシビリティが、そのアプリなりサイトなりのアクセシビリティに大きく影響してきます。そう、コンポーネントのアクセシビリティが重要です。この時重要になるのは、アクセシビリティが高い、良いコンポーネントを選ぶこと、もしくは、良いコンポーネントを作ることです。
  2. Web Componentsでは、1度書いたコンポーネントが再利用されます。なので、コンポーネントのアクセシビリティが、そのアプリなりサイトなりのアクセシビリティに大きく影響してきます。そう、コンポーネントのアクセシビリティが重要です。この時重要になるのは、アクセシビリティが高い、良いコンポーネントを選ぶこと、もしくは、良いコンポーネントを作ることです。
  3. もう少し噛み砕いてしゃべると もしコンポーネントのアクセシビリティが高ければ コンポーネントを使うだけで一定のアクセシビリティを確保します 一度良いものを作ってしまえば、コンポーネント利用時に頑張る必要がありません。
  4. ですが、コンポーネントのアクセシビリティが低ければ、使うだけで全体の質が低下します。既にコンポーネントとして出来上がっているので、コンポーネント利用時になんとかしかアクセシビリティを高める、ことも難しいでしょう。
  5. Web Componentsのアクセシビリティと言っていますが、基本的なアクセシビリティの考え方は変わりません。
  6. 例えば、GoogleのOsmaniiさんとBoxHallさんが書いているアクセシブルなWeb Componentsという記事を見てみましょう。
  7. この内容を見ると、キーボードだけでも使えるか、画像などに代替コンテンツが設定されているか、要素のセマンティクスは大丈夫か、であったり、色だけに依存していないか、動いたり点滅したりするものは、止められるか、といった内容が書かれています。 これはWeb Componentsに特化した内容というよりは、一般的なアクセシビリティの内容です。
  8. このようにアクセシビリティに関して取り組むべき内容がWeb Componentsになったからといって変わるわけではありませんが、取り組む方法、どういう技術をつかってどう実装するか、という点には、Web Componentsなりの特徴がでてきます。 Web Componentsで特に重要なのは、セマンティクスの指定方法です。Web Componentsを使う場合には、自分で作ったコンポーネントのセマンティクス、意味をユーザーにどうやって届ける方法を押さえておく必要があります。
  9. ここで実際の例を見てみましょう。 これから3つプログレスバーを見ていきます。1つはHTML5のprogress要素をそのまま使った場合、2つ目はPolymerのpaper-progressというコンポーネントを使った場合、3つ目はGaia Componentsのgaia-progressというコンポーネントを使った場合です。
  10. このように視覚的には、同じ情報を伝えていても、セマンティクス、意味が伝わっているものと伝わっていないものが存在します。 この違いは、どこにあるのでしょう? そして、どうすれば、良い例のように、Webb Componentsでもセマンティクスを伝えることができるでしょうか。
  11. Web Componentsでセマンティクスを指定する場合には、次の2つの技術が鍵になります。 Custom ElementsとShadow DOMです
  12. Custom Elements、これですね。W3Cで標準化が進んでおり、Editor’s DraftはGitHubで公開されています。
  13. このCustom Elementsでは、既存要素を拡張したり、独自要素を定義したりすることができます。どちらもregisterElementを使って、カスタムな要素を登録すると、その登録した要素がHTMLやDOMで使えます。拡張した名前、スライドではxxx-yyyになっていますが、-を1回以上含む必要があります(今のところ)。
  14. そして、この新しく作ったカスタムな要素にセマンティクスをどのように与えるか、ということですが、これは既存要素を拡張した場合いと、自分で新しく要素を定義し場合で異なります。 既存要素を拡張した場合には、拡張した要素は、拡張元である既存の要素からセマンティクスを継承します。 要素を自分で独自に定義する場合には、基本的にはShadow DOMを使うことになるでしょう。 ではそれぞれを見ていきましょう。 メモ:Custom Elementsの仕様にはCustom Elementsに直接WAI-ARIAを指定する方法が載っている
  15. 既存要素を拡張する場合は、拡張前の要素からセマンティクスが継承されるため、基本的に開発者が何か特別なことを行う必要はありません。 基本的に、と言っているのは、自分で拡張した要素のセマンティクスが拡張元のセマンティクスからかけ離れている場合には、セマンティクスを変更する必要があると思いますが、そういう場合は、ふつう拡張という方法をとらないでしょう。 ともあれ、button要素を拡張すると、button要素のセマンティクスが引き継がれます。なので、ボタンとして使っていれば、セマンティクスの問題は起きません。
  16. この拡張が使われている例には、Google ChromeのDeveloper Toolsがあります。 Developer Toolsのフロントエンド部分はHTMLとCSSとJavaScriptで書かれていますが、ここでは既存の要素を拡張したコンポーネントも使われています。 たとえば、テキストを含むボタンは<button is=“text-button”>、とbutton要素を拡張したものが使われています。 この要素のボタンとしてのセマンティクスは、支援技術に伝わっています。
  17. このように要素を拡張する場合は比較的簡単でしたが、自分で要素を定義する場合は、もう少し複雑です。 独自要素を定義する場合、ほとんどの場合はShadow DOMを使うと思います。
  18. Shadow DOMもW3Cによって標準化が進んでいますね。スライドにはWorking Draftのスクリーンショットを出していますが、こちらもGitHubでEditor’s Draftがでています。
  19. Shadow DOMとは、ページのDOMツリーから切り離された、要素独自のDOMツリーを定義するための技術です。
  20. このShadow DOMはブラウザーの中でも使われています。例えばGoogle ChromeやSafariのvideo要素のコントロールがShadow DOMを使って実装されているのは、良くしられています。 HTMLにはvideo要素しか記述されていなくても、ブラウザーは再生ボタンや時間のスライダーなどのUI部品や、キャプションを表示するための領域などを用意しなくてはなりません。ChromeやSafariではこれらはShadow DOMとして実装されています。
  21. Shadow DOMは
  22. このShadow DOMはブラウザーの中でも使われています。例えばGoogle ChromeやSafariのvideo要素のコントロールがShadow DOMを使って実装されているのは、良くしられています。 HTMLにはvideo要素しか記述されていなくても、ブラウザーは再生ボタンや時間のスライダーなどのUI部品や、キャプションを表示するための領域などを用意しなくてはなりません。ChromeやSafariではこれらはShadow DOMとして実装されています。
  23. 適切な要素を使える場合、例えばプログレスバーならばprogress要素を使えれば、そうしてください。そうすればブラウザーは適切なセマンティクスをユーザーに届けるでしょう。 プログレスバーの例で、実際にprogress要素を使うことはないと思いますが、例えば、見出しであったりリストであるならば、全部divとspanだけではなく、見出しやリストの要素を使う、という意味です。
  24. 実際には、さまざまな制約で適切な要素が使えない、ということもあると思います。 その場合は、WAI-ARIAを使ってセマンティクスを補うことを考えてみましょう
  25. WAI-ARIAもW3Cの仕様で、Editor’s DraftはGitHubで…