SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
ACESSIBILIDADE
WAI-ARIA
DIEGO
EIS
@diegoeis
@tableless
tableless.com.br

slideshare.net/diegoeis
bit.ly/locawebstyle
ESTENDENDO O
SIGNIFICADO
NOVAS TAGS DO HTML5
As novas tags do HTML5 ajudaram a externar a semântica dos
elementos.
div#cabecalho

div#sidebar

div#content

div#rodape

div#sidebar
div

div

div

div

div
header#cabecalho

aside#sidebar

article#content

footer#rodape

aside#sidebar
header

aside

article

footer

aside
MICRODATA
As microdatas nos ajudaram a marcar micro informações no
meio do conteúdo.
name

nacionality

Olá, eu me chamo Diego Eis, sou brasileiro,
worksFor
jobTitle
trabalho na Locaweb como Coordenador do Time
de Front-end. Tenho um website chamado
URL
Tableless e você pode entrar em contato comigo
pelo email contato@tableless.com.br.
email
MAS E AS INTERAÇÕES
Como você avisa para um leitor de tela ou outros meios de
acesso sobre as interações que acontecem na tela?
!

Por exemplo: uma modal abrindo, validações de formulários,
submenu, tabs, collapse etc…
WAI-ARIA
INTERAÇÕES
WAI-ARIA aumenta a acessibilidade em conteúdos dinâmicos
nos componentes interfaces.
ROLES
São atributos que representam ações nos elementos HTML. Elas
são categorizadas em 4 tipos.
ABSTRACT
Para definição de conceitos gerais. Não devemos usar para marcar
conteúdo.

WIDGET
Para elementos de interface soltos, como caixas de alerta, botões,
checkbox, links, tabs etc.

DOCUMENT STRUCTURE
Para estruturas de organização da página. Estruturas que não são
interativas.

LANDMARK
Pra regiões de páginas que são pontos importantes para onde o usuário
navegaria, por exemplo: buscas, main, sidebar, formulários etc…
<ul
<ul>role="tablist">
<li id="tab1">role="tab" aria-selected="true">
id="tab1"
<a href=“#”>Primeira Aba</a>
</li>
</ul> <div role="tabpanel" aria-labelledby="tab1">
<p>Conteúdo, my friend…</p>
</div>
<nav ! role="navigation">
!
! <ul role="menubar">
!
! ! <li role="menuitem">
! !
<a href=“#”>Primeira Aba</a>
! ! </li>
! </ul>
!
</nav>
<select role="combobox" aria-multiselectable="true">
!

<option role="listbox">
Opção 2
</option>
!

<option role="listbox">
Opção 2
</option>
!

</select>
LISTA COMPLETA DAS
ROLES
http:// bit.ly /wai-aria-roles
!

http://www.w3.org/TR/wai-aria/roles#roles_categorization
STATES AND PROPERTIES
Muitas vezes precisamos customizar formulários ou outros
elementos com algum código que não é o padrão. Por exemplo,
customizar checkboxes ou radio buttons. Quando isso acontece,
precisamos indicar que estes elementos devem ter o mesmo
peso de significado dos elementos originais.
<div role="radiogroup">
<span role="radio" aria-checked=“unchecked">
Option Unchecked
</span>
!

<span role="radio" aria-checked=“checked">
Option Checked
</span>
</div>
<div class="collapse">
<h1>Um exemplo simples com texto</h1>
<p>…</p>
!

<div class="collapse-box" aria-expanded=“true”>
…
</div>
</div>
<a class="btn btn-primary" aria-describeby="desc-send">
Enviar
</a>
!

<p id=“desc-send">
Esta é uma descrição explicando a ação…
</p>
<ul>
<li aria-haspopup=“true">
<a href="#">Mensagens</a>
<ul>
<li><a href="#">Enviar</a></li>
<li><a href="#">Criar</a></li>
<li><a href="#">Editar</a></li>
<li><a href="#">Relatórios</a></li>
</ul>
</li>
</ul>
LISTA DE STATES E
PROPERTIES
http:// bit.ly /wai-aria-states-properties
!

