SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfSanaAli374401
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...christianmathematics
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...KokoStevan
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 

Kürzlich hochgeladen (20)

Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
SECOND SEMESTER TOPIC COVERAGE SY 2023-2024 Trends, Networks, and Critical Th...
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 

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