HTML Acessível

60
Reinaldo Ferraz HTML Acessível Um guia rápido para melhorar a acessibilidade das suas páginas Web

Transcript of HTML Acessível

Page 1: HTML Acessível

Reinaldo Ferraz

HTML Acessível

Um guia rápido para melhorar a acessibilidade das suas páginas Web

Page 2: HTML Acessível

@reinaldoferraz

slideshare.com/reinaldoferraz

Page 3: HTML Acessível
Page 4: HTML Acessível

Por que? Quanto? Onde? Como?

Page 5: HTML Acessível

por que? Designed by Alekksall - Freepik.com

Page 6: HTML Acessível

24%

45.623.910 pessoas Censo 2010

Fonte: http://www.ibge.gov.br/home/estatistica/populacao/censo2010/resultados_preliminares/default_resultados_preliminares.shtm

Page 7: HTML Acessível

LEI Nº 13.146, DE 6 DE JULHO DE 2015.

Art. 63. É obrigatória a acessibilidade nos sítios da

internet mantidos por empresas com sede ou

representação comercial no País ou por órgãos

de governo, para uso da pessoa com deficiência,

garantindo-lhe acesso às informações

disponíveis, conforme as melhores práticas e

diretrizes de acessibilidade adotadas

internacionalmente.

Fonte: http://www.planalto.gov.br/ccivil_03/_Ato2015-2018/2015/Lei/L13146.htm

Page 8: HTML Acessível

LEI Nº 13.146, DE 6 DE JULHO DE 2015.

Art. 63. É obrigatória a acessibilidade nos sítios da

internet mantidos por empresas com sede ou

representação comercial no País ou por órgãos

de governo, para uso da pessoa com deficiência,

garantindo-lhe acesso às informações

disponíveis, conforme as melhores práticas e

diretrizes de acessibilidade adotadas

internacionalmente.

Fonte: http://www.planalto.gov.br/ccivil_03/_Ato2015-2018/2015/Lei/L13146.htm

Page 9: HTML Acessível

A Web foi feita para as pessoas

Page 10: HTML Acessível

Acessibilidade é para todos !

Page 11: HTML Acessível
Page 12: HTML Acessível

quanto?

Page 13: HTML Acessível

• Consciência sobre o tema

• Capacitação

• Documentação

• Ferramentas específicas

• Execução

Page 14: HTML Acessível

Acessibilidade deve fazer parte da rotina

Page 15: HTML Acessível

onde?

Page 16: HTML Acessível

Web Content Accessibility Guidelines

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

Page 17: HTML Acessível

Diretrizes de Acessibilidade para Conteúdo Web

http://www.w3.org/Translations/WCAG20-pt-br/

Page 18: HTML Acessível

Princípio 1: Perceptível

Princípio 2: Operável

Princípio 3: Compreensível

Princípio 4: Robusto

Princípios do WCAG

Page 19: HTML Acessível

https://www.w3.org/TR/wai-aria/

Page 20: HTML Acessível

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 21: HTML Acessível

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 22: HTML Acessível

1. As WCAG utilizam a semântica do HTML para tornar o conteúdo acessível

2. ARIA são atributos que conseguem mudar a semântica dos elementos para tornar o conteúdo acessível

Page 23: HTML Acessível

como?

Page 24: HTML Acessível

O básico:

1. Criar uma hierarquia adequada com cabeçalhos

2. Relacionar <label> com o <input>

3. Usar elementos semânticos do HTML5 (Pleeease!)

4. Declarar o atributo LANG no HTML

Page 25: HTML Acessível

Acessível via teclado

Page 26: HTML Acessível

Navega pelos controles interativos

Navega de volta

Ativa controles interativos

Ativa radio e checkboxes

Seleção de radio buttons, seleção de

lista, sliders, tabpanels, autocomplete

Page 27: HTML Acessível
Page 28: HTML Acessível

CSS:

a:hover

a:focus

JavaScript:

onmouseover="#"

onfocus="#"

onmouseout="#"

onblur="#"

Page 29: HTML Acessível

<select id=“paises”

aria-describedby=“aviso”>

<option id=“01”>

Argentina</option>

<option id=“02”>

Brasil</option>

<option id=“03”>

Canadá</option>

...

<p id=“aviso”>Ao selecionar

um país o próximo campo será

atualizado automaticamente

carregando os estados</p>

Ao selecionar um país o próximo campo será atualizado

automaticamente carregando os estados

Page 30: HTML Acessível

Designed by Dooder - Freepik.com

