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.3k
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
84
Introducing Android Accessibility Test with Accessibility Testing Framework
itome
1
650
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
310
Use MVI Architecture in Kotlin × Android
itome
1
1.4k
Other Decks in Technology
See All in Technology
The Future of SEO: The Impact of AI on Search
badams
0
190
モノレポ開発のエラー、誰が見る?Datadog で実現する適切なトリアージとエスカレーション
biwashi
6
800
目の前の仕事と向き合うことで成長できる - 仕事とスキルを広げる / Every little bit counts
soudai
24
7.1k
リアルタイム分析データベースで実現する SQLベースのオブザーバビリティ
mikimatsumoto
0
1.3k
「海外登壇」という 選択肢を与えるために 〜Gophers EX
logica0419
0
700
ハッキングの世界に迫る~攻撃者の思考で考えるセキュリティ~
nomizone
13
5.2k
データの品質が低いと何が困るのか
kzykmyzw
6
1.1k
次世代KYC活動報告 / 20250219-BizDay17-KYC-nextgen
oidfj
0
250
飲食店予約台帳を支えるインタラクティブ UI 設計と実装
siropaca
7
1.7k
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
970
プロダクトエンジニア構想を立ち上げ、プロダクト志向な組織への成長を続けている話 / grow into a product-oriented organization
hiro_torii
0
150
Culture Deck
optfit
0
410
Featured
See All Featured
Making Projects Easy
brettharned
116
6k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Gamification - CAS2011
davidbonilla
80
5.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Being A Developer After 40
akosma
89
590k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Six Lessons from altMBA
skipperchong
27
3.6k
Code Review Best Practice
trishagee
67
18k
How to train your dragon (web standard)
notwaldorf
91
5.8k
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 塚本 武志