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
Acessibilidade no iOS
Search
Gabriel Oliva
February 21, 2017
Programming
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Acessibilidade no iOS
Talk apresentada no 16º CocoaHeads BH.
Gabriel Oliva
February 21, 2017
More Decks by Gabriel Oliva
See All by Gabriel Oliva
TDC - Acessibilidade no iOS
gabrieloliva
0
71
RxSwift Basics
gabrieloliva
0
65
Abordando TDD no iOS
gabrieloliva
0
48
Other Decks in Programming
See All in Programming
FastAPI の並行処理モデルを完全に理解する
hoto17296
9
3.4k
KotlinConf Extended South Korea 2026 Keynote
l2hyunwoo
0
130
週末にAI-DLCを本気で回したら$1,600溶けた
hbashimizu
0
120
承認済みなのに差戻しできてしまうバグ、型で潰せます
shinchit
0
130
T3DD26: From RAGs to Riches
martinhelmich
0
130
【デモ】Kiroで体験する仕様駆動開発|設計からコーディングまでAIと進める開発フロー
cmkudo
0
550
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.5k
初めての模倣学習とVLA
natsutan
0
410
私のClaude Code活用法 (個人開発編) - PHPerKaigi mini #4(2026/08/24)
panda_program
1
200
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.8k
Cloudflare is Agents
chimame
0
190
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
3
460
Featured
See All Featured
How GitHub (no longer) Works
holman
316
150k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.1k
Git: the NoSQL Database
bkeepers
PRO
432
67k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
430
Documentation Writing (for coders)
carmenintech
77
5.5k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
490
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
520
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
570
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Building Adaptive Systems
keathley
44
3.2k
Transcript
Acessibilidade no iOS
Gabriel Oliva • ! Engenheiro de software @ CI&T •
" Batera; • # Mineiro que: • ☕ = % • & = ' • Co-organizador do CocoaHeads BH
[email protected]
@gabrieloliva_
Agenda • Acessibilidade no iOS • Importância da Acessibilidade nos
apps • Voice Over • Demo: implementando acessibilidade em um app
Acessibilidade no iOS
Funcionalidades de acessibilidade no iOS
Apple quebra as funcionalidades em 4 áreas
! ✋ # Aa
Hearing ! Made for iPhone Hearing Aids
Physical and motor skills ✋ AssistiveTouch
Physical and motor skills ✋ Touch Accommodations
Vision ! Display Accommodations
Vision ! Zoom
Vision ! VoiceOver
Learning Guided Access
Demo Guided Access
Learning Guided Access UIGuidedAccessRestrictionDelegate
Por que meu app tem que ser acessível?
! → "
!
! → "
!
! → "
! → "
99 Taxi
None
WTF??!
Por que meu app tem que ser acessível?
Porque pessoas com algum tipo de deficiência poderão utilizar seu
app!
VoiceOver
VoiceOver Uma aplicação é acessível quando todos os elementos são
acessíveis
VoiceOver Um elemento é acessível quando ele se autodenomina como
um elemento de acessibilidade
Porém somente se autodenominar como um elemento de acessibilidade não
é útil.
None
VoiceOver O elemento deve fornecer informações úteis e precisas para
que o VoiceOVer possa interagir com o usuário
Ok, mas como?
VoiceOver UIAccessibility
UIKit ♥ UIAccessibility
UIKit ! UIAccessibility
UIAccessibility Todos os objetos que implementam o protocolo relatam seus
status de acessibilidade quando acessíveis
UIAccessibilityContainer Permite que subclasses de UIView torne alguns ou todos
os objetos que ele contém acessíveis como elementos separados
UIAccessibilityContainer func accessibilityElementCount() func accessibilityElement(at: Int) func index(ofAccessibilityElement: Any) @available(iOS
8.0, *) var accessibilityElements: [Any]?
UIAccessibilityConstants.h
Atributos de acessibilidade
Atributos de acessibilidade Eu sirvo para algum propósito? var isAccessibilityElement:
Bool
Atributos de acessibilidade Qual meu nome? var accessibilityLabel: String?
Atributos de acessibilidade Qual a minha personalidade? var accessibilityTraits: UIAccessibilityTraits
Atributos de acessibilidade Qual o meu valor? var accessibilityValue: String?
None
Atributos de acessibilidade Como as pessoas deveriam interagir comigo? var
accessibilityHint: String?
Atributos de acessibilidade Onde eu estou? var accessibilityFrame: CGRect CGRect
UIAccessibilityConvertFrameToScreenCoordinates(CGRect rect, UIView *view);
Notificações de acessibilidade
Notificações de acessibilidade Você consegue postar notificações... func UIAccessibilityPostNotification(_ notification:
UIAccessibilityNotifications, _ argument: Any?)
Notificações de acessibilidade Você consegue escutar notificações... NotificationCenter.default.addObserver(self, selector: #selector(self.doSomething),
name: NSNotification.Name(rawValue: UIAccessibilityVoiceOverStatusChanged), object: nil)
API simples, ganho enorme...
DEMO
Perguntas?
Links úteis • Documentação: • UIAccessibility API Reference, Apple •
Posts: • UIAccessibility, NSHipster • iOS Accessibility Tutorial: Getting Started, Ray Wenderlich
Links úteis • WWDC • Auditing Your Apps for Accessibility,
WWDC 2016 - Session 407 - iOS, macOS, tvOS, watchOS • What's New in Accessibility, WWDC 2016 - Session 202 - iOS, macOS, tvOS
Obrigado !