SlideShare a Scribd company logo
1 of 38
Download to read offline
ARIA Serious?
Eric Eggert · #ID24 2017 ·
https://slides.com/yatil/2017-id24/live
Eric Eggert
Web Accessibility Specialist @
Knowbility (Assessments, Teaching)
50% W3C Fellow → WAI/EOWG
DISCLAIMER:
This presentation contains
ARIA examples that are
preventing websites and
applications from being
accessible.
Don’t copy & paste.
WAI-ARIA:
Accessible Rich
Internet Applications
Internet
Applications
To ARIA or not to ARIA?
5 Rules of ARIA (according to )Notes on Using ARIA in HTML
First Rule of ARIA use
If you can use a native HTML5 element or attribute with the
semantics and behaviour you require already built in, instead of re-
purposing an element and adding an ARIA role, state or property to
make it accessible, then do so.
Second Rule of ARIA use
Do not change native semantics, unless you really have to .
Example
<h1 role="button">heading button</h1>
<h1><button>heading button</button></h1>
(Bad!)
(Good!)
Third Rule of ARIA use
All interactive ARIA controls must be usable with the keyboard.
Example
“ If using role=button the element must be able to receive focus and a
user must be able to activate the action associated with the element
using both the enter (on WIN OS) or return (MAC OS) and the space
key.
Fourth Rule of ARIA use
Do not use role="presentation" or aria-hidden="true" on a
visible focusable element.
Fifth Rule of ARIA use
All interactive elements must have an accessible name.
ARIA support
Heydon Pickering:
aria-controls is 💩💩
Blog Post
aria-controls example
<button
aria-expanded="false"
aria-controls="expandable">
open / close
</button>
<div id="expandable" hidden>
content of the expandable region
</div>
aria-controls example
<button
aria-expanded="false"
aria-controls="expandable">
open / close
</button>
<div>
<!-- a load of other markup,
including interactive
elements in focus order -->
</div>
<div id="expandable" hidden>
content of the expandable region
</div>
Support
✅ JAWS
Every other Screen Reader
Every other assistive technology
JAWS
“ When you focus an element with the attribute included, JAWS will
announce, “press the JAWS key plus Alt and M to move to the
controlled element.” Verbose and clumsy.
Then again, I’m not sure how else you’d go about supporting it.
But, that’s not the only problem. How in the hell do I move back? And,
even if I could, how would that be communicated and how long should
the option to move back remain active? No wonder the other screen
reader vendors are giving this a wide berth.
But there is more!
But there is more!
<button
aria-controls="elem1 elem2 elem3 elem4"
>
open / close
</button>
What to do?
“Same-page links to move users from one part of the
interface to another
Landmark roles to encapsulate major areas of the interface’s
functionality
Expandable areas that come immediately after their aria-
expanded controllers in the source (and in focus order)
roletype
aria-atomic
aria-busy
aria-controls
aria-describedat
aria-describedby
aria-disabled
aria-dropeffect
aria-flowto
aria-grabbed
aria-haspopup
aria-hidden
aria-invalid
aria-label
aria-labelledby
aria-live
aria-owns
aria-relevant
structurewidget window
aria-expanded
composite
aria-activedescendant
range
aria-valuemax
aria-valuemin
aria-valuenow
aria-valuetext
input command section
aria-expanded
separator
aria-expanded
aria-orientation
presentation
none
document
aria-expanded
sectionhead
aria-expanded
dialog
progressbar spinbutton
aria-valuemax
aria-valuemin
aria-valuenow
aria-required
slider
aria-valuemax
aria-valuemin
aria-valuenow
aria-orientation
scrollbar
aria-controls
aria-orientation
aria-valuemax
aria-valuemin
aria-valuenow
textbox
aria-activedescendant
aria-autocomplete
aria-multiline
aria-readonly
aria-required
option
aria-selected
aria-checked
aria-posinset
aria-setsize
checkbox
aria-checked
menuitem button
aria-expanded
aria-pressed
link
aria-expanded
listitem
aria-level
aria-posinset
aria-setsize
group
aria-activedescendant
tooltip img marquee definition note math region articlegridcell
aria-readonly
aria-required
aria-selected
heading
aria-level
tab
aria-posinset
aria-selected
aria-setsize
radio
aria-checked
aria-posinset
aria-setsize
menuitemcheckbox treeitem select
aria-orientation
row
aria-level
aria-selected
rowgroup
toolbar
aria-orientation
grid
aria-level
aria-multiselectable
aria-readonly
list landmark tabpanel log status alert rowheader
aria-sort
columnheader
aria-sort
menuitemradio radiogroup
aria-required
combobox
aria-expanded
aria-autocomplete
aria-required
tree
aria-multiselectable
aria-required
menu listbox
aria-multiselectable
aria-required
directory application banner complementary contentinfo form main navigation search timer alertdialog
treegrid menubar tablist
aria-level
aria-multiselectable
aria-orientation
text
WAI ARIA is
Complicated!
really
Also complicated for web
developers!
Exhibit 1 – Bad!
<a id="airline-logo" href="…"
class="logo"
aria-label="Airline Name">
&nbsp;
</a>
Exhibit 1 – Good!
<a id="logo" href="…">
<img src="…" alt="Airline Name">
</a>
<a id="logo" href="…">
<svg>
<title>Airline Name</title>
…
</svg>
</a>
Exhibit 2 – Bad!
<div class="nav">
<a href="javascript:void(0);"
class="navInactive"
role="button">
<span class="hiddenText">Slide 1</span>
</a>
<a href="javascript:void(0);"
class="navActive"
role="button">
<span class="hiddenText">Slide 2</span>
</a>
<a href="javascript:void(0);"
class="navInactive"
role="button">
<span class="hiddenText">Slide 3</span>
</a>
</div>
Exhibit 2 – Good!
<nav>
<button
aria-selected="false"
aria-label="Slide 1">
&nbsp;
</button>
<button
aria-selected="true"
aria-label="Slide 2">
&nbsp;
</button>
<button
aria-selected="false"
aria-label="Slide 4">
&nbsp;
</button>
</nav>
<nav>
<button
aria-selected="false">
<img src="…" alt="Slide 1">
</button>
<button
aria-selected="true">
<img src="…" alt="Slide 2">
</button>
<button
aria-selected="false">
<img src="…" alt="Slide 3">
</button>
</nav>
Exhibit 3 – Bad!
<th
tabindex="0"
role="button"
aria-label="Sort column"
>Name</th>
Exhibit 4 – Bad!*
<span
aria-hidden="true"
role="img"
class="icon">
</span>
*Actually not that bad,
but really, what is the point?!
Exhibit 5 – Really Bad!
<body aria-hidden="true">
Exhibit 6 – Bad!
<a
href="…"
target="_blank"
title="Click here to
view the video."
tabindex="-1"
role="button"
aria-label="External link"
></a>
The Components of ARIA
The Components of ARIA
Roles
States and Properties
Managing Focus
The Components of ARIA
Roles
States and Properties
Managing Focus
or rather: Keyboard Interaction
Thank You
Eric Eggert
Knowbility, yatil.net, @yatil
https://slides.com/yatil/2017-id24

