Joseph Karr O’Connor @AccessibleJoe
Tautology Recapitulates Ontogeny
Accessible Rich Internet
Applications (ARIA) and HTML5
Joseph Karr O’Connor
Accessibility Consultant Since
1999
Invited Expet W3C HTML5
Accessibility Taskforce
WordPress Accessibility Group
Cities: Making Free Accessible
WordPress Themes
accessiblejoe.com/cities/
Accessibility
“Accessibility is the degree to which a
product, device, sevice, or
environment is available to as many
people as possible.” Cynthia Waddell
Accessibility
Alt text added
Header hiearchy
Media captioned
No autoplay!
Descriptive links
Resizable text
Keyboard access
Define language
Color optimized
Test
Accessibility
Alt text on logo
ARIA landmarks
Focus indicators
ID required fields
Page name <h1>
Table headers
Table captions
No “click here”
Remove tabindex
Test
ARIA
ARIA is a technical specification
published by the W3C that specifies how
to increase the accessibility of web pages
for users of Assistive Technology (AT).
ARIA
ARIA is markup:
role:
<main role="main">
state:
<input aria-invalid="true">
propety:
<input id="firstName" type="text"
aria-required="true" />
ARIA
ARIA document landmark roles: help
define the structure of the
document.
ARIA
ARIA landmark roles:
banner
navigation
search
main
aticle
complementay
contentinfo
ARIA
ARIA
ARIA
ARIA states and propeties help the
user understand how to inteact.
ARIA
ARIA States and Propeties:
aria-valuemin - stores lowest value
aria-valuemax - stores highest value
aria-valuenow - current value number
aria-valuetext - current value text
<div id="percent-loaded" role="progressbar" aria-
valuenow="75" aria-valuemin="0" aria-valuemax="100" />
ARIA
ARIA States and Propeties:
aria-labelledby - stores the id
attribute of a text label containing
an appropriate prompt
<input type="booze" aria
labelledby="drink"/>
(before role="application")
ARIA
ARIA Live Regions: allow document
elements to be announced if there
are changes, maintaining user focus.
ARIA
ARIA Live Regions: aria-live
<ul aria-live="on">
when changes happen:
polite - waits
assetive - interrupts
ARIA
The aria-atomic Propety: used
to indicate if AT should present all or
pat of the changed region to the
user.
ARIA
The aria-busy Propety: prevents
AT announcing changes before
updates are complete.
ARIA
The aria-relevant Propety:
indicates which regional changes are
relevant.
HTML5
Extends, improves and ationalizes
the markup available for documents.
HTML5
Introduces markup and application
progamming intefaces (APIs) for
complex web applications.
HTML5
HTML5 introduces elements: such as
<section>, <aticle>, <header> and
<nav>, designed to enrich the
semantic content of documents.
ARIA = HTML5
ARIA
aticle
header
navigation
complementay
HTML5
<aticle>
<header>
<nav>
<aside>
ARIA vs HTML5
Most screen readers suppot ARIA
and some features of HTML5,
sometimes resulting in too much
information.
ARIA vs HTML5
Magic: ARIA trumps HTML5:
optimize markup to reduce
verbosity and give AT users best UX.
Links
http://bit.ly/AccessibleJoeARIA
http://twitter.com/AccessibleJoe

UX ARIA Presentation