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.9k
About HealthKit nutrition
coe
0
420
Kotlin Dynamic type
coe
0
360
iOSDC 2023 Web in tvOS and watchOS
coe
1
690
iOSDC 2023 Push To Talk
coe
1
2.1k
iOSDC手で触れずにアプリを動かす技術
coe
1
1.9k
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
Evolución del razonamiento matemático de GPT-4.1 a GPT-5 - Data Aventura Summit 2025 & VSCode DevDays
lauchacarro
0
210
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
130
新アイテムをどう使っていくか?みんなであーだこーだ言ってみよう / 20250911-rpi-jam-tokyo
akkiesoft
0
310
現場で効くClaude Code ─ 最新動向と企業導入
takaakikakei
1
250
Aurora DSQLはサーバーレスアーキテクチャの常識を変えるのか
iwatatomoya
1
1.1k
2つのフロントエンドと状態管理
mixi_engineers
PRO
3
110
テストを軸にした生き残り術
kworkdev
PRO
0
210
KotlinConf 2025_イベントレポート
sony
1
140
サラリーマンの小遣いで作るtoCサービス - Cloudflare Workersでスケールする開発戦略
shinaps
2
470
AIエージェント開発用SDKとローカルLLMをLINE Botと組み合わせてみた / LINEを使ったLT大会 #14
you
PRO
0
130
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
860
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
1.1k
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The Cult of Friendly URLs
andyhume
79
6.6k
The World Runs on Bad Software
bkeepers
PRO
70
11k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.1k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Embracing the Ebb and Flow
colly
87
4.8k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
13k
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