More Related Content

Similar to ARIA Serious

WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...
WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...
WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...Patrick Lauke
 
WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...
WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...
WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...Patrick Lauke
 
Intro to Web Accessibility: Koombea TechTalks
Intro to Web Accessibility: Koombea TechTalksIntro to Web Accessibility: Koombea TechTalks
Intro to Web Accessibility: Koombea TechTalksKoombea
 
WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018
WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018
WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018Patrick Lauke
 
Accessibility of HTML5 and Rich Internet Applications - CSUN 2012
Accessibility of HTML5 and Rich Internet Applications - CSUN 2012Accessibility of HTML5 and Rich Internet Applications - CSUN 2012
Accessibility of HTML5 and Rich Internet Applications - CSUN 2012Steven Faulkner
 
Building accessible web components without tears
Building accessible web components without tearsBuilding accessible web components without tears
Building accessible web components without tearsRuss Weakley
 
An Introduction to WAI-ARIA
An Introduction to WAI-ARIAAn Introduction to WAI-ARIA
An Introduction to WAI-ARIAIWMW
 
Testing For Web Accessibility
Testing For Web AccessibilityTesting For Web Accessibility
Testing For Web AccessibilityHagai Asaban
 
JavaScript and Accessibility
JavaScript and AccessibilityJavaScript and Accessibility
JavaScript and AccessibilityJoseph Dolson
 
Accessibility in Design systems - the pain and glory
Accessibility in Design systems - the pain and gloryAccessibility in Design systems - the pain and glory
Accessibility in Design systems - the pain and gloryRuss Weakley
 
