Speaker: Scott O’Hara
Twitter: @scottohara
Slides: https://scottaohara.github.io/talks_and_such/a11yTO-2019/
Sometimes CSS + HTML = semantics
- Responsive Tables.
- List styles (ol & ul are announced the same way)
- Css visibility: hidden and display: none, remove elements from semantics
- Display: contents (removes all the a11y mappings assigned to it)
Semantics, are really important for developers and robots that browse the site
<a href="….">
You can’t truly transform an anchor link into a button, without a lot of changes. For instance, there are difference when you Right Click in a button or a link.
You need to override the accessibility map of the link.
<img src="…." alt="…."/>
You can’t undo an image.
You could add a role via ARIA, however it’s not the most accurate way. It doesn’t translate well.
<section>
<header>
<footer>
All of these have the same semantics as a <div>
Sections should always have a role and label, watch out, it creates a landmark, we don’t want to many landmarks messing with the landmark navigation.
<menu>
<hgroup>
<menu>
is no longer being supported by Browsers as spected.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menu#Browser_compatibility