SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
Quando e como usar
WAI-ARIA
Web sem Barreiras
4 de agosto de 2018
Reinaldo Ferraz
• https://pt.slideshare.net/reinaldoferraz
• https://pt.slideshare.net/CentroWeb/
@reinaldoferraz
Ilustração por Iconicbestiary - Freepik.com
WCAG WAI-ARIA
WCAG
ARIA
Web Content Accessibility Guidelines
http://www.w3.org/TR/WCAG/
WCAG
Princípio 1: Perceptível
Princípio 2: Operável
Princípio 3: Compreensível
Princípio 4: Robusto
Princípios do WCAG
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
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
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
Implementação por leitores de tela:
Landmark roles são suportadas em
• JAWS 10
• NVDA 2010.1+
• VoiceOver no iPhone IOS4.
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
Quatro regras para o bom uso de
WAI-ARIA
Regra nº 1
Não use ARIA
(prefira os elementos semânticos do HTML)
<span>Enviar</span>
<span onclick=“Event(this)”>Enviar</span>
<span onclick=“Event(this)”
onmouseover=“Event(this)”
onmouseout=“Event(this)”>Enviar</span>
<span onclick=“Event(this)”>
onmouseover=“Event(this)”
onmouseout=“Event(this)”
onfocus=“Event(this)”
onblur=“Event(this)”>Enviar</span>
<span role=“button” onclick=“Event(this)”>
onmouseover=“Event(this)”
onmouseout=“Event(this)”
onfocus=“Event(this)”
onblur=“Event(this)”>Enviar</span>
<button>Enviar</button>
Regra nº 2
Não mude a semântica
dos elementos
(apenas se você realmente precisar)
Não faça isso:
<h1 role=button>heading button</h1>
Não faça isso:
<h1 role=button>heading button</h1>
Faça isso:
<h1>
<button>heading button</button>
</h1>
Não faça isso:
<h1 role=button>heading button</h1>
Faça isso:
<h1>
<button>heading button</button>
</h1>
Se não puder usar o elemento correto, faça isso:
<h1>
<span role=button>heading button</span>
</h1>
Regra nº 3
Todos os controles
interativos devem ser
acessíveis via teclado
Regra nº 4
Não use role="presentation" ou
aria-hidden="true“ em um
elemento de foco visível
<h1 role=presentation>
heading button
</h1>
<h1 aria-hidden=true>
heading button
</h1>
• Navegação
• Conteúdo escondido
• Falta de controle pelo usuário
• Confusão/desorientação
Ótimo artigo sobre esse tópico: http://webaim.org/techniques/javascript/
Javascript e leitores de tela
Javascript e leitores de tela
Web Aim Screen Reader Survey
Fonte: http://webaim.org/projects/screenreadersurvey5/#javascript
Pesquisa feita com 1465 usuários de software
leitor de tela em Janeiro de 2014
Javascript e leitores de tela
Web Aim Screen Reader Survey
Fonte: http://webaim.org/projects/screenreadersurvey5/#javascript
97.6% mantém o JavaScript habilitado
Javascript e leitores de tela
JAWS 16
- Suporte a MathML (FF e IE)
- Lê cores de fundo (FF)
- Maior suporte a ARIA
NVDA 2015.2
- Suporte aos principais landmarks de ARIA
ORCA / VoiceOver
- Suporte a Live Regions
Javascript e leitores de tela
Quando usar? ou não...
Descrever regiões do site
Descrever regiões do site
<div id="header" role="banner">
A banner image and introductory title</div>
<div id="sitelookup" role="search">....</div>
<div id="nav" role="navigation">
...a list of links here ... </div>
<div id="content" role="main">
... Ottawa is the capital of Canada ...</div>
<div id="rightsideadvert" role="complementary">
....an advertisement here...</div>
<div id="footer" role="contentinfo">
c)The Freedom Company, 123 Freedom Way, Helpville,
USA</div>
Descrever regiões do site
<header>
A banner image and introductory title</header>
<input type=“search”>
<nav>
...a list of links here ... </nav>
<main>
... Ottawa is the capital of Canada ...</main>
<aside>
....an advertisement here...</aside>
<footer>
c)The Freedom Company, 123 Freedom Way, Helpville,
USA</footer>
Descrever regiões do site
header
nav aside
aside
article
section
https://caniuse.com/#feat=wai-aria
Descrição de conteúdos invisíveis
Descrição de conteúdos invisíveis
<div class="foto"
role=“img”
aria-label="Logo do W3C">
</div>
<label for=“pais” aria-label=“Este campo atualiza
automaticamente o próximo campo”>
Selecione o país</label>
<select id=“pais”>
<option>Argentina</option>
<option>Brasil</option>
<option>Bolívia</option>
<option>Chile</option>
<option>Equador</option>
<option>Peru</option>
</select>
Relacionar informações
<form>
<fieldset>
<legend>Casa de espetáculos</legend>
<label for=“valor">Valor do ingresso</label>
<input type=“valor" id=“valor"
aria-describedby="complementar">
<p id="complementar “>
O valor deve ser preenchido em reais</p>
</fieldset>
</form>
role=“application”
role=“tree”
role=“treeitem”
aria-expanded=“false"
aria-expanded="true"
role=“treeitem”
Definir status de elementos
Definir status de elementos
Definir status de elementos
<span role="checkbox" aria-checked="false" tabindex="0"
aria-labelledby=“unchecked"></span>
<span role="checkbox" aria-checked=“true" tabindex="0"
aria-labelledby=“checked"></span>
Definir status de elementos
<input type="radio" name="exemplo01" id="exemplo01">
<label for="exemplo01">Unchecked</label>
aria-live: Determina a prioridade da leitura pela TA (off, polite, assertive)
Conteúdo dinâmico
<span id="messages" aria-live="polite" >
Fulano adicionou você como amigo
</span>
Conteúdo dinâmico
Aplicar técnicas de acessibilidade em um site
com usabilidade ruim é como passar batom
em um porco. Não importa o quanto você
passe, ele continuará sendo um porco.
Não faça da ARIA o seu batom.
Fonte: http://webaim.org/blog/accessibility-lipstick-on-a-usability-pig/
Mantenha sua aplicação simples
Obrigado
www.ceweb.br
reinaldo@nic.br @reinaldoferraz
08 de agosto de 2018