Web accessibility - WAI-ARIA a small introduction
Web accessibility - WAI-ARIA a small introductionWeb accessibility - WAI-ARIA a small introduction
Web accessibility - WAI-ARIA a small introductionGeoffroy Baylaender
 
jQuery: Accessibility, Mobile und Responsive
jQuery: Accessibility, Mobile und ResponsivejQuery: Accessibility, Mobile und Responsive
jQuery: Accessibility, Mobile und ResponsivePeter Rozek
 
Accessible web applications
Accessible web applications Accessible web applications
Accessible web applications Steven Faulkner
 
Accessibility in Flex
Accessibility in FlexAccessibility in Flex
Accessibility in Flexfugaciousness
 
Accessibility in Flex
Accessibility in FlexAccessibility in Flex
Accessibility in FlexEffectiveUI
 
Accessibility In Adobe Flex
Accessibility In Adobe FlexAccessibility In Adobe Flex
Accessibility In Adobe FlexEffective
 
Four Principles of Accessibility UK Version
Four Principles of Accessibility UK Version Four Principles of Accessibility UK Version
Four Principles of Accessibility UK Version Homer Gaines
 
The Rest of the Best
The Rest of the BestThe Rest of the Best
The Rest of the BestKevlin Henney
 

Similar to ARIA Serious (20)

WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...
WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...
WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...
 
WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...
WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...
WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...
 
Intro to Web Accessibility: Koombea TechTalks
Intro to Web Accessibility: Koombea TechTalksIntro to Web Accessibility: Koombea TechTalks
Intro to Web Accessibility: Koombea TechTalks
 
WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018
WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018
WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018
 
Accessibility of HTML5 and Rich Internet Applications - CSUN 2012
Accessibility of HTML5 and Rich Internet Applications - CSUN 2012Accessibility of HTML5 and Rich Internet Applications - CSUN 2012
Accessibility of HTML5 and Rich Internet Applications - CSUN 2012
 
Building accessible web components without tears
Building accessible web components without tearsBuilding accessible web components without tears
Building accessible web components without tears
 
Html5 aria-css-ibm-csun-2016
Html5 aria-css-ibm-csun-2016Html5 aria-css-ibm-csun-2016
Html5 aria-css-ibm-csun-2016
 
An Introduction to WAI-ARIA
An Introduction to WAI-ARIAAn Introduction to WAI-ARIA
An Introduction to WAI-ARIA
 
Testing For Web Accessibility
Testing For Web AccessibilityTesting For Web Accessibility
Testing For Web Accessibility
 
JavaScript and Accessibility
JavaScript and AccessibilityJavaScript and Accessibility
JavaScript and Accessibility
 
Accessibility in Design systems - the pain and glory
Accessibility in Design systems - the pain and gloryAccessibility in Design systems - the pain and glory
Accessibility in Design systems - the pain and glory
 
Web accessibility - WAI-ARIA a small introduction
Web accessibility - WAI-ARIA a small introductionWeb accessibility - WAI-ARIA a small introduction
Web accessibility - WAI-ARIA a small introduction
 
jQuery: Accessibility, Mobile und Responsive
jQuery: Accessibility, Mobile und ResponsivejQuery: Accessibility, Mobile und Responsive
jQuery: Accessibility, Mobile und Responsive
 
Accessible web applications
Accessible web applications Accessible web applications
Accessible web applications
 
Accessibility in Flex
Accessibility in FlexAccessibility in Flex
Accessibility in Flex
 
Accessibility in Flex
Accessibility in FlexAccessibility in Flex
Accessibility in Flex
 
Accessibility In Adobe Flex
Accessibility In Adobe FlexAccessibility In Adobe Flex
Accessibility In Adobe Flex
 
Four Principles of Accessibility UK Version
Four Principles of Accessibility UK Version Four Principles of Accessibility UK Version
Four Principles of Accessibility UK Version
 
Ajax and web aria
Ajax and web ariaAjax and web aria
Ajax and web aria
 
The Rest of the Best
The Rest of the BestThe Rest of the Best
The Rest of the Best
 

More from Eric Eggert

DrupalCamp Vienna 2015
DrupalCamp Vienna 2015DrupalCamp Vienna 2015
DrupalCamp Vienna 2015Eric Eggert
 
