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
Cybozu GoogleI/O 2022 LT会 - Input for all screens
Search
Jake
June 24, 2022
Programming
0
1.7k
Cybozu GoogleI/O 2022 LT会 - Input for all screens
Jake
June 24, 2022
Tweet
Share
Other Decks in Programming
See All in Programming
PostgreSQLで手軽にDuckDBを使う!DuckDB&pg_duckdb入門/osc25hi-duckdb
takahashiikki
0
230
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
470
Patterns of Patterns
denyspoltorak
0
400
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
690
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
540
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
510
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
8
3.5k
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
690
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
39
26k
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
240
Denoのセキュリティに関する仕組みの紹介 (toranoana.deno #23)
uki00a
0
200
脳の「省エネモード」をデバッグする ~System 1(直感)と System 2(論理)の切り替え~
panda728
PRO
0
130
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
200
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
0
980
Being A Developer After 40
akosma
91
590k
Heart Work Chapter 1 - Part 1
lfama
PRO
3
35k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
43
A Tale of Four Properties
chriscoyier
162
23k
The untapped power of vector embeddings
frankvandijk
1
1.5k
Ethics towards AI in product and experience design
skipperchong
1
150
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
100
Transcript
Input for all screens // あらゆる画面への入力 by Jake
Keyboard Mouse Pen
Touch以外の各Inputに合わせる 適切なアクセス方法をサポートする必要
「Jetpack Compose」から 多様な入力方法を実現するかについて
None
Implement accessibility for keyboards // キーボードの入力方法を実装する時の確認事項 Keyboard
キーボードの場合、 1. ショットカットを注意 2. 可能であれば、仮装キーボードだけじゃなくて、ハードウェアーも テスト Keyboard
Jetpack ComposeのEditTextは、CopyhPasteなどの基本的 なショットカットに対応 Keyboard
しかし、Ctrl+OなどをFile Open機能に対応する必要も https://youtu.be/XtImpP23uhE?t=319 Keyboard
そして、Enterキ⑲やEscapeキ⑲がよく作動するように対応する必要も https://youtu.be/XtImpP23uhE?t=350 Keyboard
Tab、→キーで画⾯内ナビゲーションが可能なことが⼀般的 Keyboard
キーボードナビゲーションの実装のための確認事項 1. ユーザーが必要なすべての要素にアクセス可能か 2. その要素が適切な順番で並んでいるか 3. そのナビゲーションが効果的か Keyboard
テスト キーボードナビゲーションの実装のための確認事項 1. ユーザーが必要なすべての要素にアクセス可能か 2. その要素が適切な順番で並んでいるか 3. そのナビゲーションが効果的か Keyboard
Tabで移動することは以下の修正で対応可能 https://youtu.be/XtImpP23uhE?t=525 Keyboard
ComposeならfocusPropertiesを利用して https://youtu.be/XtImpP23uhE?t=534 Keyboard
Implement accessibility for mouses // マウスの入力方法を実装する時の確認事項 Mouse
マウスの場合、 ホバーステートを考えてみましょう Mouse
マウスオーバーの時、 適切なレベルで対象を強調する必要 Mouse
ホーバーステートを適切に実装 https://youtu.be/XtImpP23uhE?t=636 Mouse
Composeなら、以下のhoverable modifierを使って実装可能! https://youtu.be/XtImpP23uhE?t=650 Mouse
Implement accessibility for stylus // スタイラスペンの入力方法を実装する時の確認事項 Pen
スタイラスペンを対応する? // スクロール、クリックがよくできるかを確認 // 描く、オブジェクトの移動などの機能は対応しなくても、 タッチやドラグする⾏動と同じように実装する必要 Pen
その以外にも 1. ファイルブラウザーなどを対応する場合は、 Drag & Dropを対応する必要 2. ビデオプレイヤーなどを対応する場合は、 キーボードのMultimediaキーを対応する必要 。。。
ユーザーインプット経験はUXの直接影響を上げます。 良い品質のため、適切な対応を通じて改善しましょう!
Reference https://io.google/2022/program/a55aec14-5bda-47e0-b259-7a1f7bb366b8/intl/ja/ ありがとうございます!