SlideShare uma empresa Scribd logo
1 de 22
Micael Estrázulas (Jan/2015)
Vídeo: Acesso Digital
Navegando usando o DOSVOX
Diretrizes de Acessibilidade para
Conteúdo Web (WCAG) 2.0
 Perceptível
 Operável
 Compreensível
 Robusto
http://www.w3.org/Translations/WCAG20-pt-PT
Javascript e CSS
 Deve ser um PLUS não uma
necessidade
 Se o navegador por alguma limitação
(física, tecnológica ou robótica) não
possuir javascript?
Google
 Projeto de acessibilidade
 Evitar iFrames ou adicionar link com seu
conteúdo separadamente
 Desenvolver com melhorias
progressivas
 Siga as diretrizes
 Ajuda no posicionamento do site
 Robos se assemelham aos leitores de
telas
Imagine num contexto atual
 XHTML puro (sem CSS e sem 
Javascript)
Imagine num contexto atual
 XHTML + Javascript (sem CSS)
Imagine num contexto atual
 XHTML + CSS (sem Javascript)
Sem javascript?
 Software JAWS é pago
 DOSVox funciona praticamente em 
modo texto (sem javascript)
 Ser acessível é utilizar XHTML como 
base, CSS e Javascript como formas de 
melhorar experiência do usuário
Mas existe site moderno
acessível?
Mas existe site moderno
acessível?
Leitores de tela
 Leitor varre o código, cria um buffer e ao apertar
TAB ele navega neste buffer
 Código deve possuir o máximo de informações de
identificação:
 ALT nas imagens
 TITLE nos links
 Correta estruturação do HTML (h1,h2... ul, li, strong,
head, footer, etc)
 Correta ordenação dos elementos do HTML
(posicionamento das informações não apenas pelo CSS
mas também pelo código – primeiro menus, segundo
conteudo, etc)
 TABINDEX para ajudar na navegabilidade da tabulação
 Utilização de javascript não obstrutivo
 Semântica
Alguns leitores de tela (e o IE 6
que era complicado)
 DOSVOX (nacional, OpenSource, mais
utilizado no Brasil, não possui
Javascript)
 Orca (vem no Gnome do Linux)
 JAWS
 Virtual Vision
 IBM Via Voice
 NVDA
 ...
Javascript não obstrutivo
 Nunca, em nenhuma circunstância,
adicione Javascript diretamente no
documento.
 Javascript é um incremento, não uma
funcionalidade segura
 Verificando a disponibilidade de um objeto
antes de acessá-lo
 Crie Javascript, não dialetos de
navegadores específicos
 Não seqüestre variáveis de outros scripts
 Mantenha a independência do mouse
Exemplos
 O link aponta para a página sem AJAX:
<a href="index.php?f=1" id="fact">Generate random fact</a>.
 Caso possua Javascript, adiciona
evento de onClick para requisição
AJAX:
AJAX e Leitores de Tela
 Deve-se utilizar javascript não obstrutivo
 Tentar chamar sempre através de
formulários
 ‘’Avisar’’ o leitor que houve um
recarregamento da página (tabindex=-1)
 Não há um padrão entre os leitores desta
solução
Sugestões da comunidade
 Ao terminar a requisição AJAX adicionar
o foco no novo elemento
 Somente aceitam focus() os elementos
a, area, button, input, object, select e
textarea
Sugestões da comunidade
 Adicionar tabIndex = -1 nos elementos
 Não permitirá navegação via teclado
neste elemento
Informações
 Um site todo acessível pode trazer a
uma visibilidade perante a comunidade
 Estima-se que existam 16 milhões de
deficientes no Brasil (IBGE/2010)
 Um site acessível ajuda na indexação
de mecanismos de busca
 E é legal para a sociedade :)
Questionamentos:
 Qual o custo de não se utilizar AJAX?
 E o custo de se fazer AJAX não
obstrutivo?
 Qual a acessibilidade desejada?
 Por que não fazer acessível?
Fontes
 https://support.google.com/webmasters/answer/817
66?hl=pt-BR#
 http://domscripting.com/presentations/xtech2006/
 http://imasters.com.br/artigo/4298/javascript/tudo-
sobre-javascript-nao-obstrutivo-parte-01/
 http://www.maujor.com/tutorial/ajax-screen-
readers.php#structurecontent
 http://msdn.microsoft.com/pt-
br/magazine/cc507641.aspx
 http://pt.m.wikipedia.org/wiki/Leitor_de_tela
 http://acessibilidade.bento.ifrs.edu.br/arquivos/pdf/m