How to improve your website’s accessibility without going crazy
How to improve your website’s accessibility without going crazyHow to improve your website’s accessibility without going crazy
How to improve your website’s accessibility without going crazyEric Eggert
 
Github introduction for W3C WCAG WG and EOWG
Github introduction for W3C WCAG WG and EOWGGithub introduction for W3C WCAG WG and EOWG
Github introduction for W3C WCAG WG and EOWGEric Eggert
 
Neue Infos rund um WCAG 2.0
Neue Infos rund um WCAG 2.0Neue Infos rund um WCAG 2.0
Neue Infos rund um WCAG 2.0Eric Eggert
 
How to Learn about accessibility without going crazy #fronteers15
How to Learn about accessibility without going crazy #fronteers15How to Learn about accessibility without going crazy #fronteers15
How to Learn about accessibility without going crazy #fronteers15Eric Eggert
 
New developments in Web Accessibility
New developments in Web AccessibilityNew developments in Web Accessibility
New developments in Web AccessibilityEric Eggert
 
Internet und Webdesign (Historisches Dokument)
Internet und Webdesign (Historisches Dokument)Internet und Webdesign (Historisches Dokument)
Internet und Webdesign (Historisches Dokument)Eric Eggert
 
Vorteile von Webstandards (Historisches Dokument)
Vorteile von Webstandards (Historisches Dokument)Vorteile von Webstandards (Historisches Dokument)
Vorteile von Webstandards (Historisches Dokument)Eric Eggert
 
Internet-Geschichte und Webtechnologie (Historisches Dokument)
Internet-Geschichte und Webtechnologie (Historisches Dokument)Internet-Geschichte und Webtechnologie (Historisches Dokument)
Internet-Geschichte und Webtechnologie (Historisches Dokument)Eric Eggert
 
Fehler im Webdesign (Historisches Dokument)
Fehler im Webdesign (Historisches Dokument)Fehler im Webdesign (Historisches Dokument)
Fehler im Webdesign (Historisches Dokument)Eric Eggert
 
How I stopped worrying and learned to love with defaults – with Notes
How I stopped worrying and learned to love with defaults – with NotesHow I stopped worrying and learned to love with defaults – with Notes
How I stopped worrying and learned to love with defaults – with NotesEric Eggert
 
How I stopped worrying and learned to love with defaults — Without notes
How I stopped worrying and learned to love with defaults — Without notesHow I stopped worrying and learned to love with defaults — Without notes
How I stopped worrying and learned to love with defaults — Without notesEric Eggert
 
Neue aufregende Web Technologien, HTML5 + CSS3 anhand von Praxisbeispielen le...
Neue aufregende Web Technologien, HTML5 + CSS3 anhand von Praxisbeispielen le...Neue aufregende Web Technologien, HTML5 + CSS3 anhand von Praxisbeispielen le...
Neue aufregende Web Technologien, HTML5 + CSS3 anhand von Praxisbeispielen le...Eric Eggert
 
Fronteers Jam Session: Principles of Accessible Web Design
Fronteers Jam Session: Principles of  Accessible Web DesignFronteers Jam Session: Principles of  Accessible Web Design
Fronteers Jam Session: Principles of Accessible Web DesignEric Eggert
 
Accessibility 101 @ Webmontag Frankfurt Ignite, 2010-03-01
Accessibility 101 @ Webmontag Frankfurt Ignite, 2010-03-01Accessibility 101 @ Webmontag Frankfurt Ignite, 2010-03-01
Accessibility 101 @ Webmontag Frankfurt Ignite, 2010-03-01Eric Eggert
 
Webmontag Frankfurt 18.01.2010 — Beyond Borders and Boxes – Fortgeschrittene ...
Webmontag Frankfurt 18.01.2010 — Beyond Borders and Boxes – Fortgeschrittene ...Webmontag Frankfurt 18.01.2010 — Beyond Borders and Boxes – Fortgeschrittene ...
Webmontag Frankfurt 18.01.2010 — Beyond Borders and Boxes – Fortgeschrittene ...Eric Eggert
 
Webtech ’09 – Die Zukunft des Webs beginnt jetzt
Webtech ’09 – Die Zukunft des Webs beginnt jetztWebtech ’09 – Die Zukunft des Webs beginnt jetzt
Webtech ’09 – Die Zukunft des Webs beginnt jetztEric Eggert
 