http://www.w3.org/TR/wai-aria/states_and_properties
USE SEMPRE AS TAGS
APROPRIADAS
Não substitua a semântica natural dos elementos.
!

Eu sei que WAI-ARIA é muito, muito bom. Mas não prefira usálas ao invés de usar os elementos padrão do HTML. Eles trazem
mais semântica do que elementos neutros usando WAI-ARIA.
<!-- Não faça assim: -->
<span role="button">Botão</span>

<!-- Se você pode fazer assim: -->
<button>Botão</button>
INTERAÇÃO COM O
TECLADO
Todas as interações com WAI-ARIA devem ser usadas via teclado.
!
Todos os "widgets" devem responder aos comandos e combinações padrão
de teclas dos sistemas operacionais. Por exemplo, se você desenha um
botão com uma tag span e coloca um role=“button”, este elemento deve
trabalhar como um botão, ou seja, se o usuário der foco a este elemento e
apertar ENTER, o botão deve agir.
INSERINDO WAI-ARIA VIA
JAVASCRIPT
Prefira colocar estes atributos via Javascript. Não há problema
algum fazer dessa forma.
!

Por outro lado, se você sabe que o seu público usa Javascript
desabilitado (o que é muito, muito difícil), prefira colocar
diretamente no código HTML
PARA PESQUISAR MAIS
http://tableless.com.br/wai-aria-estendendo-o-significado-das-interacoes/
!
http://oaa-accessibility.org/examples/
!
http://www.w3.org/TR/wai-aria/
!
https://developer.mozilla.org/en-US/docs/Accessibility/ARIA
ENTÃO, FECHOU!
A palestra vai ficar aqui:
slideshare.net/diegoeis
!

@diegoeis
@tableless
tableless.com.br
!

bit.ly/locawebstyle

Mais conteúdo relacionado

Mais procurados

Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
Rodrigo Rodrigues
 
Pavel ungr designed_for_seo
Pavel ungr designed_for_seoPavel ungr designed_for_seo
Pavel ungr designed_for_seo
H1.cz
 

Mais procurados (20)

Google PageSpeed: 5 Steps to 100% (Mobile) Success
Google PageSpeed: 5 Steps to 100% (Mobile) SuccessGoogle PageSpeed: 5 Steps to 100% (Mobile) Success
Google PageSpeed: 5 Steps to 100% (Mobile) Success
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 
Curso de Desenvolvimento Web - Módulo 02 - CSS
Curso de Desenvolvimento Web - Módulo 02 - CSSCurso de Desenvolvimento Web - Módulo 02 - CSS
Curso de Desenvolvimento Web - Módulo 02 - CSS
 
Web Design > Aula 00
Web Design > Aula 00Web Design > Aula 00
Web Design > Aula 00
 
How To Get a 100% Lighthouse Performance Score
How To Get a 100% Lighthouse Performance Score How To Get a 100% Lighthouse Performance Score
How To Get a 100% Lighthouse Performance Score
 
Metodologia para criação de sites
Metodologia para criação de sitesMetodologia para criação de sites
Metodologia para criação de sites
 
8 fazes do planejamento de sites
8 fazes do planejamento de sites8 fazes do planejamento de sites
8 fazes do planejamento de sites
 
Curso CSS 3 - Aula Introdutória com conceitos básicos
Curso CSS 3 - Aula Introdutória com conceitos básicosCurso CSS 3 - Aula Introdutória com conceitos básicos
Curso CSS 3 - Aula Introdutória com conceitos básicos
 
Perfect Starts: How to Get the Right Traffic with a Content Audit
Perfect Starts: How to Get the Right Traffic with a Content AuditPerfect Starts: How to Get the Right Traffic with a Content Audit
Perfect Starts: How to Get the Right Traffic with a Content Audit
 