anual/manual-01-arquivo-01.pdf

Mais conteúdo relacionado

Mais procurados

Front-End do Século XXI.I
Front-End do Século XXI.IFront-End do Século XXI.I
Front-End do Século XXI.ILuiz Oliveira
 
ExtJS - Jumpstart para o Grupo DevRioClaro
ExtJS - Jumpstart para o Grupo DevRioClaroExtJS - Jumpstart para o Grupo DevRioClaro
ExtJS - Jumpstart para o Grupo DevRioClaroDaniel Da Cunha Bueno
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Daniel Makiyama
 
Dando vida ao sketch com Firebase
Dando vida ao sketch com FirebaseDando vida ao sketch com Firebase
Dando vida ao sketch com FirebaseGDGFoz
 
Instalando Drupal, Começando do Começo
Instalando Drupal, Começando do ComeçoInstalando Drupal, Começando do Começo
Instalando Drupal, Começando do Começosauloamui
 
Javascript a nova cara da web
Javascript a nova cara da webJavascript a nova cara da web
Javascript a nova cara da webVictor Barbosa
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScriptCarlos Eduardo Kadu
 
Apresentação AngularJS - Angular UI
Apresentação AngularJS - Angular UIApresentação AngularJS - Angular UI
Apresentação AngularJS - Angular UICecília Rosa
 
ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?Douglas Aguiar
 
AngularJS - Just Digital
AngularJS - Just DigitalAngularJS - Just Digital
AngularJS - Just DigitalJust Digital
 
Startuping user stories
Startuping user storiesStartuping user stories
Startuping user storiesFábio Santos
 

Mais procurados (18)

Aula07 - JavaScript
Aula07 - JavaScriptAula07 - JavaScript
Aula07 - JavaScript
 
Front-End do Século XXI.I
Front-End do Século XXI.IFront-End do Século XXI.I
Front-End do Século XXI.I
 
ExtJS - Jumpstart para o Grupo DevRioClaro
ExtJS - Jumpstart para o Grupo DevRioClaroExtJS - Jumpstart para o Grupo DevRioClaro
ExtJS - Jumpstart para o Grupo DevRioClaro
 
Java script
Java scriptJava script
Java script
 
T18_LM3: Ajax
T18_LM3: AjaxT18_LM3: Ajax
T18_LM3: Ajax
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
 
Dando vida ao sketch com Firebase
Dando vida ao sketch com FirebaseDando vida ao sketch com Firebase
Dando vida ao sketch com Firebase
 
Instalando Drupal, Começando do Começo
Instalando Drupal, Começando do ComeçoInstalando Drupal, Começando do Começo
Instalando Drupal, Começando do Começo
 
Acessibilidade na web
Acessibilidade na webAcessibilidade na web
Acessibilidade na web
 
Javascript a nova cara da web
Javascript a nova cara da webJavascript a nova cara da web
Javascript a nova cara da web
 
Java Script
Java ScriptJava Script
Java Script
 
Javascript para adultos
Javascript para adultosJavascript para adultos
Javascript para adultos
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Apresentação AngularJS - Angular UI
Apresentação AngularJS - Angular UIApresentação AngularJS - Angular UI
Apresentação AngularJS - Angular UI
 
Apresentação angular js
Apresentação angular jsApresentação angular js
Apresentação angular js
 
ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?ASP .NET MVC - Você esta pronto para a pílula vermelha?
ASP .NET MVC - Você esta pronto para a pílula vermelha?
 
AngularJS - Just Digital
AngularJS - Just DigitalAngularJS - Just Digital
AngularJS - Just Digital
 
Startuping user stories
Startuping user storiesStartuping user stories
Startuping user stories
 

Semelhante a Acessibilidade 2015

Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)Fabrício Catae
 
CóPia De Minicurso Smsi
CóPia De Minicurso SmsiCóPia De Minicurso Smsi
CóPia De Minicurso Smsitaniamaciel
 
Javascript levado a serio
Javascript levado a serioJavascript levado a serio
Javascript levado a serioJaydson Gomes
 
jQuery e ASP.Net MVC a dupla dinâmica
jQuery e ASP.Net MVC a dupla dinâmicajQuery e ASP.Net MVC a dupla dinâmica
jQuery e ASP.Net MVC a dupla dinâmicaVictor Cavalcante
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxMarceloRosenbrock1
 
