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
Recap Accessibility in WWDC 2019
Search
Masayuki Iwai
June 17, 2019
Technology
5
320
Recap Accessibility in WWDC 2019
「参加してなくてもついていけるもん!WWDCゴリゴリキャッチアップ会」で発表した内容です。
https://wwdc-gorilla.connpass.com/event/132144/
Masayuki Iwai
June 17, 2019
Tweet
Share
More Decks by Masayuki Iwai
See All by Masayuki Iwai
CodePushとReact Nativeで緊急OTAリリース!了解!🚑
myb
2
1.7k
React Nativeで開発するマルチプラットフォームアプリ
myb
3
390
Other Decks in Technology
See All in Technology
医療業界に特化した音声認識モデル構築のためのアノテーションの実態
thickstem
0
540
kotlin-lsp を Emacs で使えるようにしてみた / use kotlin-lsp in Emacs
nabeo
0
120
やさしい認証認可
minorun365
PRO
29
12k
Tensix Core アーキテクチャ解説
tenstorrent_japan
0
340
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
6.4k
Long journey of Continuous Delivery at Mercari
hisaharu
1
200
データベースの引越しを Ora2Pg でスマートにやろう
jri_narita
0
200
Tenstorrent 開発者プログラム
tenstorrent_japan
0
290
Test Smarter, Not Harder: Achieving Confidence in Complex Distributed Systems
eliasnogueira
1
160
バクラクのモノレポにおける AI Coding のための環境整備と {Roo,Claude} Code活用事例 / AI Coding in Bakuraku's Monorepo: Environment Setup & Case Studies with {Roo, Claude} Code
upamune
9
5.7k
Kotlinで学ぶ 代数的データ型
ysknsid25
5
1k
大失敗しないための Web API 開発レシピ / A recipe for not making a big failure on WebAPI development
yokawasa
1
260
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Scaling GitHub
holman
459
140k
Writing Fast Ruby
sferik
628
61k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
A designer walks into a library…
pauljervisheath
206
24k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Typedesign – Prime Four
hannesfritz
42
2.7k
How to Ace a Technical Interview
jacobian
276
23k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
Transcript
Recap Accessibility in WWDC 2019 Masayuki Iwai@myb #wwdc_rusuban
自己紹介 岩井雅幸@myb モバイル・アプリケーション・エンジニア at Unity Technologies Japan 以前はWebデザイン・開発、Flashコンテ ンツ制作、iOSアプリ、ゲーム制作など
著書に「uGUIではじめる Unity UIデザイン の教科書」。最近はもっぱらReact Native
Accessibility
None
None
None
Accessibility?
"Accessibility features help a wide range of people interact with
their devices. For many, accessibility is a necessity. For others, it is practicality." https://developer.apple.com/documentation/uikit/accessibility/
https://developer.apple.com/documentation/uikit/accessibility/
VoiceOver Color Inversion Large Text Zoom Magnifier Closed Captioning Visual
Notifications Haptic Notifications Type to Siri Switch Control Siri Assistive Touch Speak Screen Typing Feedback Safari Reader Full Keyboard Access Voice Control
None
Voice Control
None
Accessibility Element
Accessibility Element • isAccessibilityElement == true • UIKitの標準コントロールは デフォルトでtrue •
UIAccessibilityElement • accessibilityTraitsで要素の性質を 指定
Accessibility Label
Accessibility Label button.accessibilityLabel = NSLocalizedString("Add", comment: "")
Accessibility Label Button(action: {}) { Image("plus_sign") } .accessibility(label: Text(NSLocalizedString("Add", comment:
"")))
None
Accessibility Label • とにかくラベルを追加する! • ラベルには要素のタイプを含まないようにする • UIの変化に合わせてラベルも変える • コンテキストが伝わるラベルにする、ただし冗長すぎないように
• 意味のあるアニメーションにもラベルを追加する Writing Great Accessibility Labels • WWDC 2019 • Session 254
None
Accessibility Label • とにかくラベルを追加する! • ラベルには要素のタイプを含まないようにする • UIの変化に合わせてラベルも変える • コンテキストが伝わるラベルにする、ただし冗長すぎないように
• 意味のあるアニメーションにもラベルを追加する Writing Great Accessibility Labels • WWDC 2019 • Session 254
https://ja.wikipedia.org/wiki/小瀬川
Accessibility Label • とにかくラベルを追加する! • ラベルには要素のタイプを含まないようにする • UIの変化に合わせてラベルも変える • コンテキストが伝わるラベルにする、ただし冗長すぎないように
• 意味のあるアニメーションにもラベルを追加する Writing Great Accessibility Labels • WWDC 2019 • Session 254
None
UIAccessibilityCustomAction
UIAccessibilityCustomAction let action = UIAccessibilityCustomAction( name: "Custom", target: self, selector:
#selector(handleAction(_:)) ) @objc func handleAction(_ action: UIAccessibilityCustomAction) -> Bool { // Action return true } Making Apps More Accessible With Custom Actions • WWDC 2019 • Session 250
UIAccessibilityCustomAction let action = UIAccessibilityCustomAction( name: "Custom" ) { (customAction:
UIAccessibilityCustomAction) -> Bool in // Action return true } Making Apps More Accessible With Custom Actions • WWDC 2019 • Session 250 NEW
UIAccessibility
UIAccessibility static var isVideoAutoplayEnabled: Bool { get } static let
videoAutoplayStatusDidChangeNotification: NSNotification.Name Visual Design and Accessibility • WWDC 2019 • Session 244 NEW
UIAccessibility static var shouldDifferentiateWithoutColor: Bool { get } static let
differentiateWithoutColorDidChangeNotification: String Visual Design and Accessibility • WWDC 2019 • Session 244 NEW
Environment Overrides
More Information • Human Interface Guideline/Accessibility • UIKit Accessibility
More Information • Writing Great Accessibility Labels • WWDC 2019
• Session 254 • Making Apps More Accessible With Custom Actions • WWDC 2019 • Session 250 • Visual Design and Accessibility • WWDC 2019 • Session 244 • Accessibility Inspector • WWDC 2019 • Session 257 • Accessibility in SwiftUI • WWDC 2019 • Session 238
Thank you!