HTML5 Básico: Formulários (aula 2)
HTML5 Básico: Formulários (aula 2)HTML5 Básico: Formulários (aula 2)
HTML5 Básico: Formulários (aula 2)
 
O Papel do desenvolvedor Front End
O Papel do desenvolvedor Front EndO Papel do desenvolvedor Front End
O Papel do desenvolvedor Front End
 
Pavel ungr designed_for_seo
Pavel ungr designed_for_seoPavel ungr designed_for_seo
Pavel ungr designed_for_seo
 
GFS - Persona
GFS - PersonaGFS - Persona
GFS - Persona
 
Introdução a HTML, CSS, JS, Ajax
Introdução a HTML, CSS, JS, AjaxIntrodução a HTML, CSS, JS, Ajax
Introdução a HTML, CSS, JS, Ajax
 
Acessibilidade Web: Primeiros passos
Acessibilidade Web: Primeiros passosAcessibilidade Web: Primeiros passos
Acessibilidade Web: Primeiros passos
 
Tailwind: The Future of CSS is Here!
Tailwind: The Future of CSS is Here!Tailwind: The Future of CSS is Here!
Tailwind: The Future of CSS is Here!
 
Workshop Prototipação em ux - Como validar uma ideia sem construir o produto
Workshop Prototipação em ux - Como validar uma ideia sem construir o produtoWorkshop Prototipação em ux - Como validar uma ideia sem construir o produto
Workshop Prototipação em ux - Como validar uma ideia sem construir o produto
 
Can you trust AI with your content?
Can you trust AI with your content?Can you trust AI with your content?
Can you trust AI with your content?
 
How to improve Core Web Vitals on a WordPress website
How to improve Core Web Vitals on a WordPress websiteHow to improve Core Web Vitals on a WordPress website
How to improve Core Web Vitals on a WordPress website
 
A utilização do Bootstrap Para a Otimização de Páginas
A utilização do Bootstrap Para a Otimização de PáginasA utilização do Bootstrap Para a Otimização de Páginas
A utilização do Bootstrap Para a Otimização de Páginas
 

Destaque

Acessibilidade Web: Sete Mitos e Um Equívoco
Acessibilidade Web: Sete Mitos e Um EquívocoAcessibilidade Web: Sete Mitos e Um Equívoco
Acessibilidade Web: Sete Mitos e Um Equívoco
UTFPR
 

Destaque (9)

Acessibilidade para web
Acessibilidade para webAcessibilidade para web
Acessibilidade para web
 
Sass: Estilo levado à sério
Sass: Estilo levado à sérioSass: Estilo levado à sério
Sass: Estilo levado à sério
 
Acessibilidade Web - GBG Sorocaba
Acessibilidade Web - GBG SorocabaAcessibilidade Web - GBG Sorocaba
Acessibilidade Web - GBG Sorocaba
 
Predictable Revenue 2016 - GBG Sorocaba Teaser
Predictable Revenue 2016 - GBG Sorocaba TeaserPredictable Revenue 2016 - GBG Sorocaba Teaser
Predictable Revenue 2016 - GBG Sorocaba Teaser
 
Interface é código: aprimorando a experiência do usuário no front e no back-end
Interface é código: aprimorando a experiência do usuário no front e no back-endInterface é código: aprimorando a experiência do usuário no front e no back-end
Interface é código: aprimorando a experiência do usuário no front e no back-end
 
Introdução a testes de usabilidade - 11º Diverso Design
Introdução a testes de usabilidade - 11º Diverso DesignIntrodução a testes de usabilidade - 11º Diverso Design
Introdução a testes de usabilidade - 11º Diverso Design
 