FEMUG MGA #6 - Abandonando o jQuery
FEMUG MGA #6  - Abandonando o jQueryFEMUG MGA #6  - Abandonando o jQuery
FEMUG MGA #6 - Abandonando o jQueryJulio Vedovatto
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaAlexandre Tarifa
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento webRodrigo Rodrigues
 
Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)
Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)
Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)Evandro Klimpel Balmant
 
Desenvolvendo aplicações PHP, AJAX e YUI! Yahoo User Interface
Desenvolvendo aplicações PHP, AJAX e YUI! Yahoo User InterfaceDesenvolvendo aplicações PHP, AJAX e YUI! Yahoo User Interface
Desenvolvendo aplicações PHP, AJAX e YUI! Yahoo User InterfaceDomingos Teruel
 
Planejando interfaces Web acessíveis
Planejando interfaces Web acessíveisPlanejando interfaces Web acessíveis
Planejando interfaces Web acessíveisSimone Villas Boas
 
Desenvolvendo Aplicações com PHP, AJAX e YUI!
Desenvolvendo Aplicações com PHP, AJAX e YUI!Desenvolvendo Aplicações com PHP, AJAX e YUI!
Desenvolvendo Aplicações com PHP, AJAX e YUI!Manuel Lemos
 
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: JavascriptMódulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: JavascriptAgrupamento de Escolas da Batalha
 
Aprendendo e entendendo o ajax
Aprendendo e entendendo o ajaxAprendendo e entendendo o ajax
Aprendendo e entendendo o ajaxsonia carioca
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sitesthiagolima
 
Criando aplicações interativas sem complicações com React JS
Criando aplicações interativas sem complicações com React JSCriando aplicações interativas sem complicações com React JS
Criando aplicações interativas sem complicações com React JSCristiano Gonçalves
 

Semelhante a Acessibilidade 2015 (20)

Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)Microsoft Edge (Teched 2015)
Microsoft Edge (Teched 2015)
 
Conceitos de Ajax
Conceitos de AjaxConceitos de Ajax
Conceitos de Ajax
 
Minicurso Smsi
Minicurso SmsiMinicurso Smsi
Minicurso Smsi
 
CóPia De Minicurso Smsi
CóPia De Minicurso SmsiCóPia De Minicurso Smsi
CóPia De Minicurso Smsi
 
jQuery e ASP.Net mvc2
jQuery e ASP.Net mvc2jQuery e ASP.Net mvc2
jQuery e ASP.Net mvc2
 
Javascript levado a serio
Javascript levado a serioJavascript levado a serio
Javascript levado a serio
 
jQuery e ASP.Net MVC a dupla dinâmica
jQuery e ASP.Net MVC a dupla dinâmicajQuery e ASP.Net MVC a dupla dinâmica
jQuery e ASP.Net MVC a dupla dinâmica
 
Ajax
AjaxAjax
Ajax
 
Introdução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptxIntrodução ao desenvolvimento da web.pptx
Introdução ao desenvolvimento da web.pptx
 
FEMUG MGA #6 - Abandonando o jQuery
FEMUG MGA #6  - Abandonando o jQueryFEMUG MGA #6  - Abandonando o jQuery
FEMUG MGA #6 - Abandonando o jQuery
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 
Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)
Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)
Interfaces Ricas para WEB com jQuery e jQueryUI (User Interface)
 
Desenvolvendo aplicações PHP, AJAX e YUI! Yahoo User Interface
Desenvolvendo aplicações PHP, AJAX e YUI! Yahoo User InterfaceDesenvolvendo aplicações PHP, AJAX e YUI! Yahoo User Interface
Desenvolvendo aplicações PHP, AJAX e YUI! Yahoo User Interface
 
Planejando interfaces Web acessíveis
Planejando interfaces Web acessíveisPlanejando interfaces Web acessíveis
Planejando interfaces Web acessíveis
 
Desenvolvendo Aplicações com PHP, AJAX e YUI!
Desenvolvendo Aplicações com PHP, AJAX e YUI!Desenvolvendo Aplicações com PHP, AJAX e YUI!
Desenvolvendo Aplicações com PHP, AJAX e YUI!
 
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: JavascriptMódulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
 
Aprendendo e entendendo o ajax
Aprendendo e entendendo o ajaxAprendendo e entendendo o ajax
Aprendendo e entendendo o ajax
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 
Criando aplicações interativas sem complicações com React JS
Criando aplicações interativas sem complicações com React JSCriando aplicações interativas sem complicações com React JS
Criando aplicações interativas sem complicações com React JS
 

