Andy Ernst
Software Engineer at Axon
https://slides.com/andyernst/a11y
http://www.interactiveaccessibility.com/accessibility-statistics
fix it now!
Dyslexic
Low vision, color blind
Hearing-impaired
Motor impaired
Non-sighted
http://geon.github.io/programming/2016/03/03/dsxyliea
user-scalable=no
auto-play?
Keyboard-only navigation
:hover, :focus {
outline: none;
}
Don't override
Instead:
:hover, :focus {
border-left: 2px solid blue;
}
?
But if you have to
tabindex > 0
tabindex="1"? tabindex="2"? tabindex="5"?
tabindex="0"
tabindex="-1"
focusable
js-focusable
Instead:
Use native HTML
⌘ + F5
VoiceOver is Installed on all iPhones and macs
See training in System Preferences > Accessibility > VoiceOver > Open Training
aria-label
aria-hidden
aria-live
role="button"
aria-label="Search articles"
aria-hidden="true"
aria-live="assertive"
.visuallyhidden {
border: 0;
clip: rect(0 0 0 0);
position: absolute;
height: 1px;
width: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
}
<span role="checkbox"
aria-checked="true"
tabindex="0">
label name
</span>
Semantic HTML is always best!
<article
className={classes}
role="listitem"
aria-owns="open-product-details">
Think of users
Test with keyboard
Test with a screen reader
Test with aXe
Pure HTML, no CSS, no JS
But we break it with nice styles and JS functionality
Accessible website? You win!
Andy Ernst
aernst@axon.com
https://slides.com/andyernst/a11y