Contenu connexe

Tendances

Introduction To Web Accessibility
Introduction To Web AccessibilityIntroduction To Web Accessibility
Introduction To Web Accessibility
Steven Swafford
 
Transforming Accessibility one lunch at a tiime - CSUN 2023
Transforming Accessibility one lunch at a tiime - CSUN 2023Transforming Accessibility one lunch at a tiime - CSUN 2023
Transforming Accessibility one lunch at a tiime - CSUN 2023
Ted Drake
 

Tendances (20)

Web accessibility: it’s everyone’s responsibility
Web accessibility: it’s everyone’s responsibilityWeb accessibility: it’s everyone’s responsibility
Web accessibility: it’s everyone’s responsibility
 
Introducing WCAG 2.2
Introducing WCAG 2.2Introducing WCAG 2.2
Introducing WCAG 2.2
 
Introduction To WCAG 2.0
Introduction To WCAG 2.0Introduction To WCAG 2.0
Introduction To WCAG 2.0
 
WCAG
WCAGWCAG
WCAG
 
Basics of Web Accessibility
Basics of Web AccessibilityBasics of Web Accessibility
Basics of Web Accessibility
 
Conseils et astuces rédaction Newsletter / E.mailing
Conseils et astuces rédaction Newsletter / E.mailingConseils et astuces rédaction Newsletter / E.mailing
Conseils et astuces rédaction Newsletter / E.mailing
 
Web Accessibility
Web AccessibilityWeb Accessibility
Web Accessibility
 
ADA Compliance and Website Accessibility
ADA Compliance and Website AccessibilityADA Compliance and Website Accessibility
ADA Compliance and Website Accessibility
 
Le management d’une équipe UX par le profil en T
Le management d’une équipe UX par le profil en TLe management d’une équipe UX par le profil en T
Le management d’une équipe UX par le profil en T
 
Aria interview questions
Aria interview questionsAria interview questions
Aria interview questions
 
Introduction To Web Accessibility
Introduction To Web AccessibilityIntroduction To Web Accessibility
Introduction To Web Accessibility
 
Implementing WCAG 2.2 into Your Digital Strategy
Implementing WCAG 2.2 into Your Digital StrategyImplementing WCAG 2.2 into Your Digital Strategy
Implementing WCAG 2.2 into Your Digital Strategy
 
Transforming Accessibility one lunch at a tiime - CSUN 2023
Transforming Accessibility one lunch at a tiime - CSUN 2023Transforming Accessibility one lunch at a tiime - CSUN 2023
Transforming Accessibility one lunch at a tiime - CSUN 2023
 
Web accessibility
Web accessibilityWeb accessibility
Web accessibility
 
Web accessibility 101: The why, who, what, and how of "a11y"
Web accessibility 101: The why, who, what, and how of "a11y"Web accessibility 101: The why, who, what, and how of "a11y"
Web accessibility 101: The why, who, what, and how of "a11y"
 