Acessibilidade 2015

  • 4. Diretrizes de Acessibilidade para Conteúdo Web (WCAG) 2.0  Perceptível  Operável  Compreensível  Robusto http://www.w3.org/Translations/WCAG20-pt-PT
  • 5. Javascript e CSS  Deve ser um PLUS não uma necessidade  Se o navegador por alguma limitação (física, tecnológica ou robótica) não possuir javascript?
  • 6. Google  Projeto de acessibilidade  Evitar iFrames ou adicionar link com seu conteúdo separadamente  Desenvolver com melhorias progressivas  Siga as diretrizes  Ajuda no posicionamento do site  Robos se assemelham aos leitores de telas
  • 7. Imagine num contexto atual  XHTML puro (sem CSS e sem  Javascript)
  • 8. Imagine num contexto atual  XHTML + Javascript (sem CSS)
  • 9. Imagine num contexto atual  XHTML + CSS (sem Javascript)
  • 10. Sem javascript?  Software JAWS é pago  DOSVox funciona praticamente em  modo texto (sem javascript)  Ser acessível é utilizar XHTML como  base, CSS e Javascript como formas de  melhorar experiência do usuário
  • 11. Mas existe site moderno acessível?
  • 12. Mas existe site moderno acessível?
  • 13. Leitores de tela  Leitor varre o código, cria um buffer e ao apertar TAB ele navega neste buffer  Código deve possuir o máximo de informações de identificação:  ALT nas imagens  TITLE nos links  Correta estruturação do HTML (h1,h2... ul, li, strong, head, footer, etc)  Correta ordenação dos elementos do HTML (posicionamento das informações não apenas pelo CSS mas também pelo código – primeiro menus, segundo conteudo, etc)  TABINDEX para ajudar na navegabilidade da tabulação  Utilização de javascript não obstrutivo  Semântica
  • 14. Alguns leitores de tela (e o IE 6 que era complicado)  DOSVOX (nacional, OpenSource, mais utilizado no Brasil, não possui Javascript)  Orca (vem no Gnome do Linux)  JAWS  Virtual Vision  IBM Via Voice  NVDA  ...
  • 15. Javascript não obstrutivo  Nunca, em nenhuma circunstância, adicione Javascript diretamente no documento.  Javascript é um incremento, não uma funcionalidade segura  Verificando a disponibilidade de um objeto antes de acessá-lo  Crie Javascript, não dialetos de navegadores específicos  Não seqüestre variáveis de outros scripts  Mantenha a independência do mouse
  • 16. Exemplos  O link aponta para a página sem AJAX: <a href="index.php?f=1" id="fact">Generate random fact</a>.  Caso possua Javascript, adiciona evento de onClick para requisição AJAX:
  • 17. AJAX e Leitores de Tela  Deve-se utilizar javascript não obstrutivo  Tentar chamar sempre através de formulários  ‘’Avisar’’ o leitor que houve um recarregamento da página (tabindex=-1)  Não há um padrão entre os leitores desta solução
  • 18. Sugestões da comunidade  Ao terminar a requisição AJAX adicionar o foco no novo elemento  Somente aceitam focus() os elementos a, area, button, input, object, select e textarea
  • 19. Sugestões da comunidade  Adicionar tabIndex = -1 nos elementos  Não permitirá navegação via teclado neste elemento
  • 20. Informações  Um site todo acessível pode trazer a uma visibilidade perante a comunidade  Estima-se que existam 16 milhões de deficientes no Brasil (IBGE/2010)  Um site acessível ajuda na indexação de mecanismos de busca  E é legal para a sociedade :)
  • 21. Questionamentos:  Qual o custo de não se utilizar AJAX?  E o custo de se fazer AJAX não obstrutivo?  Qual a acessibilidade desejada?  Por que não fazer acessível?
  • 22. Fontes  https://support.google.com/webmasters/answer/817 66?hl=pt-BR#  http://domscripting.com/presentations/xtech2006/  http://imasters.com.br/artigo/4298/javascript/tudo- sobre-javascript-nao-obstrutivo-parte-01/  http://www.maujor.com/tutorial/ajax-screen- readers.php#structurecontent  http://msdn.microsoft.com/pt- br/magazine/cc507641.aspx  http://pt.m.wikipedia.org/wiki/Leitor_de_tela  http://acessibilidade.bento.ifrs.edu.br/arquivos/pdf/m anual/manual-01-arquivo-01.pdf