SlideShare uma empresa Scribd logo
Desenvolvedora Android
Somos Todos Acessíveis: práticas modernas de
acessibilidade no Android
Paula Rosa
http://www.slideshare.net/PaulaCarolinedaRosa/
somos-todos-acessiveis
Definindo Acessibilidade
• Qualidade do que é acessível, do que tem acesso. Facilidade,
possibilidade na aquisição, na aproximação.
Oferecer experiências semelhantes a todos
tipos de usuários
Definindo Acessibilidade
Acessibilidade = Experiência
“Se seu aplicativo possui uma boa acessibilidade, com
certeza a experiência estará boa também” (Rosa, Paula)
Acessibilidade deve ser parte do processo de desenvolvimento
Recursos de Acessibilidade
Talkback Switch access Brailleback
Voice accessMagnificationConfigurações
Correção de Cor
Recursos de Acessibilidade - TalkBack
• é o recurso que mais precisa da atenção do desenvolvedor
• Mais utilizado
• Navega por cada elemento da tela, falando “estado + texto +
tipo de componente” —> “conectar botão”, “não selecionado,
lembrar senha, caixa de seleção"
Vídeo
Talkback
2 AÇÕES:
- perceber o muro
- desviar do muro
• Cada componente será falado pelo talkback (botões, listas, spinners, textos, imagens…);
• O usuário faz um mapeamento dos componentes e funcionalidades na mente;
• A partir disto ele pode então decidir as ações que deverá tomar
Talkback Gestures
Toque
simples (audio)
duplo (seleciona)
Swipe p/
cima e baixo
(fab)
Swipe duplo p/
cima ou baixo
(scroll)
Swipe p/
lados
troca foco
Atalhos
Back button Context Menu Home Screen Apps recentes Notificações
Talkback
• Dar significado aos componentes (nomear);
• Agrupar e Ordenar;
• Fornecer navegabilidade no app
• Facilitar o entendimento do usuário
Componentes com significado
ImageButton
ImageView
Checkbox
Talkback - Nomeando Imagens
android:importantForAcessibility="no" (API >= 16)
Talkback - Nomeando textos
Talkback - Agrupamento de Views
Talkback - EditText
Talkback - Live region
• Polite = Espera o talkback
terminar o áudio
• Assertive = interrompe o áudio
do talkback
• None = sem Feedback
Talkback
* Envia evento para talkback falar o componente
* Anuncia acessibilidade
API 16
CustomViews
Views que herdam
acessibilidade
CustomView
onDraw()
onMeasure()
Sobreescreve
os métodos:
Views que não
herdam
acessibilidade
Herda de View
Tratamento especial para CustomViews
• Enviar o evento
view.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
• Sobreescrever método dispatchPopulateAccessibilityEvent(AccessibilityEvent)
Ferramentas para checar acessibilidade
• Utilizando talkback
• Accessibility scanner
• Utilizando espresso
• Lint (Android Studio)
Accessibility Scanner
• Descrição de imagens
• Descrição repetida*
• Contraste de imagem
• Contraste de texto
• Não atende 100%
• Android Marshmallow
(6.0)
Item label com.duolingo:id/icon —>
This item may not have a label
readable by screen readers.
Image contrast com.duolingo:id/icon
—>The image's contrast ratio is 2,44.
This ratio is based on an estimated
foreground color of #FFFFFF and an
estimated background color of
#1CB0F6. Consider increasing this
ratio to 3,00 or greater.
Text contrast —> The item's text
contrast ratio is 2,38. This ratio is
based on an estimated foreground
color of #A8A8A8 and an estimated
background color of #FFFFFF.
Consider increasing this item's text
contrast ratio to 3,00 or greater.
Testes com Espresso
• Testar se o componente possui contentDescription
• Testar se o componente possui contentDescription correta
Checagem com Lint
Dicas Marotas
Cuidado Redobrado - telas com banners,
transparência, tutoriais.
Vibração — Explorar vibração para ações do app e
notificações
Atenção a componentes de duplo estado - toogles,
switches (…)
Mais informação - Textos informativos que
expliquem como interagir com as funcionalidades
Busca por voz integrada - Pode ajudar bastante a
usabilidade do app
Exemplos de apps que implementam acessibilidade (ou não)
Exemplos de apps que implementam acessibilidade (ou não)
Acessibilidade no Twitter
Configurações > Imagem e Som >
Acessibilidade > Escrever Descrição das Imagens
Links úteis
• https://developer.android.com/guide/topics/ui/accessibility/index.html
• https://codelabs.developers.google.com/codelabs/basic-android-accessibility/
• http://www.slideshare.net/KellyShuster/android-accessibility-droidcon-london
• http://www.slideshare.net/7mary4/android-accessibility-39995456
• https://www.youtube.com/watch?v=euEsfNR5Zw4 (io 2015)
• https://www.youtube.com/watch?v=apEz73_H2fU (Voice Access)
• https://www.udacity.com/course/viewer#!/c-ud853/
• https://engineering.twitter.com/university/videos/accessibility-for-android-at-twitter
• https://github.com/paulacr/Acessibilidade #Acessibilidade
Contato
@_paulacr
paula.mecatronica@gmail.com
https://br.linkedin.com/in/paularosa
paula.rosa@concrete.com.br

