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
160
About VoiceOver
VoiceOverについて、実例とともにご紹介
coe
October 30, 2018
Tweet
Share
More Decks by coe
See All by coe
すべてのヘルスケアデータを紐解く.pdf
coe
0
2.5k
About HealthKit nutrition
coe
0
380
Kotlin Dynamic type
coe
0
320
iOSDC 2023 Web in tvOS and watchOS
coe
1
590
iOSDC 2023 Push To Talk
coe
1
1.8k
iOSDC手で触れずにアプリを動かす技術
coe
1
1.6k
iOSDC令和時代のXML処理を考える
coe
3
2.3k
iOSDC 2021 Restore
coe
6
1.9k
詳解Storyboard
coe
7
3.5k
Other Decks in Technology
See All in Technology
AIエージェント入門
minorun365
PRO
34
20k
30→150人のエンジニア組織拡大に伴うアジャイル文化を醸成する役割と取り組みの変化
nagata03
0
360
入門 PEAK Threat Hunting @SECCON
odorusatoshi
0
180
Pwned Labsのすゝめ
ken5scal
2
570
Qiita Organizationを導入したら、アウトプッターが爆増して会社がちょっと有名になった件
minorun365
PRO
1
350
OCI Success Journey OCIの何が評価されてる?疑問に答える事例セミナー(2025年2月実施)
oracle4engineer
PRO
2
220
Aurora PostgreSQLがCloudWatch Logsに 出力するログの課金を削減してみる #jawsdays2025
non97
1
250
EMConf JP 2025 懇親会LT / EMConf JP 2025 social gathering
sugamasao
2
210
DevinでAI AWSエンジニア製造計画 序章 〜CDKを添えて〜/devin-load-to-aws-engineer
tomoki10
0
220
株式会社Awarefy(アウェアファイ)会社説明資料 / Awarefy-Company-Deck
awarefy
3
12k
QAエンジニアが スクラムマスターをすると いいなぁと思った話
____rina____
0
170
アジャイルな開発チームでテスト戦略の話は誰がする? / Who Talks About Test Strategy?
ak1210
1
850
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Embracing the Ebb and Flow
colly
84
4.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
We Have a Design System, Now What?
morganepeng
51
7.4k
Facilitating Awesome Meetings
lara
53
6.3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
11
1.3k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
A better future with KSS
kneath
238
17k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
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