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
280
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.5k
React Nativeで開発するマルチプラットフォームアプリ
myb
3
370
Other Decks in Technology
See All in Technology
MySQLのあらたしいリリースモデル LTSとIR
sakaik
1
140
実践的なバグバウンティ入門
scgajge12
4
2.3k
標準ライブラリの奥深アップデートを掘り下げよう!
logica0419
2
430
RAGHack: Kickoff and RAG 101
pamelafox
0
270
PlaywrightによるE2Eテスト入門 / Introduction to E2E Testing with Playwright
rhumie
3
1k
標準最高!標準はださくないぞ! at fukuoka.ts #1
yoiwamoto
0
160
Datadog を使ったプロダクトとクラウドの セキュリティモニタリング
mrtc0
0
590
SAVEPOINT α版
savepoint
0
520
Dojo 20240830 COBOL to Java on Z
ichikawayasuhisa
0
250
Azure SQL Database Hyperscale HA レプリカの監視
sansantech
PRO
0
220
技術ブログや登壇資料を秒で作るコツ伝授します
minorun365
PRO
23
5.1k
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
2
170
Featured
See All Featured
Practical Orchestrator
shlominoach
185
10k
Design by the Numbers
sachag
277
19k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
25
2k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
663
120k
Being A Developer After 40
akosma
83
580k
Intergalactic Javascript Robots from Outer Space
tanoku
268
26k
Adopting Sorbet at Scale
ufuk
72
8.9k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
KATA
mclloyd
27
13k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
22
3.9k
Automating Front-end Workflow
addyosmani
1365
200k
Happy Clients
brianwarren
96
6.6k
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!