Mais conteúdo relacionado

Semelhante a Somos todos acessiveis

Acessibilidade em CSS - ABC Dev
Acessibilidade em CSS - ABC DevAcessibilidade em CSS - ABC Dev
Acessibilidade em CSS - ABC Dev
Lucas J Silva
 
Flex e acessibilidade. Sim, é possível!
Flex e acessibilidade. Sim, é possível!Flex e acessibilidade. Sim, é possível!
Flex e acessibilidade. Sim, é possível!
Odair Seixas
 
Acessibilidade em CSS - Front in Sampa
Acessibilidade em CSS - Front in SampaAcessibilidade em CSS - Front in Sampa
Acessibilidade em CSS - Front in Sampa
Lucas J Silva
 
Portando sua aplicação web para iphone
Portando sua aplicação web para iphonePortando sua aplicação web para iphone
Portando sua aplicação web para iphone
Renato Nitta
 
Testes automatizados cp
Testes automatizados cpTestes automatizados cp
Testes automatizados cp
cesarvianna
 
Usability x Accessibility - 2008 (Portuguese, pt-BR)
Usability x Accessibility - 2008 (Portuguese, pt-BR)Usability x Accessibility - 2008 (Portuguese, pt-BR)
Usability x Accessibility - 2008 (Portuguese, pt-BR)
Leo Abdala
 
Android lollipop, o que há de novo?
Android lollipop, o que há de novo?Android lollipop, o que há de novo?
Android lollipop, o que há de novo?
Fernando Oliveira
 
Sites Acessíveis
Sites AcessíveisSites Acessíveis
Sites acessíveis
Sites acessíveisSites acessíveis
Sites acessíveis
aiadufmg
 
Usabilidade1
Usabilidade1Usabilidade1
Planejando interfaces Web acessíveis
Planejando interfaces Web acessíveisPlanejando interfaces Web acessíveis
Planejando interfaces Web acessíveis
Simone Villas Boas
 
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágilTodas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
Elias Nogueira
 
A Web para todos - Acessibilidade na web
A Web para todos  - Acessibilidade na webA Web para todos  - Acessibilidade na web
A Web para todos - Acessibilidade na web
Rogério Chiavegatti
 
Continuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na NuvemContinuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na Nuvem
Amazon Web Services LATAM
 
Acessibilidade - o mundo virtual também precisa
Acessibilidade - o mundo virtual também precisaAcessibilidade - o mundo virtual também precisa
Acessibilidade - o mundo virtual também precisa
Ruan Aragão
 
Javascript Cross-browser
Javascript Cross-browserJavascript Cross-browser
Javascript Cross-browser
Davidson Fellipe
 
Web acessível
Web acessívelWeb acessível
Web acessível
Mailson Queiroz
 
Treinamento básico de Android
Treinamento básico de AndroidTreinamento básico de Android
Treinamento básico de Android
Tiago Barreto
 
