acessibilidade na web - googlei/o sp

87
Acessibilidade na web Google I/O - SP 26 de junho de 2014 Reinaldo Ferraz @reinaldoferraz

Upload: reinaldo-ferraz

Post on 08-May-2015

275 views

Category:

Internet


5 download

DESCRIPTION

Palestra sobre acessibilidade na Web feita para o Google I/O em São Paulo

TRANSCRIPT

Page 1: Acessibilidade na Web - GoogleI/O SP

Acessibilidade na web

Google I/O - SP

26 de junho de 2014

Reinaldo Ferraz

@reinaldoferraz

Page 2: Acessibilidade na Web - GoogleI/O SP
Page 3: Acessibilidade na Web - GoogleI/O SP

http://premio.w3c.br/

Page 4: Acessibilidade na Web - GoogleI/O SP
Page 5: Acessibilidade na Web - GoogleI/O SP

Acessibilidade na Web: A quem se destina?

Page 6: Acessibilidade na Web - GoogleI/O SP

Cegos – Daltônicos - Baixa visão

Foto: everystockphoto.com - namida-k

Page 7: Acessibilidade na Web - GoogleI/O SP

Surdos

Foto: everystockphoto.com - jessicafm

Page 8: Acessibilidade na Web - GoogleI/O SP

Mobilidade reduzida

Page 9: Acessibilidade na Web - GoogleI/O SP

Estatísticas

Pessoas com deficiências no Brasil

24% 45.623.910 pessoas

Fonte: Censo 2010

Page 10: Acessibilidade na Web - GoogleI/O SP

Estatísticas

No mundo, esse número é

aproximadamente

1 bilhão de pessoas

Fonte: ONU

Page 11: Acessibilidade na Web - GoogleI/O SP
Page 12: Acessibilidade na Web - GoogleI/O SP

Acessibilidade na web

Porque não

desenvolvemos

web sites

acessíveis?

Algumas hipóteses:

Page 13: Acessibilidade na Web - GoogleI/O SP

Desconhecimento

Page 14: Acessibilidade na Web - GoogleI/O SP

http://www.seosmarty.com/impossible-captcha-it-doesnt-really-matter-if-you-are-human-or-not/

Page 15: Acessibilidade na Web - GoogleI/O SP

http://www.seosmarty.com/impossible-captcha-it-doesnt-really-matter-if-you-are-human-or-not/

Page 16: Acessibilidade na Web - GoogleI/O SP

http://www.seosmarty.com/impossible-captcha-it-doesnt-really-matter-if-you-are-human-or-not/

Page 17: Acessibilidade na Web - GoogleI/O SP

http://www.seosmarty.com/impossible-captcha-it-doesnt-really-matter-if-you-are-human-or-not/

Page 18: Acessibilidade na Web - GoogleI/O SP

http://www.seosmarty.com/impossible-captcha-it-doesnt-really-matter-if-you-are-human-or-not/

Page 19: Acessibilidade na Web - GoogleI/O SP

Acessibilidade na web

Preconceito

Page 20: Acessibilidade na Web - GoogleI/O SP
Page 21: Acessibilidade na Web - GoogleI/O SP

Público alvo

Page 22: Acessibilidade na Web - GoogleI/O SP

É muito caro!

O prazo é curto!

Dá muito trabalho!

Não sei fazer!

Page 23: Acessibilidade na Web - GoogleI/O SP

Já testou seu site?

Foto: Flickr.com - Baddog_

Page 24: Acessibilidade na Web - GoogleI/O SP

Já testou o seu site?

Acessível via teclado

Foto: Flickr.com - Baddog_

Page 25: Acessibilidade na Web - GoogleI/O SP

Já testou o seu site?

Page 26: Acessibilidade na Web - GoogleI/O SP

Já testou o seu site?

Vídeos com legendas

Page 27: Acessibilidade na Web - GoogleI/O SP

Já testou o seu site?

Sem CSS

e imagens

Foto: Flickr.com - Baddog_

Page 28: Acessibilidade na Web - GoogleI/O SP

Ou mesmo sem monitor

Page 29: Acessibilidade na Web - GoogleI/O SP

Acessibilidade na web

Beneficia pessoas com deficiência

Page 30: Acessibilidade na Web - GoogleI/O SP

Acessibilidade na web: A quem se destina?

Acessibilidade é para todos !

Page 31: Acessibilidade na Web - GoogleI/O SP
Page 32: Acessibilidade na Web - GoogleI/O SP

Você acha que tem controle sobre o seu

usuário?

Page 33: Acessibilidade na Web - GoogleI/O SP

