Eric Eggert · AccessU 2018 ·
Web Accessibility Specialist @
Knowbility (Assessments, Teaching)
50% W3C Fellow → WAI/EOWG
Being disabled is not as unusual as one might think. Due to chronic health conditions and older people having a higher risk of disability, we are also currently paving the cowpath to an internet that we can still use in the future.
Accessibility has a very close relationship with usability, and advancements in accessibility often yield improvements in the usability of a website. Websites are also more adaptable to users’ needs when they are built in an accessible fashion.
Photo by Robson Hatsukami Morgan on Unsplash
In the time of table layouts, web developers could create code that passed validation rules but didn’t adhere to the underlying semantic HTML model. We later developed best practices, like using lists for navigation, and with HTML5 we started to wrap those lists in nav elements.
Working with accessibility standards is similar. The Web Content Accessibility Guidelines (WCAG) 2.0 can inform your decision to make websites accessible and can be used to test that you met the success criteria.
What it can’t do is measure how well you met them.
<h1>
–<h6>
)<p>
)<ul>
, <ol>
, <li>
, and <dl>
, <dt>
, <dd>
)<img>
, <svg>
)<table>
, <thead>
, <tbody>
, <tfoot>
, <tr>
, <td>
)<ul>
<li>Tomatoes</li>
<li>Potatoes</li>
</ul>
<ol>
<li>Cut Tomatoes</li>
<li>Cook Tomatoes</li>
</ol>
<dl>
<dt>Authors</dt>
<dd>John</dd>
<dd>Luke</dd>
<dt>Editor</dt>
<dd>Frank</dd>
</dl>
<dl>
<dt lang="en-US"><dfn>color</dfn></dt>
<dt lang="en-GB"><dfn>colour</dfn></dt>
<dd>A sensation which (in humans) derives from the ability of the fine structure of the eye to distinguish three differently filtered analyses of a view.</dd>
</dl>
<p>The following is an excerpt from the
<cite>The Story of my Life</cite>
by Helen Keller</p>
<blockquote>
<p>Even in the days before my teacher came,
I used to feel along the square stiff boxwood
hedges, and, guided by the sense of smell,
would find the first violets and lilies.
There, too, after a fit of temper,
I went to find comfort and to hide my hot face
in the cool leaves and grass.</p>
</blockquote>
<p>The following is an excerpt from the
<cite>The Story of my Life</cite>
by Helen Keller</p>
<blockquote cite="https://…">
<p>Even in the days before my teacher came,
I used to feel along the square stiff boxwood
hedges, and, guided by the sense of smell,
would find the first violets and lilies.
There, too, after a fit of temper,
I went to find comfort and to hide my hot face
in the cool leaves and grass.</p>
</blockquote>
They said <q>this is a sentence in English</q>.
Thes said <q lang="de">das ist ein Satz auf deutsch</q>.
Thes said <q lang="fr">qui est une phrase en français</q>.
Thes said <q lang="de-CH">das ist ein Satz auf deutsch</q>.
They said this is a sentence in English
.
Sie sagten das ist ein Satz auf deutsch
.
Thes said qui est une phrase en français
.
Thes said das ist ein Satz auf deutsch
.
<html lang="en">
xhtml:lang
!<header>
)*<footer>
)*<nav>
)<main>
)role="search"
)*Only if not used in an <article>
or <section>
.
<nav aria-label="Main">…</nav>
…
<nav aria-labeledby="onthispage">
<h3 id="onthispage">On this page</h3>
…
</nav>
5 Rules of ARIA (according to Notes on Using ARIA in HTML)
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.
Do not change native semantics, unless you really have to .
<h1 role="button">heading button</h1>
<h1><button>heading button</button></h1>
All interactive ARIA controls must be usable with the keyboard.
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.
Do not use role="presentation"
or aria-hidden="true"
on a visible focusable element.
All interactive elements must have an accessible name.
<nav aria-label="main">
<ul>
<li><a href="home.html">Home</a></li>
<li>
<a aria-current="true" href="#main">
Products
</a>
</li>
<li><a href="services.html">Services</a></li>
<li><a href="about.html">About</a></li>
</ul>
</nav>
Eric Eggert
Knowbility, yatil.net, @yatil
https://slides.com/yatil/2018-accessu-advanced-a11y