Eric Eggert is a Web Developer and Teacher who works with Knowbility and the W3C on improving the Web for People with Disabilities, and everyone else.
My name is Eric Eggert and I work with Knowbility and the W3C to improve the Web for People with Disabilities. I work with Knowbility and they donate 50% of my work time to W3C as a fellowship.
Slide 3
Important Note:
This presentation contains ARIA examples that are preventing websites and applications from being accessible.
If you can use a native HTML element or attribute with the semantics and behavior you require already built in, instead of repurposing an element and adding an ARIA role, state or property to make it accessible, then do so.
Slide 11
Rule 2
Do not change native semantics, unless you really have to.
Slide 12
Bad Example:
<h1 role="button">heading button</h1>
Good Example:
<h1><button>heading button</button></h1>
Slide 13
Nicolas Steenhout @vavroom:
Here’s an accessibility gem: <h2 class="h3" role="heading" aria-level="1">Some heading</h2> #a11y
All interactive ARIA controls must be usable with the keyboard.
Slide 15
Rule 3
If you create a widget that a user can click or tap or drag or drop or slide or scroll, a user must also be able to navigate to the widget and perform an equivalent action using the keyboard. All interactive widgets must be scripted to respond to standard keystrokes or keystroke combinations where applicable.
Slide 16
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. — ARIA Practices Guide
Do not use role="presentation" or aria-hidden="true" on a focusable element. Using either of these on a focusable element will result in some users focusing on ‘nothing’.
Slide 19
Rule 5
All interactive elements must have an accessible name.
*Actually not harmful, but really, what is the point?!
Slide 36
Exhibit 5 – Really Bad!
<body aria-hidden="true">
Slide 37
Exhibit 6 – Bad!
<a
href="…"
target="_blank"
title="Click here to
view the video."
tabindex="-1"
role="button"
aria-label="External link"
></a>
Slide 38
Things you should not do: use an aria-live region on a carousel. Screen readers get constantly disrupted because the content changes. Makes your website impossible to use.