NÃO

Page 34: Acessibilidade na Web - GoogleI/O SP

Você não tem controle sobre o seu usuário

Page 35: Acessibilidade na Web - GoogleI/O SP

Acessibilidade deve fazer parte da rotina

Page 36: Acessibilidade na Web - GoogleI/O SP

Web Content Accessibility Guidelines

http://www.w3.org/TR/WCAG/

Page 37: Acessibilidade na Web - GoogleI/O SP

Princípio 1: Perceptível

Princípio 2: Operável

Princípio 3: Compreensível

Princípio 4: Robusto

Princípios do WCAG

Page 38: Acessibilidade na Web - GoogleI/O SP

ARIA e HTML5

WAI-ARIA (Accessible Rich Internet Applications)

define uma forma de tornar o conteúdo e

aplicativos web mais acessíveis a pessoas com

deficiências. Ele contribui especialmente com

conteúdo dinâmico e interface de controles de

usuário avançadas desenvolvidos com Ajax, HTML,

JavaScript e tecnologias relacionadas.

http://www.w3.org/WAI/intro/aria

Page 39: Acessibilidade na Web - GoogleI/O SP

ARIA e HTML5

progressbar

radiogroup

scrollbar

slider

spinbutton

status

Tab

tabpanel

textbox

tooltip

73 ROLES (Ou Papéis)

alert

Alertdialog

button

checkbox

dialog

menu

menubar

menuitem

option

...

http://www.w3.org/TR/wai-aria/roles#role_definitions

Page 40: Acessibilidade na Web - GoogleI/O SP

ARIA e HTML5

aria-activedescendant

aria-atomic

aria-autocomplete

aria-busy (state)

aria-checked (state)

aria-controls

aria-describedby

aria-disabled (state)

aria-dropeffect

aria-expanded (state)

aria-flowto

aria-grabbed (state)

35 States and Properties (Estados e Propriedades)

aria-haspopup

aria-hidden (state)

aria-invalid (state)

aria-label

aria-labelledby

aria-level

aria-live

aria-multiline

aria-multiselectable

aria-orientation

aria-owns

... http://www.w3.org/TR/wai-aria/states_and_properties

Page 41: Acessibilidade na Web - GoogleI/O SP

ARIA e HTML5

Implementação por leitores de tela:

Landmark roles são suportadas em

• JAWS 10

• NVDA 2010.1+

• VoiceOver no iPhone IOS4.

Page 42: Acessibilidade na Web - GoogleI/O SP
Page 43: Acessibilidade na Web - GoogleI/O SP
Page 44: Acessibilidade na Web - GoogleI/O SP

As WCAG utilizam a semântica do HTML

para tornar o conteúdo acessível

ARIA são atributos que conseguem mudar a

semântica dos elementos para tornar o

conteúdo acessível

Page 45: Acessibilidade na Web - GoogleI/O SP

Situação 1:

Uma galeria de imagens

Page 46: Acessibilidade na Web - GoogleI/O SP

<img src=“starwars.jpg”

alt=“Foto de Luke Skywalker no filme Star

Wars – O império contra ataca”>

Page 47: Acessibilidade na Web - GoogleI/O SP

<div class="foto" role="img"

aria-label="Logo do W3C que está dentro do

CSS"></div>

<img src="img-slides/w3clogo.png"

alt="Logo do W3C dentro do HTML">

Page 48: Acessibilidade na Web - GoogleI/O SP

reinaldoferraz.com.br

Page 49: Acessibilidade na Web - GoogleI/O SP

Situação 2:

Uma página cheia de

destaques

Page 50: Acessibilidade na Web - GoogleI/O SP
Page 51: Acessibilidade na Web - GoogleI/O SP
Page 52: Acessibilidade na Web - GoogleI/O SP

<a href=“#contents”>Saltar</a>

<elemento id=“contents”>

Page 53: Acessibilidade na Web - GoogleI/O SP

<h1>...</h1>

<h2>...</h2>

<h3>...</h3>

<h2>...<h2>

<h3>...</h3>

<h4>...</h4>

<h2>...</h2>

<h3>...</h3>

Page 54: Acessibilidade na Web - GoogleI/O SP

html5accessibility.com

Page 55: Acessibilidade na Web - GoogleI/O SP

Situação 3:

Menu e Submenus

Page 56: Acessibilidade na Web - GoogleI/O SP

CSS:

a:hover

a:focus

JavaScript:

onmouseover="#"

onfocus="#"

onmouseout="#"

onblur="#"

Page 57: Acessibilidade na Web - GoogleI/O SP

Situação 4:

