2 days in 5 minutes

a11y is everyone's job

Image describes how everyone is involved in the production of an accessible experience - from business analysts, to development, documentation and quality assurance.

Image describes how geeing everyone involved increases quality of experience for everyone and decreases likelyhood of litigation.

The Stack o'Progressive Enhancement

  1. Structure logically/semantically - not visually
  2. Use only elements that have meaning
  3. Relate elements as needed

Vital Stats

              
<h3>Vital Stats</h3>
<ul>
  <li>
    <label for="email">
        Email
    </label>
    <input id="email" type="text">
    <em>Promise not to spam!</em>
  </li>
  <li>
    <label for="shoe_size">
        Shoe size
    </label>
    <input id="shoe_size" type="text">
  </li>
</ul>
            
            

Vital Stats

              
<h3>Vital Stats</h3>
<ul class="pres">
  <li>
    <label for="email">
        Email
    </label>
    <input id="email" type="text">
    <em>Promise not to spam!</em>
  </li>
  <li>
    <label for="shoe_size">
        Shoe size
    </label>
    <input id="shoe_size" type="text">
  </li>
</ul>
            
            

Vital Stats

              
<h3>Vital Stats</h3>
<ul class="pres">
  <li>
    <label for="email">
      Email
    </label>
    <input id="email" type="email" placeholder="We really need this"
     required>
    <em>Promise not to spam!</em>
    
  </li>
  <li>
    <label for="shoe_size">
      Shoe size
    </label>
    <input id="shoe_size" type="number" min="5" max="18" step="0.5">
  </li>
</ul>
            
            

Vital Stats

              
<h3 id="vitalstats">Vital Stats</h3>
<ul class="pres" aria-describedby="vitalstats">
  <li>
    <label for="email">
      Email
    </label>
    <input id="email" id="email" type="email" 
      placeholder="We really need this" 
      required aria-describedby="emaildesc" aria-required="true">
    <em id="emaildesc">Promise not to spam!</em>
    
  </li>
  <li>
    <label for="shoe_size">
      Shoe size
    </label>
     <input id="shoe_size" type="number" min="5" max="18" 
      step="0.5">
  </li>
</ul>
            
            

Vital Stats

              
<div role="alert">Please use a valid email!</div>

$('#email5, #shoe_size5').blur(function(){
  //some validation....
  $(this).prev('div').attr('tabindex','-1').show().focus();
})

[role="alert"]{
  display:none;
  ....
}
            
            

Summit Web page

- http://environmentsforhumans.com/2014/accessibility-summit/

Transcripts

- http://www-personal.umich.edu/~gsilver/a11ypres/2014-a11ysummit/

W3C WAI

- http://www.w3.org/WAI/

Web AIM

- http://webaim.org/

This "presentation"

- http://www-personal.umich.edu/~gsilver/a11ypres/