Acessibilidade Web: Sete Mitos e Um Equívoco
Acessibilidade Web: Sete Mitos e Um EquívocoAcessibilidade Web: Sete Mitos e Um Equívoco
Acessibilidade Web: Sete Mitos e Um Equívoco
 
DOM, CSSOM e RenderThree - Introdução ao Browser Render Path
DOM, CSSOM e RenderThree - Introdução ao Browser Render PathDOM, CSSOM e RenderThree - Introdução ao Browser Render Path
DOM, CSSOM e RenderThree - Introdução ao Browser Render Path
 
Interface é código: aprimorando a experiência do usuário no front e no back-end
Interface é código: aprimorando a experiência do usuário no front e no back-endInterface é código: aprimorando a experiência do usuário no front e no back-end
Interface é código: aprimorando a experiência do usuário no front e no back-end
 

Semelhante a WAI-ARIA - Interações acessíveis na web

Semelhante a WAI-ARIA - Interações acessíveis na web (20)

HTML & CSS - Aula 2
HTML & CSS - Aula 2HTML & CSS - Aula 2
HTML & CSS - Aula 2
 
b ou strong eis a questão! HTML semântico, o santo graal do front-end =]
 b ou strong eis a questão! HTML semântico, o santo graal do front-end =] b ou strong eis a questão! HTML semântico, o santo graal do front-end =]
b ou strong eis a questão! HTML semântico, o santo graal do front-end =]
 
XHTML Básico
XHTML BásicoXHTML Básico
XHTML Básico
 
Html 20.10
Html   20.10Html   20.10
Html 20.10
 
Aula 20 div e spans
Aula 20 div e spansAula 20 div e spans
Aula 20 div e spans
 
Front end - the right way
Front end - the right wayFront end - the right way
Front end - the right way
 
Apresentação sobre Bootstrap na Maratona de Inovação ISITEC 2017
Apresentação sobre Bootstrap na Maratona de Inovação ISITEC 2017Apresentação sobre Bootstrap na Maratona de Inovação ISITEC 2017
Apresentação sobre Bootstrap na Maratona de Inovação ISITEC 2017
 
HTML & CSS - Aula 4
HTML & CSS - Aula 4HTML & CSS - Aula 4
HTML & CSS - Aula 4
 
Html5 em 15 minutos
Html5 em 15 minutosHtml5 em 15 minutos
Html5 em 15 minutos
 
Desafios no desenvolvimento de uma aplicação real com Flex @ FUGSC
Desafios no desenvolvimento de uma aplicação real com Flex @ FUGSCDesafios no desenvolvimento de uma aplicação real com Flex @ FUGSC
Desafios no desenvolvimento de uma aplicação real com Flex @ FUGSC
 
Performance em javascript
Performance em javascriptPerformance em javascript
Performance em javascript
 
HTML + CSS
HTML + CSSHTML + CSS
HTML + CSS
 
Aula 07 acessibilidade
Aula 07  acessibilidadeAula 07  acessibilidade
Aula 07 acessibilidade
 
JQuery Alagoinhas Dev Day - UNEB
JQuery Alagoinhas Dev Day - UNEBJQuery Alagoinhas Dev Day - UNEB
JQuery Alagoinhas Dev Day - UNEB
 
Jquery Mobile
Jquery MobileJquery Mobile
Jquery Mobile
 
jQuery - A biblioteca javascript
jQuery - A biblioteca javascriptjQuery - A biblioteca javascript
jQuery - A biblioteca javascript
 
HTML Básico
HTML BásicoHTML Básico
HTML Básico
 
Acessibilidade para Web
Acessibilidade para WebAcessibilidade para Web
Acessibilidade para Web
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
Do impresso para o tablet
Do impresso para o tabletDo impresso para o tablet
Do impresso para o tablet
 

Mais de Diego Eis

Construindo um framework CSS
Construindo um framework CSSConstruindo um framework CSS
Construindo um framework CSS
Diego Eis
 

Mais de Diego Eis (19)