Nutze die Macht @ IKT-Forum 09 Linz
Nutze die Macht @ IKT-Forum 09 LinzNutze die Macht @ IKT-Forum 09 Linz
Nutze die Macht @ IKT-Forum 09 LinzEric Eggert
 

More from Eric Eggert (20)

What is EOWG?
What is EOWG?What is EOWG?
What is EOWG?
 
What is EOWG?
What is EOWG?What is EOWG?
What is EOWG?
 
DrupalCamp Vienna 2015
DrupalCamp Vienna 2015DrupalCamp Vienna 2015
DrupalCamp Vienna 2015
 
How to improve your website’s accessibility without going crazy
How to improve your website’s accessibility without going crazyHow to improve your website’s accessibility without going crazy
How to improve your website’s accessibility without going crazy
 
Github introduction for W3C WCAG WG and EOWG
Github introduction for W3C WCAG WG and EOWGGithub introduction for W3C WCAG WG and EOWG
Github introduction for W3C WCAG WG and EOWG
 
Neue Infos rund um WCAG 2.0
Neue Infos rund um WCAG 2.0Neue Infos rund um WCAG 2.0
Neue Infos rund um WCAG 2.0
 
How to Learn about accessibility without going crazy #fronteers15
How to Learn about accessibility without going crazy #fronteers15How to Learn about accessibility without going crazy #fronteers15
How to Learn about accessibility without going crazy #fronteers15
 
New developments in Web Accessibility
New developments in Web AccessibilityNew developments in Web Accessibility
New developments in Web Accessibility
 
Internet und Webdesign (Historisches Dokument)
Internet und Webdesign (Historisches Dokument)Internet und Webdesign (Historisches Dokument)
Internet und Webdesign (Historisches Dokument)
 
Vorteile von Webstandards (Historisches Dokument)
Vorteile von Webstandards (Historisches Dokument)Vorteile von Webstandards (Historisches Dokument)
Vorteile von Webstandards (Historisches Dokument)
 
Internet-Geschichte und Webtechnologie (Historisches Dokument)
Internet-Geschichte und Webtechnologie (Historisches Dokument)Internet-Geschichte und Webtechnologie (Historisches Dokument)
Internet-Geschichte und Webtechnologie (Historisches Dokument)
 
Fehler im Webdesign (Historisches Dokument)
Fehler im Webdesign (Historisches Dokument)Fehler im Webdesign (Historisches Dokument)
Fehler im Webdesign (Historisches Dokument)
 
How I stopped worrying and learned to love with defaults – with Notes
How I stopped worrying and learned to love with defaults – with NotesHow I stopped worrying and learned to love with defaults – with Notes
How I stopped worrying and learned to love with defaults – with Notes
 
How I stopped worrying and learned to love with defaults — Without notes
How I stopped worrying and learned to love with defaults — Without notesHow I stopped worrying and learned to love with defaults — Without notes
How I stopped worrying and learned to love with defaults — Without notes
 
Neue aufregende Web Technologien, HTML5 + CSS3 anhand von Praxisbeispielen le...
Neue aufregende Web Technologien, HTML5 + CSS3 anhand von Praxisbeispielen le...Neue aufregende Web Technologien, HTML5 + CSS3 anhand von Praxisbeispielen le...
Neue aufregende Web Technologien, HTML5 + CSS3 anhand von Praxisbeispielen le...
 
Fronteers Jam Session: Principles of Accessible Web Design
Fronteers Jam Session: Principles of  Accessible Web DesignFronteers Jam Session: Principles of  Accessible Web Design
Fronteers Jam Session: Principles of Accessible Web Design
 
Accessibility 101 @ Webmontag Frankfurt Ignite, 2010-03-01
Accessibility 101 @ Webmontag Frankfurt Ignite, 2010-03-01Accessibility 101 @ Webmontag Frankfurt Ignite, 2010-03-01
Accessibility 101 @ Webmontag Frankfurt Ignite, 2010-03-01
 
Webmontag Frankfurt 18.01.2010 — Beyond Borders and Boxes – Fortgeschrittene ...
Webmontag Frankfurt 18.01.2010 — Beyond Borders and Boxes – Fortgeschrittene ...Webmontag Frankfurt 18.01.2010 — Beyond Borders and Boxes – Fortgeschrittene ...
Webmontag Frankfurt 18.01.2010 — Beyond Borders and Boxes – Fortgeschrittene ...
 
