How: do we bridge the gap between achieving a task with the tools that we have in the environment that we are in?
Developers on the web have a responsibility and an opportunity to create accessible content.
A few of many accessibility tips and examples you can use:
<img src="images/doge_icecream.jpg" />
<img src="images/doge_icecream.jpg" alt="Doge Ice Cream" />
<input type="text" placeholder="Am I Focused?" />
<input class="focus-good-input" type="text" placeholder="I am definitely focused!" />
.focus-good-input:focus, .focus-good-input:hover {
outline:1px solid red;
background:yellow;
}
This is some text with low contrast.
.low-contrast {
color: #191970;
}
This is some text with high contrast.
.high-contrast {
color: yellow;
}
z-index
to hide objects
opacity: 0;
to hide objects
hidden
attribute (if supported)
display: none;
style
visibility: hidden;
style
<input id="name" type="text" />
<label for="name">Name:</label>
<input id="name" type="text" />
Structure:
<body>
<h1>heading text..
<section><h1>heading text...
<section><h1>heading text...
<section><h1>heading text...
</section>
</section>
</section>
</body>
<body>
<h1>heading text..
<section><h2>heading text...
<section><h3>heading text...
<section><h4>heading text...
</section>
</section>
</section>
</body>
Structure and Semantics:
<main></main>
<article></article>
Defines a way to make Web Content and Web Applications more accessible to people with disabilities.
http://www.w3.org/WAI/intro/ariaARIA is an extension of the HTML.
ARIA does not require any knowledge of other technologies.
You can start using ARIA by adding attributes to your HTML elements.
Indicate the type of the element. Provides the semantics.
button, alert, dialog, tablist, tabpanel, tab...
<div role="dialog" hidden>
<h2 id="dialogTitle">This is a dialog title</h2>
<p id="dialogDesc">This is a description of what this dialog is about.</p>
<button>Close</button>
</div>
<ul role="tablist">
<li>
<a role="tab" id="fruits-tab" href="#fruits" onclick="showFruits();">Fruits</a>
<div role="tabpanel" id="fruits">...</div>
</li>
<li>
<a role="tab" id="vegetables-tab" href="#vegetables" onclick="showVegetables();">Vegetables</a>
<div role="tabpanel" id="vegetables">...</div>
</li>
</ul>
Indicate the type of the element. Provides the semantics.
article, math, presentation, toolbar...
<ul role="tablist">
<li role="presentation">
<a role="tab" id="fruits-tab" href="#fruits" onclick="showFruits();>Fruits</a>
<div role="tabpanel" id="fruits">...</div>
</li>
<li role="presentation">
<a role="tab" id="vegetables-tab" href="#vegetables" onclick="showVegetables();">Vegetables</a>
<div role="tabpanel" id="vegetables">...</div>
</li>
</ul>
Indicate the type of the element. Provides the semantics.
main, search, log, complementary...
<main role="main">
Content here is part of the main region of the document
...
</main>
Provide specific Information about an object.
aria-describedby, aria-labelledby, aria-disabled...
<div role="dialog" aria-labelledby="dialogTitle" aria-describedby="dialogDesc">
<h2 id="dialogTitle">This is a dialog title</h2>
<p id="dialogDesc">This is a description of what this dialog is about.</p>
<button>Close</button>
</div>
<ul role="tablist">
<li role="presentation">
<a role="tab" id="fruits-tab" href="#fruits" onclick="showFruits();>Fruits</a>
<div role="tabpanel" id="fruits" aria-labelledby="fruits-tab">
...
</div>
</li>
<li role="presentation">
<a role="tab" id="vegetables-tab" href="#vegetables" onclick="showVegetables();">Vegetables</a>
<div role="tabpanel" id="vegetables" aria-labelledby="vegetables-tab">
...
</div>
</li>
</ul>
Provide specific Information about an object.
aria-selected, aria-controls, aria-haspopup, aria-autocomplete...
<ul role="tablist">
<li role="presentation">
<a role="tab" id="fruits-tab" href="#fruits" onclick="showFruits(); aria-selected="true">Fruits</a>
<div role="tabpanel" id="fruits" aria-labelledby="fruits-tab">
...
</div>
</li>
<li role="presentation">
<a role="tab" id="vegetables-tab" href="#vegetables" onclick="showVegetables();" aria-selected="false">Vegetables</a>
<div role="tabpanel" id="vegetables" aria-labelledby="vegetables-tab">
...
</div>
</li>
</ul>
Provide specific Information about an object.
aria-controls, aria-owns, aria-posinset, aria-setsize...
<ul role="tablist">
<li role="presentation">
<a role="tab" id="fruits-tab" href="#fruits" onclick="showFruits(); aria-controls="fruits" aria-selected="true">Fruits</a>
<div role="tabpanel" id="fruits" aria-labelledby="fruits-tab">
...
</div>
</li>
<li role="presentation">
<a role="tab" id="vegetables-tab" href="#vegetables" onclick="showVegetables();" aria-controls="vegetables" aria-selected="false">Vegetables</a>
<div role="tabpanel" id="vegetables" aria-labelledby="vegetables-tab">
...
</div>
</li>
</ul>
Accessibility Evaluation Toolbar
Yura Zenevich
Email: yzenevich@mozilla.com
IRC: yzen
Twitter: yura_zen
/