Including Everyone: Web Accessibility 101
Including Everyone: Web Accessibility 101Including Everyone: Web Accessibility 101
Including Everyone: Web Accessibility 101
 
Understanding Web Accessibility
Understanding Web AccessibilityUnderstanding Web Accessibility
Understanding Web Accessibility
 
Web Accessibility
Web AccessibilityWeb Accessibility
Web Accessibility
 
An Introduction to WAI-ARIA
An Introduction to WAI-ARIAAn Introduction to WAI-ARIA
An Introduction to WAI-ARIA
 
Accessibilité numérique : où en est-on ?
Accessibilité numérique : où en est-on ? Accessibilité numérique : où en est-on ?
Accessibilité numérique : où en est-on ?
 

Similaire à Quando e como usar WAI-ARIA

HTML5, WAI-ARIA e Acessibilidade na Web - Digital acesso 2011
HTML5, WAI-ARIA e Acessibilidade na Web - Digital acesso 2011HTML5, WAI-ARIA e Acessibilidade na Web - Digital acesso 2011
HTML5, WAI-ARIA e Acessibilidade na Web - Digital acesso 2011
Reinaldo Ferraz
 
HTML5- Road Show TI - Senac Jaboticabal
HTML5- Road Show TI -  Senac Jaboticabal HTML5- Road Show TI -  Senac Jaboticabal
HTML5- Road Show TI - Senac Jaboticabal
Clécio Bachini
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
Rodrigo Rodrigues
 

Similaire à Quando e como usar WAI-ARIA (20)

Acessibilidade para Web
Acessibilidade para WebAcessibilidade para Web
Acessibilidade para Web
 
HTML5, WAI-ARIA e Acessibilidade na Web - Digital acesso 2011
HTML5, WAI-ARIA e Acessibilidade na Web - Digital acesso 2011HTML5, WAI-ARIA e Acessibilidade na Web - Digital acesso 2011
HTML5, WAI-ARIA e Acessibilidade na Web - Digital acesso 2011
 
HTML 5, CSS 3 e o futuro da Web
HTML 5, CSS 3 e o futuro da WebHTML 5, CSS 3 e o futuro da Web
HTML 5, CSS 3 e o futuro da Web
 
HTML5 - A nova fronteira no desenvolvimento de aplicações WEB
HTML5 - A nova fronteira no desenvolvimento de aplicações WEBHTML5 - A nova fronteira no desenvolvimento de aplicações WEB
HTML5 - A nova fronteira no desenvolvimento de aplicações WEB
 
HTML 5 e Open Web Platform
HTML 5 e Open Web PlatformHTML 5 e Open Web Platform
HTML 5 e Open Web Platform
 
Acessibilidade na Web modo Jedi Master
Acessibilidade na Web modo Jedi MasterAcessibilidade na Web modo Jedi Master
Acessibilidade na Web modo Jedi Master
 
HTML5, Mobile Web e além - Computer on the beach 2015
HTML5, Mobile Web e além - Computer on the beach 2015HTML5, Mobile Web e além - Computer on the beach 2015
HTML5, Mobile Web e além - Computer on the beach 2015
 
Android Libs - AndroidDevConf
Android Libs - AndroidDevConfAndroid Libs - AndroidDevConf
Android Libs - AndroidDevConf
 
Nobody leaves this place without coding an accessible projetc
Nobody leaves this place without coding an accessible projetcNobody leaves this place without coding an accessible projetc
Nobody leaves this place without coding an accessible projetc
 
Acessibilidade na web - Computer on the Beach 2015
Acessibilidade na web - Computer on the Beach 2015Acessibilidade na web - Computer on the Beach 2015
Acessibilidade na web - Computer on the Beach 2015
 
HTML Acessível
HTML AcessívelHTML Acessível
HTML Acessível
 
Html acessivel - Um guia rápido para melhorar a acessibilidade das suas págin...
Html acessivel - Um guia rápido para melhorar a acessibilidade das suas págin...Html acessivel - Um guia rápido para melhorar a acessibilidade das suas págin...
Html acessivel - Um guia rápido para melhorar a acessibilidade das suas págin...
 
HTML5 - Road Show TI Experience 2012
HTML5 - Road Show TI Experience 2012HTML5 - Road Show TI Experience 2012
HTML5 - Road Show TI Experience 2012
 
Passado, Presente e Futuro da Web - Centro Universitário Unimonte 2015
Passado, Presente e Futuro da Web - Centro Universitário Unimonte 2015Passado, Presente e Futuro da Web - Centro Universitário Unimonte 2015
Passado, Presente e Futuro da Web - Centro Universitário Unimonte 2015
 
