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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Shota
August 22, 2024
Programming
1.2k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
フロントエンドのテストからアクセシビリティをしれっと広めていく
Shota
August 22, 2024
More Decks by Shota
See All by Shota
おじいちゃんに優しいUIをつくってみた
nano72mkn
2
2.1k
アクセシビリティを理解するとフロントエンドのテストが楽になる!
nano72mkn
1
4.4k
OpenAI APIを触ってみた
nano72mkn
0
1.3k
年末年始にFlutter入門
nano72mkn
0
350
Other Decks in Programming
See All in Programming
VibeCodingからAgenticWorkflowへ
starfish719
0
690
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
490
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
500
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
530
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.6k
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
1
140
引き算の組織 ― アウトカムとAIに全振りするために辞めたこと ― / Organization by Subtraction
hirokiyamamoto14
PRO
0
260
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.4k
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
340
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
250
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
150
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
580
Featured
See All Featured
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
420
Joys of Absence: A Defence of Solitary Play
codingconduct
1
440
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
440
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
570
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Fireside Chat
paigeccino
42
4k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Optimizing for Happiness
mojombo
378
71k
A Modern Web Designer's Workflow
chriscoyier
698
190k
We Have a Design System, Now What?
morganepeng
55
8.3k
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!