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
今日始め るCloudflare Browser Rendering
itome
1
260
Android accessibility and automated check tools
itome
1
4.9k
Introduce_Owl.pdf
itome
0
89
Introducing Android Accessibility Test with Accessibility Testing Framework
itome
1
720
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
340
Other Decks in Technology
See All in Technology
AI時代の発信活動 ~技術者として認知してもらうための発信法~ / 20251028 Masaki Okuda
shift_evolve
PRO
1
110
オブザーバビリティと育てた ID管理・認証認可基盤の歩み / The Journey of an ID Management, Authentication, and Authorization Platform Nurtured with Observability
kaminashi
1
1k
20251024_TROCCO/COMETAアップデート紹介といくつかデモもやります!_#p_UG 東京:データ活用が進む組織の作り方
soysoysoyb
0
120
会社を支える Pythonという言語戦略 ~なぜPythonを主要言語にしているのか?~
curekoshimizu
3
880
ラスベガスの歩き方 2025年版(re:Invent 事前勉強会)
junjikoide
0
420
生成AI時代のPythonセキュリティとガバナンス
abenben
0
140
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
0
380
Amazon Athena で JSON・Parquet・Iceberg のデータを検索し、性能を比較してみた
shigeruoda
1
150
ストレージエンジニアの仕事と、近年の計算機について / 第58回 情報科学若手の会
pfn
PRO
3
870
AI時代、“平均値”ではいられない
uhyo
8
2.6k
Okta Identity Governanceで実現する最小権限の原則 / Implementing the Principle of Least Privilege with Okta Identity Governance
tatsumin39
0
180
ヘンリー会社紹介資料(エンジニア向け) / company deck for engineer
henryofficial
0
400
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Building an army of robots
kneath
305
46k
How to Ace a Technical Interview
jacobian
280
24k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
640
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
930
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Documentation Writing (for coders)
carmenintech
75
5.1k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Six Lessons from altMBA
skipperchong
29
4k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
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 塚本 武志