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
Accessibility in CATS
Search
itome
September 10, 2019
Technology
4
2.4k
Accessibility in CATS
itome
September 10, 2019
Tweet
Share
More Decks by itome
See All by itome
Android accessibility and automated check tools
itome
1
4.7k
Introduce_Owl.pdf
itome
0
86
Introducing Android Accessibility Test with Accessibility Testing Framework
itome
1
670
Introduction of accessibility for mobile development
itome
0
230
Architecture_for_mobile_development.pdf
itome
0
250
Android_Accessibility_Suite.pdf
itome
0
140
Introducing Owl
itome
0
1.1k
Migrate to Koin
itome
2
320
Use MVI Architecture in Kotlin × Android
itome
1
1.5k
Other Decks in Technology
See All in Technology
Cursor AgentによるパーソナルAIアシスタント育成入門―業務のプロンプト化・MCPの活用
os1ma
14
4.8k
YOLOv10~v12
tenten0727
4
960
CloudWatch 大好きなSAが語る CloudWatch キホンのキ
o11yfes2023
0
190
Dynamic Reteaming And Self Organization
miholovesq
3
540
プロダクト開発におけるAI時代の開発生産性
shnjtk
2
240
Writing Ruby Scripts with TypeProf
mame
0
170
DuckDB MCPサーバーを使ってAWSコストを分析させてみた / AWS cost analysis with DuckDB MCP server
masahirokawahara
0
1.3k
Porting PicoRuby to Another Microcontroller: ESP32
yuuu
4
430
Рекомендации с нуля: как мы в Lamoda превратили главную страницу в ключевую точку входа для персонализированного шоппинга. Данил Комаров, Data Scientist, Lamoda Tech
lamodatech
0
740
AWSの新機能検証をやる時こそ、Amazon Qでプロンプトエンジニアリングを駆使しよう
duelist2020jp
1
250
4/16/25 - SFJug - Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
2
110
アジャイル脅威モデリング#1(脅威モデリングナイト#8)
masakane55
3
220
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
336
57k
How GitHub (no longer) Works
holman
314
140k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
9
760
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.4k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
Optimizing for Happiness
mojombo
377
70k
Typedesign – Prime Four
hannesfritz
41
2.6k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Designing for humans not robots
tammielis
252
25k
GraphQLの誤解/rethinking-graphql
sonatard
71
10k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Transcript
CATS Android チームの アクセシビリティに関する 取り組み CA.apk #
⾃⼰紹介 https://twitter.com/itometeam https://github.com/itome https://itome.team . min 塚本武志 CyberAgent CATS
アクセシビリティって何? min
アクセシビリティって何? ⼀般にアクセシビリティとは、アクセスのしやすさを意味し ます。転じて、製品やサービスの利⽤しやすさという意味で も使われます。似た意味をもつ⾔葉にユーザビリティがあり ますが、アクセシビリティはユーザビリティより幅広い利⽤ 状況、多様な利⽤者を前提とします。 ウェブアクセシビリティ基盤委員会 (https://waic.jp/knowledge/accessibility/) min
アクセシビリティって何? ⼀般にアクセシビリティとは、アクセスのしやすさを意味し ます。転じて、製品やサービスの利⽤しやすさという意味で も使われます。似た意味をもつ⾔葉にユーザビリティがあり ますが、アクセシビリティはユーザビリティより幅広い利⽤ 状況、多様な利⽤者を前提とします。 ウェブアクセシビリティ基盤委員会 (https://waic.jp/knowledge/accessibility/) min
アクセシビリティって何? min アプリユーザーにはさまざまな属性がある ‧視覚に障害を抱えている⼈ ‧聴覚に障害を抱えている⼈ ‧ディスプレイの⾒⾟い屋外で使っている⼈ ‧スマホの操作に慣れていない⼈ ‧キーボードでアプリを操作している⼈ ‧etc ‧⼿が⼩さい⼈
/ ⼤きい⼈
アクセシビリティって何? min 様々なユーザーがアプリのすべての機能に (できるだけ簡単に)アクセスできること
アクセシビリティに 配慮することの意義 min
アクセシビリティに配慮することの意義 min 世界の⼈⼝の15%* が何らかの障害を抱えている → アクセシビリティに配慮することで、15%の潜在的 ユーザーに使ってもらえる可能性を広げられる * https://developer.android.com/guide/topics/ui/accessibility/index.html より
アクセシビリティに配慮することの意義 min 障害を持たないユーザーでも状況によって普段通りの操作が難しくなる → アクセシビリティに配慮することで、障害を持たない ユーザーにとっての使いやすさも向上する * https://developer.android.com/guide/topics/ui/accessibility/index.html より
開発者が気をつけるべきこと min
開発者が気をつけるべきこと min ヒューマンリーダビリティと マシンリーダビリティ https://speakerdeck.com/cybozuinsideout/ - -accessibility https://material.io/design/usability/accessibility.html
開発者が気をつけるべきこと min ヒューマンリーダビリティ すべての⼈が⾝体的に知覚‧理解‧操作できること ⽂字やアイコンの背景のコントラスト が低いと、コンテンツを判別しづらい
開発者が気をつけるべきこと min ヒューマンリーダビリティ すべての⼈が⾝体的に知覚‧理解‧操作できること ⽂字やアイコンの背景のコントラスト が低いと、コンテンツを判別しづらい
開発者が気をつけるべきこと min ヒューマンリーダビリティ すべての⼈が⾝体的に知覚‧理解‧操作できること エラーを⽰す⾚いラインを表⽰する だけでは、どう対応すればいいか 理解することができない
開発者が気をつけるべきこと min ヒューマンリーダビリティ すべての⼈が⾝体的に知覚‧理解‧操作できること エラーを⽰す⾚いラインを表⽰する だけでは、どう対応すればいいか 理解することができない
開発者が気をつけるべきこと min ヒューマンリーダビリティ すべての⼈が⾝体的に知覚‧理解‧操作できること ボタンのアイコンが⼩さい場合でも ⼗分なタッチ領域を確保する
開発者が気をつけるべきこと min マシンリーダビリティ コンテンツが機械によって解釈されうること レイアウトの適切なグルーピングに よって、コンテンツのまとまりを 機械が理解できる
開発者が気をつけるべきこと min マシンリーダビリティ コンテンツが機械によって解釈されうること アイコンにテキストによる説明が を追加することで、Talkbackなどに よる読み上げが可能になる
CATS Androidチームの取り組み min
CATS Androidチームの取り組み min 1⼈から始められること ‧⾃分で開発しているアプリを実際にTalkbackを オンにして⽬を瞑って使ってみる ‧ユーザー補助検証ツールを使って各画⾯のテストをしてみる ‧調べたこと、実践していることをドキュメントにまとめておく
CATS Androidチームの取り組み min 1⼈から始められること ‧ユーザー補助検証ツールを使って各画⾯のテストをしてみる 実機上で画⾯のスクリーンショット を取って⾃動的にテストしてくれる https://play.google.com/store/apps/details?id=com.google.android.apps.accessibility.auditor&hl=ja
CATS Androidチームの取り組み min チームで取り組んでいること ‧アクセシビリティの対応⽅針の統⼀ ‧conentDescriptionの命名規則の統⼀ ‧アクセシビリティに関する相互レビュー ‧Talkbackの挙動の統⼀(グルーピングなど)
CATS Androidチームの取り組み min アクセシビリティの⾃動テスト Android Test Framework for Androidを使ったUIテスト くわしくは
→ https://bit.ly/ iMw
CATS Androidチームの取り組み min アクセシビリティの⾃動テスト Android Test Framework for Androidを使ったUIテストのデメリット ‧テストのためにRobolectricを使ったUIテストを書く必要がある
‧画⾯を追加するたびに、Activityを表⽰→テストという コードの追加が必要 ‧テキストでしかエラーを確認できない
CATS Androidチームの取り組み min アクセシビリティの⾃動テスト
CATS Androidチームの取り組み min Google Play ConsoleのPre-launch report
CATS Androidチームの取り組み min Google Play ConsoleのPre-launch report ↑Test Labの結果からアクセシビリティのチェックをしているらしい
CATS Androidチームの取り組み min Test Labの出⼒ファイルを確認してみる 各画⾯のスクリーンショットの他に スクリーンショットに対応した “accessibility.meta” がある
CATS Androidチームの取り組み min Test Labの出⼒ファイルを確認してみる metaファイルの中⾝は不明なバイナリ ⾒た感じどうやらProtocolBufferのバイナリファイルっぽい ↓ ↓ もとのProtoファイルが不明なので復元できない
CATS Androidチームの取り組み min Android JetpackにAppCrawlerが追加される Firebase Test Labで使われているRoboテスト⽤のライブラリ ソースコードは公開されておらず、jarをダウンロードして利⽤
CATS Androidチームの取り組み min Android JetpackにAppCrawlerが追加される 配布されたjarファイルをデコンパイルしてみる Accessibility Test Frameworkがつかわれているらしい ↓
↓ Accessbility Test Frameworkのソースコードに含まれるprotoで metaファイルを復元できた
CATS Androidチームの取り組み min Android JetpackにAppCrawlerが追加される 復元したデータはテストの結果ではなく、テストを実⾏する前の View階層の抽象データ Accessibility Test Frameworkを使って復元したデータをテスト
↓ ↓ テスト結果をもとにimagemagickを使ってスクリーンショットに反映
CATS Androidチームの取り組み min
CATS Androidチームの取り組み min Firebase Test Labを使ったアクセシビリティテストのメリット ‧テストコードを書く必要がない ‧CIに組み込むことができる ‧グラフィカルに結果を確認できる
CATS Androidチームの取り組み min Fastlaneのプラグインとして使えるようにしました
まとめ min
まとめ min ‧CATS Androidチームはアクセシビリティ対応を進めています! ‧アクセシビリティ対応は1⼈でも始めることができる ‧Firebase Test Labを使った⾃動テストを導⼊することで ⼈がチェックするコストを減らすことができます
ありがとうございました https://twitter.com/itometeam https://github.com/itome https://itome.team 塚本 武志