Carreira de Product Manager em 18 minutos
Carreira de Product Manager em 18 minutosCarreira de Product Manager em 18 minutos
Carreira de Product Manager em 18 minutos
 
Service Dominant Logic - S-D Logic em Produtos Digitais
Service Dominant Logic - S-D Logic em Produtos DigitaisService Dominant Logic - S-D Logic em Produtos Digitais
Service Dominant Logic - S-D Logic em Produtos Digitais
 
Métricas para times Ágeis usando Estatística Básica
Métricas para times Ágeis usando Estatística BásicaMétricas para times Ágeis usando Estatística Básica
Métricas para times Ágeis usando Estatística Básica
 
Um pequeno estudo sobre a microsoft
Um pequeno estudo sobre a microsoftUm pequeno estudo sobre a microsoft
Um pequeno estudo sobre a microsoft
 
O básico sobre Web Semântica, JSON-LD e Linked Data
O básico sobre Web Semântica, JSON-LD e Linked DataO básico sobre Web Semântica, JSON-LD e Linked Data
O básico sobre Web Semântica, JSON-LD e Linked Data
 
UX, Front-end and Back-end: How front-end can help these guys?
UX, Front-end and Back-end: How front-end can help these guys?UX, Front-end and Back-end: How front-end can help these guys?
UX, Front-end and Back-end: How front-end can help these guys?
 
Flexbox and Grid Layout: How you will structure layouts tomorrow.
Flexbox and Grid Layout: How you will structure layouts tomorrow.Flexbox and Grid Layout: How you will structure layouts tomorrow.
Flexbox and Grid Layout: How you will structure layouts tomorrow.
 
CSS 4 - What's coming up
CSS 4 - What's coming upCSS 4 - What's coming up
CSS 4 - What's coming up
 
O que você precisa saber para se tornar um dev front-end
O que você precisa saber para se tornar um dev front-endO que você precisa saber para se tornar um dev front-end
O que você precisa saber para se tornar um dev front-end
 
Primeiros passos para estruturar uma equipe front-end
Primeiros passos para estruturar uma equipe front-endPrimeiros passos para estruturar uma equipe front-end
Primeiros passos para estruturar uma equipe front-end
 
Construindo seu framework CSS
Construindo seu framework CSSConstruindo seu framework CSS
Construindo seu framework CSS
 
Construindo um framework CSS
Construindo um framework CSSConstruindo um framework CSS
Construindo um framework CSS
 
A verdadeira semântica do HTML
A verdadeira semântica do HTMLA verdadeira semântica do HTML
A verdadeira semântica do HTML
 
HTML5 e CSS3 - A nova novidade
HTML5 e CSS3 - A nova novidadeHTML5 e CSS3 - A nova novidade
HTML5 e CSS3 - A nova novidade
 
Manual de Sobrevivência do Desenvolvedor Empreendedor
Manual de Sobrevivência do Desenvolvedor EmpreendedorManual de Sobrevivência do Desenvolvedor Empreendedor
Manual de Sobrevivência do Desenvolvedor Empreendedor
 
CSS3 - Novo contexto
CSS3 - Novo contextoCSS3 - Novo contexto
CSS3 - Novo contexto
 
Padrões Web passado, presente, futuro
Padrões Web passado, presente, futuroPadrões Web passado, presente, futuro
Padrões Web passado, presente, futuro
 
Padrões Web e algumas vantagens para o designer
Padrões Web e algumas vantagens para o designerPadrões Web e algumas vantagens para o designer
Padrões Web e algumas vantagens para o designer
 
Padrões Web - Um elogio ao ócio do desenvolvedor
Padrões Web - Um elogio ao ócio do desenvolvedorPadrões Web - Um elogio ao ócio do desenvolvedor
Padrões Web - Um elogio ao ócio do desenvolvedor
 

WAI-ARIA - Interações acessíveis na web