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.8k
Introduce_Owl.pdf
itome
0
89
Introducing Android Accessibility Test with Accessibility Testing Framework
itome
1
710
Introduction of accessibility for mobile development
itome
0
240
Architecture_for_mobile_development.pdf
itome
0
260
Android_Accessibility_Suite.pdf
itome
0
150
Introducing Owl
itome
0
1.1k
Migrate to Koin
itome
2
330
Use MVI Architecture in Kotlin × Android
itome
1
1.5k
Other Decks in Technology
See All in Technology
見てわかるテスト駆動開発
recruitengineers
PRO
5
380
あとはAIに任せて人間は自由に生きる
kentaro
3
1.1k
モダンな現場と従来型の組織——そこに生じる "不整合" を解消してこそチームがパフォーマンスを発揮できる / Team-oriented Organization Design 20250825
mtx2s
6
560
人を動かすことについて考える
ichimichi
2
330
.NET開発者のためのAzureの概要
tomokusaba
0
230
Goでマークダウンの独自記法を実装する
lag129
0
220
AIドリブンのソフトウェア開発 - うまいやり方とまずいやり方
okdt
PRO
9
630
Understanding Go GC #coefl_go_jp
bengo4com
0
1.1k
Browser
recruitengineers
PRO
4
360
Yahoo!広告ビジネス基盤におけるバックエンド開発
lycorptech_jp
PRO
1
280
攻撃と防御で実践するプロダクトセキュリティ演習~導入パート~
recruitengineers
PRO
2
220
Devinを使ったモバイルアプリ開発 / Mobile app development with Devin
yanzm
0
190
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
The Invisible Side of Design
smashingmag
301
51k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
Documentation Writing (for coders)
carmenintech
73
5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
900
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
The Cost Of JavaScript in 2023
addyosmani
53
8.8k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
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 塚本 武志