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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Shota
August 22, 2024
Programming
3
1.1k
フロントエンドのテストからアクセシビリティをしれっと広めていく
Shota
August 22, 2024
Tweet
Share
More Decks by Shota
See All by Shota
おじいちゃんに優しいUIをつくってみた
nano72mkn
2
1.9k
アクセシビリティを理解するとフロントエンドのテストが楽になる!
nano72mkn
1
4.3k
OpenAI APIを触ってみた
nano72mkn
0
1.3k
年末年始にFlutter入門
nano72mkn
0
330
Other Decks in Programming
See All in Programming
「やめとこ」がなくなった — 1月にZennを始めて22本書いた AI共創開発のリアル
atani14
0
410
RAGでハマりがちな"Excelの罠"を、データの構造化で突破する
harumiweb
9
2.9k
CSC307 Lecture 14
javiergs
PRO
0
480
Claude Codeログ基盤の構築
giginet
PRO
7
3.5k
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
3
1.2k
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
310
Docコメントで始める簡単ガードレール
keisukeikeda
1
130
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
150
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
620
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
220
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
190
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
2
620
Featured
See All Featured
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
420
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
110
Abbi's Birthday
coloredviolet
2
5.5k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Prompt Engineering for Job Search
mfonobong
0
200
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
180
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
110
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
690
Optimising Largest Contentful Paint
csswizardry
37
3.6k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
140
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.5k
Transcript
フロントエンドのテストから アクセシビリティを"しれっと"広めていく 各社の事例から学ぶウェブアクセシビリティ 〜フロントエンドの最前線〜 2024/08/23 @nano72mkn
自己紹介 スターフェスティバル株式会社 フロントエンドエンジニア ポメラニアンを撫でながら仕事をしています! ゲーム好きです Apex VALORANT しょうた 🍊なつみかん @nano72mkn
01 アクセシビリティを広めるの難しい問題
アクセシビリティの重要性を伝えるのは 比較的簡単!
実際の対応となると話は別 技術的な複雑さ、専門的な知識、リソースの制約 など 様々な障壁が立ちはだかる
結果として、 「大切なことは分かっているけれど、なかなか手をつけられない」 という状況に陥る
そこで "しれっと"アプローチできないか を考えました。
"しれっと"アプローチ三箇条 心理的ハードルを最低限に 1. 学習コストを最低限に 2. 気づいたら貢献出来ている 3.
フロントエンドのテスト ならいけそう感
02 フロントエンドのテスト と アクセシビリティ
なぜ フロントエンドのテスト なのか
フロントエンドのテストツールには getByRoleという関数が存在している
役割 意味 <button type=”button”>ボタン</button> role属性について role属性はタグに や を示す
役割 意味 <button type=”button”>ボタン</button> <button type=”button” role=”button”>ボタン</button> role属性について role属性はタグに や
を示す
他にもあるよ!暗黙的なrole <a href=”~~~”>リンク</a> <h1>タイトル</h1> <input type=”text” /> link heading textbox
role属性を持っているタグを セマンティック要素 と呼ぶ
role属性を使って要素を取得するのが getByRole
それで、アクセシビリティとの関係性は?
getByRole とアクセシビリティとの関係性 スクリーンリーダーなどの支援技術はrole属性から どんな要素なのかをアナウンスしてくれます。 <button id=”lensSearchButton” class=”lensSearchButton” title=”画像で検索”/>
まとめると
role属性が付与されていれば getByRoleで要素を取得できる
role属性が付与されていれば 支援技術で要素を認識できる アクセシブルなUI
getByRoleで取得できる = アクセシブルなUIである
03 getByRoleを使った "しれっと"した アクセシビリティ改善
getByRoleの使い方
マイページ
role属性 accessible name マイページ
簡単ですよね!
送信
送信 role属性 accessible name
送信
送信
送信
getByRoleを使うことで、 自然とアクセシビリティを考慮した セマンティックなHTMLを使用するようになる
04 まとめ
getByRoleを使えば“しれっと”アプローチができる 心理的ハードルを最低限に getByRoleを使うだけ 学習コストを最低限に getByRoleの使い方を覚える role属性は使うやつだけ覚える 気づいたら貢献出来ている セマンティックなHTMLを書くことが促されて自然とアクセシブ ルなUIになっていく
注意点! アクセシビリティに疎くても貢献できる入門レベル アクセシビリティの項目を網羅することはできません
getByRoleをきっかけに アクセシビリティを “しれっと”広めていきましょう!
Thank You!