Formulários

Page 58: Acessibilidade na Web - GoogleI/O SP

<fieldset>

<legend>

Identifique-se!

</legend>

<label for="text">

Nome</label>

<input id="text" type="text"

aria-describedby="comp">

<p id="comp">

Preencha seu nome

de verdade, viu?</p>

</fieldset>

Page 59: Acessibilidade na Web - GoogleI/O SP

<fieldset>

<legend>

Identifique-se!

</legend>

<label for="text">

Nome</label>

<input id="text" type="text"

aria-describedby="comp">

<p id="comp">

Preencha seu nome

de verdade, viu?</p>

</fieldset>

Page 60: Acessibilidade na Web - GoogleI/O SP

<fieldset>

<legend>

Identifique-se!

</legend>

<label for="text">

Nome</label>

<input id="text" type="text"

aria-describedby="comp">

<p id="comp">

Preencha seu nome

de verdade, viu?</p>

</fieldset>

Page 61: Acessibilidade na Web - GoogleI/O SP

Slider

Page 62: Acessibilidade na Web - GoogleI/O SP
Page 63: Acessibilidade na Web - GoogleI/O SP

Não dá para usar o

input type=“range”?

Page 64: Acessibilidade na Web - GoogleI/O SP

SIM!

Page 65: Acessibilidade na Web - GoogleI/O SP

html5accessibility.com

Page 66: Acessibilidade na Web - GoogleI/O SP

html5accessibility.com

Page 67: Acessibilidade na Web - GoogleI/O SP

Situação 5:

Utilização de cores

Page 68: Acessibilidade na Web - GoogleI/O SP
Page 69: Acessibilidade na Web - GoogleI/O SP

Neil Harbisson

http://www.youtube.com/watch?v=CvPOh0p9cf0

Page 70: Acessibilidade na Web - GoogleI/O SP

Daltonismo

Page 71: Acessibilidade na Web - GoogleI/O SP

Daltonismo

Page 72: Acessibilidade na Web - GoogleI/O SP

Daltonismo

Uma menina com cabelos loiros, olhos

azuis vestida de rosa

Page 73: Acessibilidade na Web - GoogleI/O SP

Daltonismo

Visão normal

Page 74: Acessibilidade na Web - GoogleI/O SP

Daltonismo

Protanopia (Deficiências em vermelho)

Page 75: Acessibilidade na Web - GoogleI/O SP

Daltonismo

Deuteranopia (Deficiências em verde)

Page 76: Acessibilidade na Web - GoogleI/O SP

Daltonismo

Tritanopia (Deficiências em azul)

Page 77: Acessibilidade na Web - GoogleI/O SP

Daltonismo

Acromatopsia (Deficiências todas as cores)

Page 78: Acessibilidade na Web - GoogleI/O SP

Daltonismo

Nunca utilize somente cor para

transmitir uma informação na Web

Page 79: Acessibilidade na Web - GoogleI/O SP

Daltonismo

Page 80: Acessibilidade na Web - GoogleI/O SP

Situação 4:

Múltiplos idiomas

Page 81: Acessibilidade na Web - GoogleI/O SP

<html lang=“pt-br”>

...

Esse texto está em português

Page 82: Acessibilidade na Web - GoogleI/O SP

<html lang=“pt-br”>

...

Esse texto está em português <span

lang=“en”>and this one in english</span>

Page 83: Acessibilidade na Web - GoogleI/O SP

Situação 5:

Elementos dinâmicos

Page 84: Acessibilidade na Web - GoogleI/O SP

<button role=“button” aria-pressed=“false”>

<img src=“off.png” alt=“Status Desligado”>

</button>

<button role=“button” aria-pressed=“true”>

<img src=“on.png” alt=“Status Ligado”>

</button>

Page 85: Acessibilidade na Web - GoogleI/O SP

<div class="message">

<span id="messages" aria-live="assertive"></span>

</div>

<div class="message">

<span id="messages" aria-live=“off" ></span> </div>

Page 86: Acessibilidade na Web - GoogleI/O SP

Dicas importantes para melhorar a acessibilidade

• Validação de Markup

• Siga as diretrizes de

acessibilidade (WCAG e ARIA)

• Validação automática de

acessibilidade

• Verificação de avisos

• Teste com tecnologias assistivas

• Coloque a acessibilidade na rotina

do desenvolvimento

Page 87: Acessibilidade na Web - GoogleI/O SP

Obrigado!

@reinaldoferraz

“Se o seu site não está pronto para receber

TODAS as pessoas, o site é deficiente.”

Adaptado da arq. Thais Frota