Acessibilidade na Web: Construíndo páginas para pessoas e não só para máquinas
Acessibilidade na Web: Construíndo páginas para pessoas e não só para máquinasAcessibilidade na Web: Construíndo páginas para pessoas e não só para máquinas
Acessibilidade na Web: Construíndo páginas para pessoas e não só para máquinas
 
Acessibilidade na Web - Desenvolvendo para pessoas e não só para máquinas
Acessibilidade na Web - Desenvolvendo para pessoas e não só para máquinasAcessibilidade na Web - Desenvolvendo para pessoas e não só para máquinas
Acessibilidade na Web - Desenvolvendo para pessoas e não só para máquinas
 
Acessibilidade na web
Acessibilidade na webAcessibilidade na web
Acessibilidade na web
 
HTML5- Road Show TI - Senac Jaboticabal
HTML5- Road Show TI -  Senac Jaboticabal HTML5- Road Show TI -  Senac Jaboticabal
HTML5- Road Show TI - Senac Jaboticabal
 
Browser Mobile - Opera
Browser Mobile - OperaBrowser Mobile - Opera
Browser Mobile - Opera
 
Introdução sobre desenvolvimento web
Introdução sobre desenvolvimento webIntrodução sobre desenvolvimento web
Introdução sobre desenvolvimento web
 

Plus de Reinaldo Ferraz

Plus de Reinaldo Ferraz (20)

Acessibilidade Digital e Realidade Estendida (VR/XR)
Acessibilidade Digital e Realidade Estendida (VR/XR)Acessibilidade Digital e Realidade Estendida (VR/XR)
Acessibilidade Digital e Realidade Estendida (VR/XR)
 
Acessibilidade na Web - Muito além do código
Acessibilidade na Web - Muito além do códigoAcessibilidade na Web - Muito além do código
Acessibilidade na Web - Muito além do código
 
WCAG 2.2 e 3.0
WCAG 2.2 e 3.0WCAG 2.2 e 3.0
WCAG 2.2 e 3.0
 
Legendas na Web
Legendas na WebLegendas na Web
Legendas na Web
 
WCAG 2.2
WCAG 2.2WCAG 2.2
WCAG 2.2
 
Por que re-descentralizar a Web?
Por que re-descentralizar a Web?Por que re-descentralizar a Web?
Por que re-descentralizar a Web?
 
Passado, presente e futuro da acessibilidade na web
Passado, presente e futuro da acessibilidade na webPassado, presente e futuro da acessibilidade na web
Passado, presente e futuro da acessibilidade na web
 
WCAG 2.1
WCAG 2.1WCAG 2.1
WCAG 2.1
 
Re-descentralizar a web
Re-descentralizar a webRe-descentralizar a web
Re-descentralizar a web
 
The power of ALT and LANG attributes
The power of ALT and LANG attributesThe power of ALT and LANG attributes
The power of ALT and LANG attributes
 
Accessibility on SVG and SEO
Accessibility on SVG and SEOAccessibility on SVG and SEO
Accessibility on SVG and SEO
 
Technological study of Brazilian government websites
Technological study of Brazilian government websitesTechnological study of Brazilian government websites
Technological study of Brazilian government websites
 
WCAG 2.1
WCAG 2.1WCAG 2.1
WCAG 2.1
 
Acessibilidade na web
Acessibilidade na webAcessibilidade na web
Acessibilidade na web
 
Aplicações em HTML5 para interação com a TV Digital
Aplicações em HTML5 para interação com a TV DigitalAplicações em HTML5 para interação com a TV Digital
Aplicações em HTML5 para interação com a TV Digital
 
Alt e Lang: Dois atributos da pesada
Alt e Lang: Dois atributos da pesadaAlt e Lang: Dois atributos da pesada
Alt e Lang: Dois atributos da pesada
 
Atributos textuais para imagens e SEO
Atributos textuais para imagens e SEOAtributos textuais para imagens e SEO
Atributos textuais para imagens e SEO
 
ALT and TITLE attributes in images and SEO
ALT and TITLE attributes in images and SEOALT and TITLE attributes in images and SEO
ALT and TITLE attributes in images and SEO
 
Web das Coisas - Que tal fazer coisas que sejam realmente úteis?
Web das Coisas - Que tal fazer coisas que sejam realmente úteis?Web das Coisas - Que tal fazer coisas que sejam realmente úteis?
Web das Coisas - Que tal fazer coisas que sejam realmente úteis?
 
Re-descentralizar a web!
Re-descentralizar a web!Re-descentralizar a web!
Re-descentralizar a web!
 

Quando e como usar WAI-ARIA