Webtech ’09 – Die Zukunft des Webs beginnt jetzt
Webtech ’09 – Die Zukunft des Webs beginnt jetztWebtech ’09 – Die Zukunft des Webs beginnt jetzt
Webtech ’09 – Die Zukunft des Webs beginnt jetzt
 
Nutze die Macht @ IKT-Forum 09 Linz
Nutze die Macht @ IKT-Forum 09 LinzNutze die Macht @ IKT-Forum 09 Linz
Nutze die Macht @ IKT-Forum 09 Linz
 

Recently uploaded

Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSMae Pangan
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
Millenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxMillenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxJanEmmanBrigoli
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
EMBODO Lesson Plan Grade 9 Law of Sines.docx
EMBODO Lesson Plan Grade 9 Law of Sines.docxEMBODO Lesson Plan Grade 9 Law of Sines.docx
EMBODO Lesson Plan Grade 9 Law of Sines.docxElton John Embodo
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationRosabel UA
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
The Contemporary World: The Globalization of World Politics
The Contemporary World: The Globalization of World PoliticsThe Contemporary World: The Globalization of World Politics
The Contemporary World: The Globalization of World PoliticsRommel Regala
 

Recently uploaded (20)

Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
Textual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHSTextual Evidence in Reading and Writing of SHS
Textual Evidence in Reading and Writing of SHS
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Millenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptxMillenials and Fillennials (Ethical Challenge and Responses).pptx
Millenials and Fillennials (Ethical Challenge and Responses).pptx
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
EMBODO Lesson Plan Grade 9 Law of Sines.docx
EMBODO Lesson Plan Grade 9 Law of Sines.docxEMBODO Lesson Plan Grade 9 Law of Sines.docx
EMBODO Lesson Plan Grade 9 Law of Sines.docx
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
Activity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translationActivity 2-unit 2-update 2024. English translation
Activity 2-unit 2-update 2024. English translation
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
The Contemporary World: The Globalization of World Politics
The Contemporary World: The Globalization of World PoliticsThe Contemporary World: The Globalization of World Politics
The Contemporary World: The Globalization of World Politics
 

