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
About VoiceOver
Search
coe
October 30, 2018
Technology
1
170
About VoiceOver
VoiceOverについて、実例とともにご紹介
coe
October 30, 2018
Tweet
Share
More Decks by coe
See All by coe
すべてのヘルスケアデータを紐解く.pdf
coe
0
2.8k
About HealthKit nutrition
coe
0
420
Kotlin Dynamic type
coe
0
350
iOSDC 2023 Web in tvOS and watchOS
coe
1
670
iOSDC 2023 Push To Talk
coe
1
2.1k
iOSDC手で触れずにアプリを動かす技術
coe
1
1.8k
iOSDC令和時代のXML処理を考える
coe
3
2.6k
iOSDC 2021 Restore
coe
6
2.1k
詳解Storyboard
coe
7
3.7k
Other Decks in Technology
See All in Technology
オブザーバビリティ文化を組織に浸透させるには / install observability culture
mackerelio
0
160
はじめての転職講座/The Guide of First Career Change
kwappa
5
4.4k
夏休みWebアプリパフォーマンス相談室/web-app-performance-on-radio
hachi_eiji
1
260
LLM 機能を支える Langfuse / ClickHouse のサーバレス化
yuu26
9
2.6k
ユーザー課題を愛し抜く――AI時代のPdM価値
kakehashi
PRO
1
140
Agent Development Kitで始める生成 AI エージェント実践開発
danishi
0
160
生成AIによるソフトウェア開発の収束地点 - Hack Fes 2025
vaaaaanquish
34
16k
九州の人に知ってもらいたいGISスポット / gis spot in kyushu 2025
sakaik
0
200
プロダクトエンジニアリングで開発の楽しさを拡張する話
barometrica
0
210
自治体職員がガバクラの AWS 閉域ネットワークを理解するのにやって良かった個人検証環境
takeda_h
0
300
ウォンテッドリーのアラート設計と Datadog 移行での知見
donkomura
0
150
薬屋のひとりごとにみるトラブルシューティング
tomokusaba
0
390
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
GraphQLとの向き合い方2022年版
quramy
49
14k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
We Have a Design System, Now What?
morganepeng
53
7.7k
4 Signs Your Business is Dying
shpigford
184
22k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
890
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Transcript
CopyrightɹR-learningɹInc. All Rights Reserved. !1 VoiceOver ʹ͍ͭͯޠΔ 2018/10/31 ڧ
ࣗݾհ 2 •ڧʢtsuyoshi hyugaʣ •@coffeegyunyu •iPhone(2009-) •Android(2010-) •Titanium •tvOS •גࣜձࣾΞʔϧϥʔχϯάʹͯओʹ
iPhoneɺAndroidͷडୗ։ൃΛ୲
VoiceOver 3 VoiceOver ͬͯԿʁ
VoiceOver 4 ΞϓϦέʔγϣϯͷϢʔβΠϯλʔϑΣΠ εΛઆ໌͠ɺԻͱαϯυΛ༻ͯ͠Ϣ ʔβʹΑΔΞϓ ϦέʔγϣϯͷϏϡʔ ͱίϯτϩʔϧͷҠಈΛࢧԉ͠·͢ɻ VoiceOverͱ iOSΞΫηγϏϦςΟ ϓϩάϥϛϯάΨΠυ
ΑΓൈਮ
VoiceOver 5 ςΩετಡΈ্͛ػೳ ࢹ֮తͳใʢςΩετɺը૾ɺetcʣΛԻ ͰಡΈ্͛Δػೳ ΞΫηγϏϦςΟͷҰछ
VoiceOver 6 ΞΫηγϏϦςΟ ྸମোͷ༗ແʹؔͳ͘ɺ୭Ͱ ඞཁͱ͢Δใʹ؆୯ʹͨͲΓண͚ɺར༻ Ͱ͖Δ ಡΈ্͛ɺࢹ֮αϙʔτͷͨΊͷػೳ
!7
!8
VoiceOver 9 ࿈ܞ͞Ε͍ͯΔΞϓϦ ݁ߏগͳ͍
VoiceOver 10 ྫɿγϣοϐϯάΞϓϦ Kaeru(ΧΤϧ) • UICollectionViewController • ηϧUIImageViewΛแ • ը૾ωοτϫʔΫ͔Βऔಘ
• ը૾ΫϦοΫͰৄࡉʹભҠ
VoiceOver 11 ྫɿγϣοϐϯάΞϓϦ Kaeru(ΧΤϧ) • ৄࡉͰɺങ͏Ϙλ ϯͱ͓ؾʹೖΓϘλϯ͕ ଘࡏ͢Δ Կͷมແ͍ γϣοϐϯάΞϓϦ
VoiceOver 12 VoiceOver ONʹ͢Δͱ͜͏ͳΔ
VoiceOver 13 1 ը૾Λλοϓͯ͠ɺϑϦο Ϋͯ͠ʹϑΥʔΧε ͕ͨΒͳ͍
VoiceOver 14 1 ը૾Λλοϓͯ͠ɺϑϦο Ϋͯ͠ʹϑΥʔΧε ͕ͨΒͳ͍ ങ͑ͳ͍ʂ
VoiceOver 15 1 ͦΕͧΕͷηϧͰɺ cell.imageView.isAccessibilityElement = true ͱ͢Δ͜ͱͰϑΥʔΧε͕ ͨΔΑ͏ʹͳΔ ങ͑Δʂ
VoiceOver 16 2 ʹϑΥʔΧεͯ͠ɺ ͦΕ͕Կͳͷ͔Θ͔Βͳ͍
VoiceOver 17 2 ͜ΕԿʁ ͦͦʁ ͦΕͱԿ͔ͷϘλϯʁ ʹϑΥʔΧεͯ͠ɺ ͦΕ͕Կͳͷ͔Θ͔Βͳ͍
VoiceOver 18 2 ը૾ͱಉ࣌ʹ໊औಘ͠ɺ cell.imageView.accessibilityLa bel ʹ໊Λઃఆ͢Δ Χόϯ
VoiceOver 19 2 cell.imageView.accessibilityTr aits = UIAccessibilityTraitImage ʹ͍ͯ͠Εɺը૾͔Β அͯ͠ಡΈ্͛ͯ͘ΕΔ (iOS11Ҏ্Ͱ3ຊࢦλον)
ࡒ গ͠΅͚ͨ ໌Δ͍
VoiceOver 20 3 ߪೖϘλϯʹϑΥʔΧεΛ ͯͨΒɺҙຯෆ໌ͳಡΈ ্͕͛ߦΘΕͨ ͥΖʹʔ͍ͪͪ͋ʔΔͼʔ ʹ͍ͪ Ϧιʔε໊(0218_rd2_buy_8)Λ ಡΜͰΔ
VoiceOver 21 3 ༰ʹΑͬͯʮൃԻෆೳʯ ͱಡΈ্͛ΒΕΔ ͓ͭΜ;ͷ͏
VoiceOver 22 3 ͜ΕͰങ͑ͳ͍ accessibilityLabelͷઃఆΛ Εͣʹʂ
VoiceOver 23 4 UILabelԿ͠ͳͯ͘ େৎʁ
VoiceOver 24 4 UILabelԿ͠ͳͯ͘ େৎʁ ΧΤϧͱ͍͏ΞϓϦΛμ ϯϩʔυͨͭ͠Γ͚ͩͲ ِͳͷ͔ͳʁ ͚Δʔ
VoiceOver 25 4 ΧΤϧ UILabelσϑΥϧτͰtextͷ ༰ΛಡΈ্͛Δ͕ ݻ༗໊ࢺͳͲɺҙਤ͠ͳ͍ಡ Έ্͛Λ͙ͨΊ accessibilityLabelͷઃఆݕ౼ ͠Α͏
VoiceOver 26 4 kɑ.e.ɾɯ.ɯ(ࠃࡍԻه߸) iOS11Ͱ͋Εɺ accessibilityAttributedLabel Λ༻͍ͯͷಡΈ্͛Մೳ let attributedString =
NSMutableAttributedString(string: ”Kaeru") attributedString.addAttribute( NSAttributedStringKey(rawValue: UIAccessibilitySpeechAttributeIPANotation), value: "kɑ.e.ɾɯ.ɯ", range: NSRange(location: 0, length: 5))
VoiceOver 27 4 ଟ͘ͷ߹ɺ ϒϥϯυ໊=ΞϓϦ໊ ͩͱࢥ͏ͷͰɺ plistʹ CFBundleSpokenNameͷઃఆ Εͣʹʂ ΧΤϧ
VoiceOver 28 ͓·͚ ͦͷ1 ϦπΠʔτΛߦ͏ ֤ίϯϙʔωϯτʹ accessibilityLabelઃఆࡁΈ ϦπΠʔτ
VoiceOver 29 ͓·͚ ͦͷ1 ηύϨʔλೝࣝͰ͖ͳ͍ ͨΊɺϦπΠʔτϘλϯ͕ɺ ʮԿʹରͯ͠ʯͷϦπΠʔ τ͔Θ͔Βͳ͍ ͜ͷϦπΠʔτϘλϯ ্ԼͲͬͪΛϦπΠʔτ͢Δͷʁ
VoiceOver 30 ͓·͚ ͦͷ1 վળҊͱͯ͠ɺ UITableViewCellશମͷΈ ΛΞΫηγϒϧʹͯ͠ɺϦ πΠʔτͷΞΫγϣϯη ϧબޙͷը໘Ͱߦ͏
VoiceOver 31 ͓·͚ ͦͷ1 ΞΫγϣϯΛߦ͏ؾ͕ͳ͍πΠʔ τͷϘλϯͷϑΥʔΧε ແ͘ͳΔͷͰɺ λΠϜϥΠϯӈϑϦοΫͰҠ ಈ͍͢͠
VoiceOver 32 ͓·͚ ͦͷ2 χϡʔεΞϓϦ χϡʔεݟग़͚ͩ͠ هࣄʹؔͯ͠Ϣʔβʔͷ ϩάΠϯ͕ඞཁ
VoiceOver 33 ͓·͚ ͦͷ2 χϡʔεΞϓϦ VoiceOverΛONʹ͢Δͱه ࣄʹϑΥʔΧε͕ͨΓɺه ࣄͷ༰͕ಡ·Εͯ͠·͏ →ϩάΠϯͷҙຯͳ͠
VoiceOver 34 ͓·͚ ͦͷ2 χϡʔεΞϓϦ ϩάΠϯͷ༗ແʹΑͬͯهࣄ ͷisAccessibilityElementͷ ঢ়ଶΛΓସ͑Δ͖ ΞΫηγϏϦςΟʹਖ਼͘͠ର Ԡ͠ͳ͍͜ͱɺҙਤ͠ͳ͍
ڍಈΛট͘͜ͱ͕͋Δ
VoiceOver 35 ·ͱΊ
VoiceOver 36 •iOSʹɺVoiceOverͱ͍͏ɺը໘ಡΈ্͛ ػೳ͕ඪ४Ͱଘࡏ͢Δ •ରԠ͞Ε͍ͯΔαʔϏε݁ߏগͳ͍ •VoiceOverʹରԠ͢Δʹઃܭ࣮͕ඞཁ •VoiceOverʹରԠ͢Δ͜ͱʮਖ਼͍͜͠ͱͰ ͋Δʯ ·ͱΊ
!37