React Native - JSday
React Native - JSdayReact Native - JSday
React Native - JSday
Eric Cavalcanti
 
E mag desenvolvedor_mod_2
E mag desenvolvedor_mod_2E mag desenvolvedor_mod_2
E mag desenvolvedor_mod_2
Leo Serrao
 

Semelhante a Somos todos acessiveis (20)

Acessibilidade em CSS - ABC Dev
Acessibilidade em CSS - ABC DevAcessibilidade em CSS - ABC Dev
Acessibilidade em CSS - ABC Dev
 
Flex e acessibilidade. Sim, é possível!
Flex e acessibilidade. Sim, é possível!Flex e acessibilidade. Sim, é possível!
Flex e acessibilidade. Sim, é possível!
 
Acessibilidade em CSS - Front in Sampa
Acessibilidade em CSS - Front in SampaAcessibilidade em CSS - Front in Sampa
Acessibilidade em CSS - Front in Sampa
 
Portando sua aplicação web para iphone
Portando sua aplicação web para iphonePortando sua aplicação web para iphone
Portando sua aplicação web para iphone
 
Testes automatizados cp
Testes automatizados cpTestes automatizados cp
Testes automatizados cp
 
Usability x Accessibility - 2008 (Portuguese, pt-BR)
Usability x Accessibility - 2008 (Portuguese, pt-BR)Usability x Accessibility - 2008 (Portuguese, pt-BR)
Usability x Accessibility - 2008 (Portuguese, pt-BR)
 
Android lollipop, o que há de novo?
Android lollipop, o que há de novo?Android lollipop, o que há de novo?
Android lollipop, o que há de novo?
 
Sites Acessíveis
Sites AcessíveisSites Acessíveis
Sites Acessíveis
 
Sites acessíveis
Sites acessíveisSites acessíveis
Sites acessíveis
 
Usabilidade1
Usabilidade1Usabilidade1
Usabilidade1
 
Planejando interfaces Web acessíveis
Planejando interfaces Web acessíveisPlanejando interfaces Web acessíveis
Planejando interfaces Web acessíveis
 
Todas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágilTodas as abordagens de testes dentro do ágil
Todas as abordagens de testes dentro do ágil
 
A Web para todos - Acessibilidade na web
A Web para todos  - Acessibilidade na webA Web para todos  - Acessibilidade na web
A Web para todos - Acessibilidade na web
 
Continuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na NuvemContinuous Deployment e DevOps na Nuvem
Continuous Deployment e DevOps na Nuvem
 
Acessibilidade - o mundo virtual também precisa
Acessibilidade - o mundo virtual também precisaAcessibilidade - o mundo virtual também precisa
Acessibilidade - o mundo virtual também precisa
 
Javascript Cross-browser
Javascript Cross-browserJavascript Cross-browser
Javascript Cross-browser
 
Web acessível
Web acessívelWeb acessível
Web acessível
 
Treinamento básico de Android
Treinamento básico de AndroidTreinamento básico de Android
Treinamento básico de Android
 
React Native - JSday
React Native - JSdayReact Native - JSday
React Native - JSday
 
E mag desenvolvedor_mod_2
E mag desenvolvedor_mod_2E mag desenvolvedor_mod_2
E mag desenvolvedor_mod_2
 