ARIA Serious

  • 1. ARIA Serious? Eric Eggert · #ID24 2017 · https://slides.com/yatil/2017-id24/live
  • 2. Eric Eggert Web Accessibility Specialist @ Knowbility (Assessments, Teaching) 50% W3C Fellow → WAI/EOWG
  • 3. DISCLAIMER: This presentation contains ARIA examples that are preventing websites and applications from being accessible. Don’t copy & paste.
  • 6. To ARIA or not to ARIA? 5 Rules of ARIA (according to )Notes on Using ARIA in HTML
  • 7. First Rule of ARIA use If you can use a native HTML5 element or attribute with the semantics and behaviour you require already built in, instead of re- purposing an element and adding an ARIA role, state or property to make it accessible, then do so.
  • 8. Second Rule of ARIA use Do not change native semantics, unless you really have to .
  • 10. Third Rule of ARIA use All interactive ARIA controls must be usable with the keyboard.
  • 11. Example “ If using role=button the element must be able to receive focus and a user must be able to activate the action associated with the element using both the enter (on WIN OS) or return (MAC OS) and the space key.
  • 12. Fourth Rule of ARIA use Do not use role="presentation" or aria-hidden="true" on a visible focusable element.
  • 13. Fifth Rule of ARIA use All interactive elements must have an accessible name.
  • 16. aria-controls example <button aria-expanded="false" aria-controls="expandable"> open / close </button> <div id="expandable" hidden> content of the expandable region </div>
  • 17. aria-controls example <button aria-expanded="false" aria-controls="expandable"> open / close </button> <div> <!-- a load of other markup, including interactive elements in focus order --> </div> <div id="expandable" hidden> content of the expandable region </div>
  • 18. Support ✅ JAWS Every other Screen Reader Every other assistive technology
  • 19. JAWS “ When you focus an element with the attribute included, JAWS will announce, “press the JAWS key plus Alt and M to move to the controlled element.” Verbose and clumsy. Then again, I’m not sure how else you’d go about supporting it. But, that’s not the only problem. How in the hell do I move back? And, even if I could, how would that be communicated and how long should the option to move back remain active? No wonder the other screen reader vendors are giving this a wide berth.
  • 20. But there is more!
  • 21. But there is more! <button aria-controls="elem1 elem2 elem3 elem4" > open / close </button>
  • 22. What to do? “Same-page links to move users from one part of the interface to another Landmark roles to encapsulate major areas of the interface’s functionality Expandable areas that come immediately after their aria- expanded controllers in the source (and in focus order)
  • 23. roletype aria-atomic aria-busy aria-controls aria-describedat aria-describedby aria-disabled aria-dropeffect aria-flowto aria-grabbed aria-haspopup aria-hidden aria-invalid aria-label aria-labelledby aria-live aria-owns aria-relevant structurewidget window aria-expanded composite aria-activedescendant range aria-valuemax aria-valuemin aria-valuenow aria-valuetext input command section aria-expanded separator aria-expanded aria-orientation presentation none document aria-expanded sectionhead aria-expanded dialog progressbar spinbutton aria-valuemax aria-valuemin aria-valuenow aria-required slider aria-valuemax aria-valuemin aria-valuenow aria-orientation scrollbar aria-controls aria-orientation aria-valuemax aria-valuemin aria-valuenow textbox aria-activedescendant aria-autocomplete aria-multiline aria-readonly aria-required option aria-selected aria-checked aria-posinset aria-setsize checkbox aria-checked menuitem button aria-expanded aria-pressed link aria-expanded listitem aria-level aria-posinset aria-setsize group aria-activedescendant tooltip img marquee definition note math region articlegridcell aria-readonly aria-required aria-selected heading aria-level tab aria-posinset aria-selected aria-setsize radio aria-checked aria-posinset aria-setsize menuitemcheckbox treeitem select aria-orientation row aria-level aria-selected rowgroup toolbar aria-orientation grid aria-level aria-multiselectable aria-readonly list landmark tabpanel log status alert rowheader aria-sort columnheader aria-sort menuitemradio radiogroup aria-required combobox aria-expanded aria-autocomplete aria-required tree aria-multiselectable aria-required menu listbox aria-multiselectable aria-required directory application banner complementary contentinfo form main navigation search timer alertdialog treegrid menubar tablist aria-level aria-multiselectable aria-orientation text WAI ARIA is Complicated! really
  • 24. Also complicated for web developers!
  • 25. Exhibit 1 – Bad! <a id="airline-logo" href="…" class="logo" aria-label="Airline Name"> &nbsp; </a>
  • 26. Exhibit 1 – Good! <a id="logo" href="…"> <img src="…" alt="Airline Name"> </a> <a id="logo" href="…"> <svg> <title>Airline Name</title> … </svg> </a>
  • 27. Exhibit 2 – Bad! <div class="nav"> <a href="javascript:void(0);" class="navInactive" role="button"> <span class="hiddenText">Slide 1</span> </a> <a href="javascript:void(0);" class="navActive" role="button"> <span class="hiddenText">Slide 2</span> </a> <a href="javascript:void(0);" class="navInactive" role="button"> <span class="hiddenText">Slide 3</span> </a> </div>
  • 28. Exhibit 2 – Good! <nav> <button aria-selected="false" aria-label="Slide 1"> &nbsp; </button> <button aria-selected="true" aria-label="Slide 2"> &nbsp; </button> <button aria-selected="false" aria-label="Slide 4"> &nbsp; </button> </nav> <nav> <button aria-selected="false"> <img src="…" alt="Slide 1"> </button> <button aria-selected="true"> <img src="…" alt="Slide 2"> </button> <button aria-selected="false"> <img src="…" alt="Slide 3"> </button> </nav>
  • 29. Exhibit 3 – Bad! <th tabindex="0" role="button" aria-label="Sort column" >Name</th>
  • 30. Exhibit 4 – Bad!* <span aria-hidden="true" role="img" class="icon"> </span> *Actually not that bad, but really, what is the point?!
  • 31. Exhibit 5 – Really Bad! <body aria-hidden="true">
  • 32. Exhibit 6 – Bad! <a href="…" target="_blank" title="Click here to view the video." tabindex="-1" role="button" aria-label="External link" ></a>
  • 34. The Components of ARIA Roles States and Properties Managing Focus
  • 35. The Components of ARIA Roles States and Properties Managing Focus or rather: Keyboard Interaction
  • 36.
  • 37.
  • 38. Thank You Eric Eggert Knowbility, yatil.net, @yatil https://slides.com/yatil/2017-id24