Saltar conteúdo repetido

Page 31: HTML Acessível

<a href=“#content”>Saltar conteúdo</a> .... <section id=“content”>

Page 32: HTML Acessível

Salto para conteúdo visível ou visível ao TAB

Page 33: HTML Acessível

<h1>...</h1>

<h2>...</h2>

<h3>...</h3>

<h2>...<h2>

<h3>...</h3>

<h4>...</h4>

<h2>...</h2>

<h3>...</h3>

Page 34: HTML Acessível
Page 35: HTML Acessível

Escondendo conteúdo com CSS

Imagem: Designed by Asierromero - Freepik.com

Page 36: HTML Acessível

CSS Efeito na Tela Efeito na

Acessibilidade

visibility:hidden;

O elemento fica oculto, mas

continua a ocupar o espaço

que normalmente ocuparia

O conteúdo é ignorado pelos

leitores de tela

display:none; O elemento fica oculto e não

ocupa espaço

O conteúdo é ignorado pelos

leitores de tela

height: 0;

width: 0;

overflow: hidden;

O elemento fica oculto e não

ocupa espaço Alguns leem, outros não.

text-indent: -99999em;

O conteúdo é movido para

“fora da tela”, não sendo mais

visível, mas links podem ser

focalizados de maneira

imprevisível

Os leitores de tela acessam o

conteúdo, mas somente texto

e elementos inline

position: absolute;

left: -99999em;

O conteúdo é removido de sua

posição, não ocupando

espaço e é movido para “fora

da tela”, ficando oculto

Os leitores de tela acessam o

conteúdo

Page 37: HTML Acessível

Descrevendo imagens

Page 38: HTML Acessível

<img src=“café.jpg” alt=“foto de uma xícara de café”>

<figure>

<img src=“gráfico.jpg” alt=“Gráfico de

vendas”>

<figcaption>O gráfico representa o

percentual de vendas da equipe nos

últimos anos...

</figcaption>

</figure>

Page 40: HTML Acessível

Mude o idioma quando necessário

Page 41: HTML Acessível

<html lang=“pt-br”> ... Esse texto está em português <a href=“english/” lang=“en”> and in english also </a>

Page 42: HTML Acessível

Agrupando campos de formulário

Page 43: HTML Acessível

<fieldset> <legend>Dados pessoais</legend> <label for=“nome”> <input type=“text” id=“nome name=“nome”> </fieldset>

Page 44: HTML Acessível

http://www.html5accessibility.com/

Page 45: HTML Acessível

Contraste e uso de cores

Page 46: HTML Acessível

Nunca usar somente cor para transmitir informação

Page 47: HTML Acessível

Simulação de visão por pessoas com daltonismo

Page 48: HTML Acessível

Simulação de visão por pessoas com daltonismo

Page 49: HTML Acessível

http://www.checkmycolours.com/

Page 50: HTML Acessível

Vídeos com legendas

Page 51: HTML Acessível

<track label="Português" kind="subtitles" srclang="pt" src="legenda.vtt" default>

<track label="English" kind="subtitles"

srclang="en" src="subtitle.vtt">

Page 52: HTML Acessível

WEBVTT

1

00:00:00.000 --> 00:00:05.000 Olá pessoal, eu sou o Reinaldo

2

00:00:05.050 --> 00:00:08.000

e hoje vou apresentar a vocês algumas técnicas simples

3

00:00:08.050 --> 00:00:10.000

para melhorar a acessibilidade das suas páginas Web.

4

00:00:10.010 --> 00:00:14.000

A Primeira dica é utilizar a marcação semântica da HTML5.

Page 53: HTML Acessível

Verificação de acessibilidade

Page 54: HTML Acessível

http://validator.w3.org

Page 55: HTML Acessível

http://www.acessibilidade.gov.pt/accessmonitor/

Page 56: HTML Acessível

http://wave.webaim.org/

Page 57: HTML Acessível

https://www.w3.org/WAI/ER/tools/

Page 58: HTML Acessível

Teste seu site!

Page 59: HTML Acessível

1. Teste seu site sem CSS

2. Teste seu site sem imagens

3. Navegue somente por teclado

4. Teste com um leitor de tela

5. Verifique o markup (W3C Validator)

6. Verifique a acessibilidade (com validadores de acessibilidade automáticos)

7. Verifique os avisos da páginas

8. Coloque a acessibilidade na rotina do desenvolvimento

Page 60: HTML Acessível

Obrigado

[email protected] @reinaldoferraz