Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ウェブアクセシビリティ対応への課題と実践的な取り組み方
Search
wadeen
September 09, 2023
Technology
4
1k
ウェブアクセシビリティ対応への課題と実践的な取り組み方
ウェブアクセシビリティ対応への課題と実践的な取り組み方
#ジャムスタックチョットデキル
wadeen
September 09, 2023
Tweet
Share
Other Decks in Technology
See All in Technology
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
300
【若手エンジニア応援LT会】ソフトウェアを学んできた私がインフラエンジニアを目指した理由
kazushi_ohata
0
150
これまでの計測・開発・デプロイ方法全部見せます! / Findy ISUCON 2024-11-14
tohutohu
3
370
Why does continuous profiling matter to developers? #appdevelopercon
salaboy
0
190
サイバーセキュリティと認知バイアス:対策の隙を埋める心理学的アプローチ
shumei_ito
0
380
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
110
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.6k
Lambdaと地方とコミュニティ
miu_crescent
2
370
20241120_JAWS_東京_ランチタイムLT#17_AWS認定全冠の先へ
tsumita
2
250
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
220
障害対応指揮の意思決定と情報共有における価値観 / Waroom Meetup #2
arthur1
5
470
SREによる隣接領域への越境とその先の信頼性
shonansurvivors
2
520
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Become a Pro
speakerdeck
PRO
25
5k
Facilitating Awesome Meetings
lara
50
6.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Building an army of robots
kneath
302
43k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
The Invisible Side of Design
smashingmag
298
50k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Scaling GitHub
holman
458
140k
Transcript
ウェブアクセシビリティ対応への 課題と実践的な取り組み方
自己紹介 @wadeen_net わでぃん ‐ chot Inc. 所属(1月〜) ‐ Webフロントエンドエンジニア ‐
フルスタックにやりたい ‐ 鹿児島出身🌋 → 東京都在住🗼
今日話すこと フロントエンドエンジニア向けの内容
今日話すこと ✓対応できなかった場合の問題点が分かる ✓自分の理解度を確認することができる ✓コードの改善例を見てイメージができる ✓ウェブアクセシビリティを取り組む為のステップが分かる
今日話すこと _会社やチームで取り組むぞ!!_
今日話すこと chot社でもこれからやっていこうという段階
フロントエンドエンジニアの責務
フロントエンドエンジニアの責務 「どこまでやるのか?」は別問題 として切り分けて考える必要がある フロントエンドエンジニアの責務である ウェブアクセシビリティは
フロントエンドエンジニアの責務 - 出来ていること/出来ていないことが曖昧 - 無意識にやっていることも多い - そもそも何をやればいいのか分からない/気付かない - その先にどういう問題があるのかが分からない
ウェブアクセシビリティ向上のために 何をしていますか?
ウェブアクセシビリティ向上のために何をしていますか? 日常的にやってそうなこと ✓セマンティクスなHTMLタグの使用 ✓画像に代替テキスト(altタグ)を入れる ✓エラーメッセージの表示 ✓レスポンシブ対応(画像切替えやフォントサイズ調整)
ウェブアクセシビリティ向上のために何をしていますか? あまり出来ていなそうなこと ✓キーボード操作への配慮 ✓WAI-ARIAの使用 ✓動画や音声コンテンツの対応 ✓スクリーンリーダー/タブ操作での確認作業
ウェブアクセシビリティ向上のために何をしていますか? 本当にその対応であっていますか? さらに・・・
ウェブアクセシビリティ向上のために何をしていますか? ほとんどの原因は「知識不足」 知っていれば工数をかけずにできることがたくさんある!!
ウェブアクセシビリティ向上のために何をしていますか? 1⃣ 情報感度を高くしてキャッチアップ 2⃣ 実際に起こる問題を知る
ウェブアクセシビリティ向上のために何をしていますか? 1⃣ 情報感度を高くしてキャッチアップ 2⃣ 実際に起こる問題を知る
ウェブアクセシビリティ向上のために何をしていますか? ✓タブ操作ができずアクセスができない ✓画像の代替テキストが不適切なので内容が分からない ✓複雑なナビゲーションがあり使用が難しい ✓モバイル デバイスでの表示や操作が困難
事例紹介
事例紹介 Case01: 官公庁案件 Case02: コーポレートサイト
事例紹介 1⃣ WAI-ARIAを適切に使う 2⃣ スクリーンリーダー用のテキストを工夫する _Case01: 官公庁案件_
事例紹介 ロール (Role): 要素の役割 プロパティ (Property): 要素の特性 ステート (State): 要素の現在の状態
そもそもWAI-ARIA(ウェイアリア)とは・・・? _HTMLのセマンティクスを最大限活用し不足時のみ使用_ 一言で言うと、Webのアクセシビリティ向上のための技術のこと
事例紹介 今回の要件は、 - WCAG基準のレベルAAに準拠する - 一部、レベルAAAも対応可能な範囲で対応する _Case01: 官公庁案件_ ❶ WAI-ARIAを適切に使う
A:最低限 AA:推奨 AAA:最高レベル
事例紹介 2.1.3 キーボード(例外なし)の達成基準 2.4.8 現在位置の達成基準 3.2.5 要求による状況の変化の達成基準 レベルAAAの達成目標
事例紹介 _Case01: 官公庁案件_ `isMenuOpen`の状態を通知する ❶ WAI-ARIAを適切に使う
事例紹介 _Case01: 官公庁案件_ 現在のページをマシンに伝える ❶ WAI-ARIAを適切に使う
事例紹介 スクリーンリーダー用のテキストは、 WAI-ARIAだけじゃない _Case01: 官公庁案件_ ❷スクリーンリーダー用のテキスト ▶ 実際にスクリーンリーダーで聞いて確認する
事例紹介 _Case01: 官公庁案件_ すぐに本文に移動できるようにリンク追加 ❷スクリーンリーダー用のテキスト
事例紹介 _Case01: 官公庁案件_ アイコンの意味を読み上げる(case by case) ❷スクリーンリーダー用のテキスト
事例紹介 1⃣ 画像の代替テキストを適切に使う 2⃣ タブ操作できない場合に起こる問題を解消する _Case02: コーポレートサイト_
事例紹介 _Case02: コーポレートサイト_ ❶ 代替テキストの使用方法 説明が不十分 適切な代替テキストに変更
事例紹介 _Case02: コーポレートサイト_ ❶ 代替テキストの使用方法 view moreが何か分からない 詳しい遷移先を読み上げる
事例紹介 _Case02: コーポレートサイト_ ❷ タブ操作の問題を解消 ⚠タブ操作で開かない
事例紹介 _Case02: コーポレートサイト_ - 最初と最後の要素 - Tab key - Shift
key ❷ タブ操作の問題を解消
事例紹介 _Case02: コーポレートサイト_ Escapeで閉じる ❷ タブ操作の問題を解消 https://chot-inc.com/
事例紹介 _Case02: コーポレートサイト_ ❷ タブ操作の問題を解消 スクリーンリーダー/タブ操作を実際に行う ▶ チェックツールでは判別できないこともたくさんある
法律関係 障害者差別解消法 が改正 - 令和6年4月1日から施行 - 今までは国や地方自治体は「義務」/ 民間は「努力義務」 - 民間事業者も合理的配慮の提供が義務化
*Webアクセシビリティ対応が義務化されたわけではない
小さく取り組んでみよう!
小さく取り組んでみよう! 実際にチーム・会社でどう取り組んでいくかを考える
小さく取り組んでみよう! - アクセシビリティとは?ユーザビリティとは? - WAI-ARIAの説明と使い方 - スクリーンリーダーの使い方 / 過去案件を確認してもらう -
NotionにTipsや、aria属性のリスト化・テンプレート集を作成 - (e.g. タブパネルやアコーディオン、ハンバーガーメニュー) 社内で勉強会を開いた
小さく取り組んでみよう! - axeやMarkuplintの活用 - VSCodeやChromeの拡張機能 - ヘッドレスUIの導入 - 企業が公開しているチェックシート・ガイドラインの活用 -
社内のチェックシートの作成・社内基準を明確にする 🛠 仕組みを活用する
小さく取り組んでみよう! - チーム開発だと1人詳しくても成り立たない - 「ウェブアクセシビリティ」の解釈が違うことが多い 🤝 人を巻き込もう
小さく取り組んでみよう! - チーム開発だと1人詳しくても成り立たない - 「ウェブアクセシビリティ」の解釈が違うことが多い 🤝 人を巻き込もう 前提や温度感を近づけたい
小さく取り組んでみよう! - チーム開発だと1人詳しくても成り立たない - 「ウェブアクセシビリティ」の解釈が違うことが多い - 自分も分からないで全然OK!声をあげて取り組んでみる! - 基礎の基礎からでいいのでみんなで話す場を作る -
徐々に会社やチームで取り組む(Slackのチャンネルなど) - 継続が難しいので広げていく人を増やす 🤝 人を巻き込もう
- 問題を知る - 知識をつける - 声をあげてやってみる まとめ
ご静聴ありがとうございました!