Somos todos acessiveis

  • 1. Desenvolvedora Android Somos Todos Acessíveis: práticas modernas de acessibilidade no Android Paula Rosa http://www.slideshare.net/PaulaCarolinedaRosa/ somos-todos-acessiveis
  • 2. Definindo Acessibilidade • Qualidade do que é acessível, do que tem acesso. Facilidade, possibilidade na aquisição, na aproximação. Oferecer experiências semelhantes a todos tipos de usuários
  • 3. Definindo Acessibilidade Acessibilidade = Experiência “Se seu aplicativo possui uma boa acessibilidade, com certeza a experiência estará boa também” (Rosa, Paula) Acessibilidade deve ser parte do processo de desenvolvimento
  • 4. Recursos de Acessibilidade Talkback Switch access Brailleback Voice accessMagnificationConfigurações Correção de Cor
  • 5. Recursos de Acessibilidade - TalkBack • é o recurso que mais precisa da atenção do desenvolvedor • Mais utilizado • Navega por cada elemento da tela, falando “estado + texto + tipo de componente” —> “conectar botão”, “não selecionado, lembrar senha, caixa de seleção"
  • 7. Talkback 2 AÇÕES: - perceber o muro - desviar do muro • Cada componente será falado pelo talkback (botões, listas, spinners, textos, imagens…); • O usuário faz um mapeamento dos componentes e funcionalidades na mente; • A partir disto ele pode então decidir as ações que deverá tomar
  • 8. Talkback Gestures Toque simples (audio) duplo (seleciona) Swipe p/ cima e baixo (fab) Swipe duplo p/ cima ou baixo (scroll) Swipe p/ lados troca foco Atalhos Back button Context Menu Home Screen Apps recentes Notificações
  • 9. Talkback • Dar significado aos componentes (nomear); • Agrupar e Ordenar; • Fornecer navegabilidade no app • Facilitar o entendimento do usuário Componentes com significado ImageButton ImageView Checkbox
  • 10. Talkback - Nomeando Imagens android:importantForAcessibility="no" (API >= 16)
  • 14. Talkback - Live region • Polite = Espera o talkback terminar o áudio • Assertive = interrompe o áudio do talkback • None = sem Feedback
  • 15. Talkback * Envia evento para talkback falar o componente * Anuncia acessibilidade API 16
  • 16. CustomViews Views que herdam acessibilidade CustomView onDraw() onMeasure() Sobreescreve os métodos: Views que não herdam acessibilidade Herda de View
  • 17. Tratamento especial para CustomViews • Enviar o evento view.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED) • Sobreescrever método dispatchPopulateAccessibilityEvent(AccessibilityEvent)
  • 18. Ferramentas para checar acessibilidade • Utilizando talkback • Accessibility scanner • Utilizando espresso • Lint (Android Studio)
  • 19. Accessibility Scanner • Descrição de imagens • Descrição repetida* • Contraste de imagem • Contraste de texto • Não atende 100% • Android Marshmallow (6.0) Item label com.duolingo:id/icon —> This item may not have a label readable by screen readers. Image contrast com.duolingo:id/icon —>The image's contrast ratio is 2,44. This ratio is based on an estimated foreground color of #FFFFFF and an estimated background color of #1CB0F6. Consider increasing this ratio to 3,00 or greater. Text contrast —> The item's text contrast ratio is 2,38. This ratio is based on an estimated foreground color of #A8A8A8 and an estimated background color of #FFFFFF. Consider increasing this item's text contrast ratio to 3,00 or greater.
  • 20. Testes com Espresso • Testar se o componente possui contentDescription • Testar se o componente possui contentDescription correta
  • 22. Dicas Marotas Cuidado Redobrado - telas com banners, transparência, tutoriais. Vibração — Explorar vibração para ações do app e notificações Atenção a componentes de duplo estado - toogles, switches (…) Mais informação - Textos informativos que expliquem como interagir com as funcionalidades Busca por voz integrada - Pode ajudar bastante a usabilidade do app
  • 23. Exemplos de apps que implementam acessibilidade (ou não)
  • 24. Exemplos de apps que implementam acessibilidade (ou não)
  • 25. Acessibilidade no Twitter Configurações > Imagem e Som > Acessibilidade > Escrever Descrição das Imagens
  • 26. Links úteis • https://developer.android.com/guide/topics/ui/accessibility/index.html • https://codelabs.developers.google.com/codelabs/basic-android-accessibility/ • http://www.slideshare.net/KellyShuster/android-accessibility-droidcon-london • http://www.slideshare.net/7mary4/android-accessibility-39995456 • https://www.youtube.com/watch?v=euEsfNR5Zw4 (io 2015) • https://www.youtube.com/watch?v=apEz73_H2fU (Voice Access) • https://www.udacity.com/course/viewer#!/c-ud853/ • https://engineering.twitter.com/university/videos/accessibility-for-android-at-twitter • https://github.com/paulacr/Acessibilidade #Acessibilidade