SlideShare a Scribd company logo
1 of 56
Download to read offline
10  Simple  Rules
for Making my Site Accessible
@ChrisAlbrecht@misshelenasue@Accessibots @AccessibotLilly
2
10 Simple Rules for Making Your Site Accessible
The Accessibots
Accessibility  tends  to  be  an  a<erthought  for  most  of  us.  We  make  
excuses  like  "it  will  add  too  much  cost  to  the  project,"  or  "I  can't  
make  Drupal  do  that,"  or  it  may  be  that  we  simply  don't  know.  
That's  where  we  come  in.
3
-Chris Albrecht-
Developer
LULLABOT // ACCESSIBOT
MOUNTAIN CLIMBER // BEER DRINKER
LOVER // DREAMER
!
“WHEN LIFE GETS YOU DOWN…MAKE A COMFORTER.” - BO BURNHAM
4
-Helena Zubkow-
Front-­‐end  Developer
LULLABOT // ACCESSIBOT
CODER // GAMER
GOLDEN HEART // TECHNICOLOR SOUL
!
“I AM NOT AFRAID… I WAS BORN TO DO THIS.” - JOAN OF ARC
5
Strategy  //  Design  //  Development
We’re an interactive strategy, design, and development company.
We create delightful experiences using Drupal and open source technologies.
6
(probably not deadly neurotoxin)
What Awaits You
Why?
Why  make  websites  accessible?
Live Demo
Taking  web  accessibility  off  some  
sweet  jumps
When?
PrioriVzing  web  accessibility  to  
make  it  happen
Amazing Tools
Accessibility  tools  and  how  to  
use  them
How?
Including  everyone:    
it’s  so  easy!
Fabulous Prizes
mumble  mumble  some  exclusions  
apply  mumble
Who?
Beneficiaries  and  proponents  of  
web  accessibility
Resources
Code  snippets  and  resources  
that  you  can  use
Why  does  web  accessibility  ma]er  anyway?
Lesson  1
8
What’s the Point?
Do  the  right  thing.  
Protect  against  lost  sales.  
It’s  the  law.
If There’s Time…
The  longer  you  wait,  the  harder  it  will  be  
to  implement.    Some  secVons  may  need  
complete  overhauls.
The Client Doesn’t Care
Doesn’t  care  or  doesn’t  know.    As  a  
developer  or  project  manager,  it’s  your  
responsibility.
Who’s it Really For?
Visually  Impaired,  Colorblind,  Hearing  
Impaired,  CogniVve  Differences,  Motor  
Impaired…  and  everyone  else!
9
Hover  States  
&  Focus
Are  You  There,  
Blog?  
!
It's  Me,  Markup.
Put  it  on  
My  Tab
Painless  Page    
Titles
You're  Out  of  
Order!  
!
This  Whole  Page  is  
Out  of  Order!
Keep  Your  
Focus
NO  CAPTCHAS  
If  You  Can
Alts,  Titles  and  
Bare  Text  
!
Oh  My!
Skip  it!
10
Provide a Textual Alternative to Non-Text Content
Alts, Titles and Bare Text! Oh My!
Images  are  missing  or  have  bad  ALT  a]ributes  
Icons  are  used  instead  of  text  links  
Vague  links  are  missing  valuable  context
What’s the Issue?
Why is it Important?
Screen  readers  can’t  see  images  
Icons  infer  context  for  sighted  users  
Images  with  text  can’t  be  read
11
Provide a Textual Alternative to Non-Text Content
Alts, Titles and Bare Text! Oh My!
Common Oversights
We’ll  go  back  and  fill  in  the  ALT  text  later.  
Leave  the  ALT  text  field  off.    It  makes  the  form  too  
clu]ered.  
Telling  users  the  image  is  an  image.  
Not  telling  users  where  a  link  is  taking  them.  
Just  going  with  the  Drupal  defaults.
12
Provide a Textual Alternative to Non-Text Content
Alts, Titles and Bare Text! Oh My!
Do It in Drupal!
Make  the  alt  text  field  required.  This  way  no  one  can  
‘forget’  to  fill  it  in.  
Many  accessibility  specialists  are  now  recommending  
to  disconVnue  use  of  the  Vtle  tag.
13
Provide a Textual Alternative to Non-Text Content
Alts, Titles and Bare Text! Oh My!
Do It in Drupal!
14
Provide a Textual Alternative to Non-Text Content
Alts, Titles and Bare Text! Oh My!
Examples
Bad  Examples  
!
<a	
  href="/about-­‐us">	
  
	
  	
  	
  <img	
  src="images/accessibots.png"	
  alt="The	
  Accessibots"	
  />	
  
</a>	
  
!
<a	
  href="http://www.awesome.com/article359395"	
  title="The	
  Most	
  Amazing	
  Article	
  
Ever">	
  
	
  	
  	
  The	
  Most	
  Amazing	
  Article	
  Ever	
  
</a>	
  
!
15
Provide a Textual Alternative to Non-Text Content
Alts, Titles and Bare Text! Oh My!
Examples
Good  Examples  
!
<a	
  href="/about-­‐us">	
  
	
  	
  	
  <img	
  src="images/accessibots.png"	
  alt=“The	
  Accessibots	
  Logo	
  -­‐	
  Only	
  You	
  Can	
  Prevent	
  
Inaccessible	
  Websites”/>	
  
	
  	
  	
  <span>Read	
  about	
  Helena	
  &	
  Chris</span>	
  
</a>	
  
!
<a	
  href="http://www.awesome.com/article359395">	
  
	
  	
  	
  Read	
  The	
  Most	
  Amazing	
  Article	
  Ever	
  at	
  Awesome.com	
  
</a>	
  
!
16
Provide a Textual Alternative to Non-Text Content
Alts, Titles and Bare Text! Oh My!
Examples
Debatable  
!
<a	
  href="http://www.awesome.com/article359395"	
  title="Read	
  this	
  article	
  at	
  
Awesome.com">	
  
	
  	
  	
  The	
  Most	
  Amazing	
  Article	
  Ever	
  
</a>	
  
!
17
Page titles that get to the point
Painless Page Titles
Page  Vtles  someVmes  appear  a<er  the  site  Vtle  
Pages  don’t  have  Vtles
What’s the Issue?
Why is it Important?
That’s  really  annoying  when  using  a  screen  reader,  
because  they  have  to  listen  to  the  Vtle  of  your  website  
before  they  can  page  through  to  hear  the  page  Vtle.
18
Page titles that get to the point
Painless Page Titles
Common Oversights
Puong  the  Vtle  of  the  website  before  the  Vtle  of  the  page.  
Forgeong  to  provide  a  page  Vtle.
19
Page titles that get to the point
Painless Page Titles
Do It in Drupal!
Drupal  is  nice  and  does  this  properly  for  you!  Hooray.  
Just  don’t  change  it.
20
Examples
Bad  Examples  
!
My	
  Awesome	
  Site	
  |	
  Home	
  
My	
  Awesome	
  Site	
  |	
  About	
  
My	
  Awesome	
  Site	
  |	
  Buy	
  Stuff	
  
!
My	
  Awesome	
  Site	
  
My	
  Awesome	
  Site	
  
My	
  Awesome	
  Site	
  
!
Page titles that get to the point
Painless Page Titles
21
Examples
Good  Examples  
!
Home	
  |	
  My	
  Awesome	
  Site	
  
About	
  |	
  My	
  Awesome	
  Site	
  
Buy	
  Stuff	
  |	
  My	
  Awesome	
  Site	
  
!
Page titles that get to the point
Painless Page Titles
22
‘Get out of Jail Free’ card for Keyboard Users
Skip it!
NavigaVon  o<en  remains  the  same  from  page  to  page  
This  is  annoying  and  repeVVve  for  screen  readers  
Something  nice  we  can  do  is  to  provide  a  skip  link
What’s the Issue?
Why is it Important?
No  one  wants  to  hear  the  same  links  read  over  and  over  
It  takes  a  long  Vme  to  page  through  to  get  to  the  content
23
‘Get out of Jail Free’ card for Keyboard Users
Skip it!
Common Oversights
Who’s  skip?  Why  am  I  linking  to  his  page?  
Assume  Drupal  ‘got  it’  without  checking.  
Using  Panels  without  configuring  the  skip  link.
24
‘Get out of Jail Free’ card for Keyboard Users
Skip it!
Do It in Drupal!
1. First,  make  sure  that  it’s  linking  to  a  region  that  actually  exists  
and  is  lower  in  the  DOM  than  the  nav.    
2. Add  tabindex=“0”  to  your  main  region  if  it’s  not  a  naturally  
focusable  element.  
3. Use  jQuery  to  force  the  focus  past  your  navigaVon  and  land  
the  user  at  the  main  content.  Skip  links  will  not  work  in  
Chrome  without  this  fix.
25
Examples
!
!
HTML  Setup  
html.tpl.php  
<a	
  href="#"	
  class="skip-­‐link">

	
  	
  	
  	
  	
  	
  <span	
  class="skip-­‐link__inner">

	
  	
  	
  	
  	
  	
  	
  	
  <?php	
  print	
  t('Skip	
  to	
  main	
  content');	
  ?>

	
  	
  	
  	
  	
  	
  </span>

</a>	
  
!
page.tpl.php  
<div	
  class="layout__primary"	
  tabindex="0">	
  
!
!
!
‘Get out of Jail Free’ card for Keyboard Users
Skip it!
26
Examples
Sass  Setup  
.skip-­‐link	
  {

	
  	
  display:	
  block;

	
  	
  position:	
  absolute;

	
  	
  background:	
  $white;

	
  	
  margin-­‐top:	
  -­‐25px;

	
  	
  z-­‐index:	
  6;

	
  	
  outline:	
  none;

	
  	
  transition:	
  margin	
  0.2s	
  ease;

	
  	
  font-­‐family:	
  $roboto;



	
  	
  &:focus	
  {

	
  	
  	
  	
  position:	
  relative;

	
  	
  	
  	
  margin-­‐top:	
  0;

	
  	
  	
  	
  height:	
  25px;

	
  	
  	
  	
  color:	
  $gray-­‐-­‐lightest;

	
  	
  }



	
  	
  .skip-­‐link__inner	
  {

	
  	
  	
  	
  display:	
  inline-­‐block;

	
  	
  	
  	
  background:	
  #812caf;

	
  	
  	
  	
  padding:	
  5px	
  10px	
  5px	
  5px;

	
  	
  	
  	
  border-­‐radius:	
  0	
  0	
  5px;

	
  	
  }

}
27
Examples
JS  Setup  
/**

	
  *	
  Skip	
  link	
  configuration

	
  */

Drupal.behaviors.skipLink	
  =	
  {

	
  	
  attach:	
  function	
  (context,	
  settings)	
  {

	
  	
  	
  	
  $('body',	
  context).once('skip-­‐link',	
  function	
  ()	
  {

	
  	
  	
  	
  	
  	
  $('.skip-­‐link').click(function()	
  {

	
  	
  	
  	
  	
  	
  	
  	
  $('.layout__primary').focus();

	
  	
  	
  	
  	
  	
  });

	
  	
  	
  	
  });

	
  	
  }

};
‘Get out of Jail Free’ card for Keyboard Users
Skip it!
28
Making interactive elements that don’t suck
Hovering around the Focus Issue
Hover  states  are  awesome!  
If  you  don’t  apply  the  styles  to  focus  as  well,  people  
who  aren’t  using  a  mouse  can’t  enjoy  them.  :(
What’s the Issue?
Why is it Important?
Everyone  should  get  to  enjoy  the  same  experience.  
SomeVmes  hover  states  impart  valuable  informaVon.
29
Making interactive elements that don’t suck
Hovering around the Focus Issue
Common Oversights
Aren’t  focus  styles  just  for  forms  and  stuff?  
Oops,  I  forgot.
30
Examples
Bad  Example  
!
.myclass	
  {	
  
	
  	
  	
  &:hover	
  {	
  
	
  	
  	
  	
  	
  color:	
  red;	
  
	
  	
  	
  }	
  
	
  }	
  
!
Making interactive elements that don’t suck
Hovering around the Focus Issue
31
Examples
Good  Example  
!
.myclass	
  {	
  
	
  	
  	
  &:hover,	
  
	
  	
  	
  &:focus	
  {	
  
	
  	
  	
  	
  	
  color:	
  red;	
  
	
  	
  	
  }	
  
	
  }	
  
!
Making interactive elements that don’t suck
Hovering around the Focus Issue
32
Everything clickable should be tab accessible
Put it on My Tab
Not  everyone  can  use  a  mouse.  If  your  interacVve  
elements  aren’t  focusable  elements,  not  everyone  can  
access  them.
What’s the Issue?
Why is it Important?
If  users  can’t  interact  with  elements  on  your  site,  they  
may  not  be  able  to  use  it  at  all.
33
Everything clickable should be tab accessible
Put it on My Tab
Common Oversights
Hamburger  menu  icons  that  are  divs  triggered  by  
jQuery  clicks  
Items  are  able  to  be  tabbed  to,  but  are  sVll  visually  
hidden  (drop-­‐down  menus)
34
Examples
Bad  Example  
!
<div	
  class=“hamburger-­‐icon”></div>	
  
!
Everything clickable should be tab accessible
Put it on My Tab
35
Examples
Good  Examples  
!
<a	
  class=“hamburger-­‐icon”>	
  
	
   <span	
  class=“link-­‐text—-­‐hidden”>Menu</span>	
  
</a>	
  
!
<a	
  class=“hamburger-­‐icon”>	
  
	
   <span	
  class=“element-­‐invisible”>Menu</span>	
  
</a>	
  
!
Everything clickable should be tab accessible
Put it on My Tab
36
Using element hierarchies properly
YOU’RE OUT OF ORDER!
SomeVmes  content  is  intuiVvely  posiVoned  with  CSS,  
but  is  out  of  order  in  the  source.  
Hierarchy  elements  are  someVmes  abused  for  styling
What’s the Issue?
Why is it Important?
This  makes  it  difficult  for  screenreader  users  to  navigate  
your  page  efficiently
37
Using element hierarchies properly
YOU’RE OUT OF ORDER!
Common Oversights
Using  the  wrong  header  element  because  it  is  a  be]er  
font  size  for  that  place  on  the  page.  
Using  Drupal's  default  templates.  
Arranging  markup  in  a  non-­‐logical  order  to  fulfill  a  
layout  requirement.  
Not  providing  "Skip  Links"  in  helpful  places  to  allow  
screen  readers  to  jump  past  inaccessible  secVons  to  
get  to  accessible  versions.
38
Using element hierarchies properly
YOU’RE OUT OF ORDER!
Do It in Drupal!
Configure  templates  to  use  proper  headings.  
Views,  panels  and  blocks  all  allow  this  easily  
If  you  need  a  more  specific  template,  add  a  template  suggesVon  
in  a  preprocess  hook.  
Try  to  uVlize  CSS  layout  tools  like  flexbox  to  arrange  elements  on  
the  screen  visually  while  maintaining  the  proper  source  order.  
Create  "readable"  versions  of  complex  interacVons  such  as  
slideshows  and  graphical  data  and  use  skip  links  to  allow  screen  
readers  to  "jump"  to  the  readable  informaVon.  
39
Examples
Bad  Example  
!
<h2>Me  &  My  Crappy  Code</h2>  
<p  class=“bigger”>How  do  I  feel  about  web  accessibility?</p>  
<div>I  love  <h1>coding!</h1>  I  can’t  wait  to  learn  accessibility  so  that  my  sites  
aren’t  <h3>annoying</h3>!  
</div>  
<p  class=“bigger”>I  have  no  idea  how  to  do  this.</p>  
<div>What  a  <h1>pain</h1>  for  everybody.</div>  
!
Using element hierarchies properly
YOU’RE OUT OF ORDER!
40
Examples
Good  Example  
!
<h1>Me  &  My  Friendly  Code</h1>  
<h2>How  do  I  feel  about  web  accessibility?</h2>  
<p>I  love  <strong>coding!</strong>  I’m  so  glad  I  learned  web  accessibility  so  that  
my  sites  aren’t  <i>annoying</i></p>  
<h2>Why  is  friendly  code  great?</h2>  
<p>A  li]le  more  informaVon  about  doing  it  right.</p>  
Using element hierarchies properly
YOU’RE OUT OF ORDER!
41
When to Hide, and When to Go Invisible
Are You There, Blog? It's Me, Markup.
Elements  removed  using  `display:  none`  are  not  picked  
read  by  screen  readers.
What’s the Issue?
Why is it Important?
Screen  readers  skip  big  chunks  of  content  and  can’t  
interpret  complex  components.
42
When to Hide, and When to Go Invisible
Are You There, Blog? It's Me, Markup.
Common Oversights
‘Display:  none’  is  easier.    It’s  a  CSS  property.  
jQuery  uses  ‘display:  none’  in  UI  components
43
Do It in Drupal!
When to Hide, and When to Go Invisible
Are You There, Blog? It's Me, Markup.
Use  Drupal’s  ‘.element-­‐invisible’  to  hide  content  that  should  not  be  visible,  but  sVll  
be  read.  
Note:  Don’t  use  this  if  your  site  will  be  translated  to  a  right-­‐to-­‐le<  language!  
Make  a  class  using  the  opacity  /  font-­‐size  trick  we  talked  about  earlier  to  use  
here  instead.  
Look  for  accessible  jQuery  plugins  that  support  Aria  Tags  
h]p://hanshillen.github.io/jqtest  
h]ps://plugins.jquery.com/tag/accessibility  
Use  custom  jQuery  events  to  override  the  `display:  none`  css.
44
Examples
Bad  Example  
!
<div	
  id=“accordion”>	
  
	
  	
  <h3>Chapter	
  1</h3>	
  
	
  	
  <div	
  class=“block1”>CONTENT!</div>	
  
	
  	
  <h3>Chapter	
  2</h3>	
  
	
  	
  <div	
  class=“block2”	
  style=“display:	
  none”>INVISIBLE	
  CONTENT!</div>	
  
</div>	
  
!
When to Hide, and When to Go Invisible
Are You There, Blog? It's Me, Markup.
45
Examples
Good  Example  
!
<div	
  id=“accordion”>	
  
	
  	
  <h3>Chapter	
  1</h3>	
  
	
  	
  <div	
  class=“block1”>CONTENT!</div>	
  
	
  <h3>Chapter	
  2</h3>	
  
	
  	
  <div	
  class=“block2	
  element-­‐invisible”>INVISIBLE	
  CONTENT!</div>	
  
</div>	
  
When to Hide, and When to Go Invisible
Are You There, Blog? It's Me, Markup.
46
Do It in Drupal!
When to Hide, and When to Go Invisible
Are You There, Blog? It's Me, Markup.
Drupal  8’s  built-­‐in  accessibility  classes  are  a  li]le  bit  different.  There’s  a  change  
noVce  on  drupal.org  that  explains  this  here:  h]ps://www.drupal.org/node/2022859
47
Examples
Bad  Example  
!
$(this).slideUp();	
  
When to Hide, and When to Go Invisible
Are You There, Blog? It's Me, Markup.
48
Examples
Good  Example  
!
$.fn.aSlideUp	
  =	
  function(duration,	
  callback)	
  {	
  
	
  	
  	
  	
  var	
  $this	
  =	
  $(this);	
  
	
  	
  
	
  	
  	
  	
  $this.slideUp(duration,	
  function()	
  {	
  
	
  	
  	
  	
  	
  	
  $this.addClass('element-­‐invisble').show();	
  
	
  	
  	
  	
  });	
  
	
  };	
  
When to Hide, and When to Go Invisible
Are You There, Blog? It's Me, Markup.
49
Because not being able to see does not prove that you’re not a human.
No CAPTCHAs if You Can
CAPTCHAs  are  inaccessible.  
CAPTCHAs  don’t  work.  
CAPTCHAs  annoy  everyone.
What’s the Issue?
Why is it Important?
It’s  rude  to  tell  people  that  they  aren’t  human  because  
they  can’t  pass  a  vision  test.  
CAPTCHAs  make  your  site  inaccessible  to  valid  users.
50
Because not being able to see does not prove that you’re not a human.
No CAPTCHAS if You Can
Common Oversights
My  CAPTCHA  has  an  audio  version,  so  it’s  accessible.  
I  need  a  CAPTCHA  to  keep  out  spam  bots,  so  it’s  a  
necessary  evil.
51
Because not being able to see does not prove that you’re not a human.
No CAPTCHAS if You Can
Do It in Drupal!
There’s  a  module  for  that  -­‐  Honeypot  
h]ps://www.drupal.org/node/1232638
52
Focus Indicators Need to Stay On
Keep Your Focus
Default  focus  indicators  are  someVmes  disabled  for  style  
reasons  and  are  not  replaced  with  an  appropriate  
subsVtute.
What’s the Issue?
Why is it Important?
Sighted  keyboard  users  need  those  visual  focus  
indicators  to  be  able  to  tell  where  they  are  on  the  page.
53
Focus Indicators Need to Stay On
Keep Your Focus
Common Oversights
What  are  these  weird  blue  lines?  
They  don’t  match  my  website  /  I  don’t  like  how  they  look.  
The  client  doesn’t  want  them  there.
54
Examples
We  have  three  great  choices  for  focus  indicaVon:  
!
1. Just  leave  them  alone.  
2. If  need  be,  style  them!  It’s  okay  to  change  them  a  li]le  to  make  them  
fit  with  the  style  of  the  site,  as  long  as  the  change  is  sVll  evident.  
3. Use  something  else  altogether  -­‐  as  long  as  it’s  a  noVceable  change  
and  it’s  on  everything  that  can  receive  focus.  
Focus Indicators Need to Stay On
Keep Your Focus
55
How Do I Test This Stuff?
Wave  Tool    
h]p://wave.webaim.org/
Color  Oracle    
h]p://colororacle.org/
Quail  
h]p://quailjs.org/  
Drupal  Accessibility  Module  
h]ps://www.drupal.org/project/accessibility
56
h]p://www.accessibots.io
The Accessibots
Chris Albrecht
Developer  //  Technical  PM
@ChrisAlbrecht
Lilly Bot
Mascot
@accessibotlilly
Helena Zubkow
Front-­‐End  Developer
@misshelenasue

More Related Content

What's hot

Beyond Responsive Web Design
Beyond Responsive Web DesignBeyond Responsive Web Design
Beyond Responsive Web Designarborwebsolutions
 
Keyboard and Interaction Accessibility Techniques
Keyboard and Interaction Accessibility TechniquesKeyboard and Interaction Accessibility Techniques
Keyboard and Interaction Accessibility TechniquesJared Smith
 
Accessibility in Pattern Libraries
Accessibility in Pattern LibrariesAccessibility in Pattern Libraries
Accessibility in Pattern LibrariesRuss Weakley
 
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...SocialBiz UserGroup
 
Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012Stephen Hay
 
Responsive Design
Responsive DesignResponsive Design
Responsive DesignSara Cannon
 
Joomla Explained - As Easy as 1, 2, 3
Joomla Explained - As Easy as 1, 2, 3Joomla Explained - As Easy as 1, 2, 3
Joomla Explained - As Easy as 1, 2, 3Rod Martin
 
Style Guides Are The New Photoshop (Fronteers 2012)
Style Guides Are The New Photoshop (Fronteers 2012)Style Guides Are The New Photoshop (Fronteers 2012)
Style Guides Are The New Photoshop (Fronteers 2012)Stephen Hay
 
Why Game Developers Should Care About HTML5
Why Game Developers Should Care About HTML5Why Game Developers Should Care About HTML5
Why Game Developers Should Care About HTML5Bramus Van Damme
 
Mobile First Responsive Design
Mobile First Responsive DesignMobile First Responsive Design
Mobile First Responsive DesignJason Grigsby
 
Responsive Websites
Responsive WebsitesResponsive Websites
Responsive WebsitesJoe Seifi
 
State of jQuery '09
State of jQuery '09State of jQuery '09
State of jQuery '09jeresig
 
Responsive design: techniques and tricks to prepare your websites for the mul...
Responsive design: techniques and tricks to prepare your websites for the mul...Responsive design: techniques and tricks to prepare your websites for the mul...
Responsive design: techniques and tricks to prepare your websites for the mul...Andreas Bovens
 
Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013Jason Grigsby
 
Responsive Design Tools & Resources
Responsive Design Tools & ResourcesResponsive Design Tools & Resources
Responsive Design Tools & ResourcesClarissa Peterson
 
Responsive Design Workflow
Responsive Design WorkflowResponsive Design Workflow
Responsive Design WorkflowIntergen
 
Now you see me... Adaptive Web Design and Development
Now you see me... Adaptive Web Design and DevelopmentNow you see me... Adaptive Web Design and Development
Now you see me... Adaptive Web Design and DevelopmentJonas Päckos
 
Web Standards And Protocols
Web Standards And ProtocolsWeb Standards And Protocols
Web Standards And ProtocolsSteven Cahill
 
Building jQuery Mobile Web Apps
Building jQuery Mobile Web AppsBuilding jQuery Mobile Web Apps
Building jQuery Mobile Web AppsOperation Mobile
 

What's hot (20)

Beyond Responsive Web Design
Beyond Responsive Web DesignBeyond Responsive Web Design
Beyond Responsive Web Design
 
Keyboard and Interaction Accessibility Techniques
Keyboard and Interaction Accessibility TechniquesKeyboard and Interaction Accessibility Techniques
Keyboard and Interaction Accessibility Techniques
 
Accessibility in Pattern Libraries
Accessibility in Pattern LibrariesAccessibility in Pattern Libraries
Accessibility in Pattern Libraries
 
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
 
Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012Responsive Design Workflow: Mobilism 2012
Responsive Design Workflow: Mobilism 2012
 
Responsive Design
Responsive DesignResponsive Design
Responsive Design
 
Joomla Explained - As Easy as 1, 2, 3
Joomla Explained - As Easy as 1, 2, 3Joomla Explained - As Easy as 1, 2, 3
Joomla Explained - As Easy as 1, 2, 3
 
Style Guides Are The New Photoshop (Fronteers 2012)
Style Guides Are The New Photoshop (Fronteers 2012)Style Guides Are The New Photoshop (Fronteers 2012)
Style Guides Are The New Photoshop (Fronteers 2012)
 
Why Game Developers Should Care About HTML5
Why Game Developers Should Care About HTML5Why Game Developers Should Care About HTML5
Why Game Developers Should Care About HTML5
 
Real solutions, no tricks
Real solutions, no tricksReal solutions, no tricks
Real solutions, no tricks
 
Mobile First Responsive Design
Mobile First Responsive DesignMobile First Responsive Design
Mobile First Responsive Design
 
Responsive Websites
Responsive WebsitesResponsive Websites
Responsive Websites
 
State of jQuery '09
State of jQuery '09State of jQuery '09
State of jQuery '09
 
Responsive design: techniques and tricks to prepare your websites for the mul...
Responsive design: techniques and tricks to prepare your websites for the mul...Responsive design: techniques and tricks to prepare your websites for the mul...
Responsive design: techniques and tricks to prepare your websites for the mul...
 
Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013Mobile First Responsive Web Design — BD Conf Oct 2013
Mobile First Responsive Web Design — BD Conf Oct 2013
 
Responsive Design Tools & Resources
Responsive Design Tools & ResourcesResponsive Design Tools & Resources
Responsive Design Tools & Resources
 
Responsive Design Workflow
Responsive Design WorkflowResponsive Design Workflow
Responsive Design Workflow
 
Now you see me... Adaptive Web Design and Development
Now you see me... Adaptive Web Design and DevelopmentNow you see me... Adaptive Web Design and Development
Now you see me... Adaptive Web Design and Development
 
Web Standards And Protocols
Web Standards And ProtocolsWeb Standards And Protocols
Web Standards And Protocols
 
Building jQuery Mobile Web Apps
Building jQuery Mobile Web AppsBuilding jQuery Mobile Web Apps
Building jQuery Mobile Web Apps
 

Viewers also liked

The Influence of Social Affordance on Collective Creativity Emerged via Smart...
The Influence of Social Affordance on Collective Creativity Emerged via Smart...The Influence of Social Affordance on Collective Creativity Emerged via Smart...
The Influence of Social Affordance on Collective Creativity Emerged via Smart...Junie Kwon
 
Game UX Design and Evaluation
Game UX Design and EvaluationGame UX Design and Evaluation
Game UX Design and EvaluationGena Drahun
 
Clean up the mess with MVP
Clean up the mess with MVPClean up the mess with MVP
Clean up the mess with MVPGena Drahun
 
UX Maturity Models
UX Maturity Models   UX Maturity Models
UX Maturity Models Gena Drahun
 
User Experience (UX) Demystified
User Experience (UX) DemystifiedUser Experience (UX) Demystified
User Experience (UX) DemystifiedAlan Blood
 
Reverse Chaos Method of Requirements Prioritisation
Reverse Chaos Method of Requirements Prioritisation  Reverse Chaos Method of Requirements Prioritisation
Reverse Chaos Method of Requirements Prioritisation Gena Drahun
 
Affordances in Modern Web Design
Affordances in Modern Web DesignAffordances in Modern Web Design
Affordances in Modern Web DesignUX Booth
 
Big-tent UX (UX Camp West 2016)
Big-tent UX (UX Camp West 2016)Big-tent UX (UX Camp West 2016)
Big-tent UX (UX Camp West 2016)Peter Boersma
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017Drift
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheLeslie Samuel
 

Viewers also liked (11)

The Influence of Social Affordance on Collective Creativity Emerged via Smart...
The Influence of Social Affordance on Collective Creativity Emerged via Smart...The Influence of Social Affordance on Collective Creativity Emerged via Smart...
The Influence of Social Affordance on Collective Creativity Emerged via Smart...
 
Game UX Design and Evaluation
Game UX Design and EvaluationGame UX Design and Evaluation
Game UX Design and Evaluation
 
Clean up the mess with MVP
Clean up the mess with MVPClean up the mess with MVP
Clean up the mess with MVP
 
UX Maturity Models
UX Maturity Models   UX Maturity Models
UX Maturity Models
 
User Experience (UX) Demystified
User Experience (UX) DemystifiedUser Experience (UX) Demystified
User Experience (UX) Demystified
 
Reverse Chaos Method of Requirements Prioritisation
Reverse Chaos Method of Requirements Prioritisation  Reverse Chaos Method of Requirements Prioritisation
Reverse Chaos Method of Requirements Prioritisation
 
Affordances in Modern Web Design
Affordances in Modern Web DesignAffordances in Modern Web Design
Affordances in Modern Web Design
 
Big-tent UX (UX Camp West 2016)
Big-tent UX (UX Camp West 2016)Big-tent UX (UX Camp West 2016)
Big-tent UX (UX Camp West 2016)
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017
 
Build Features, Not Apps
Build Features, Not AppsBuild Features, Not Apps
Build Features, Not Apps
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Similar to 10 Simple Rules for Making My Site Accessible

Web Accessibility for the 21st Century
Web Accessibility for the 21st CenturyWeb Accessibility for the 21st Century
Web Accessibility for the 21st Centurydreamwidth
 
Making Your Site Printable: CSS Summit 2014
Making Your Site Printable: CSS Summit 2014Making Your Site Printable: CSS Summit 2014
Making Your Site Printable: CSS Summit 2014Adrian Roselli
 
How Accessibility Made Me a Better Developer
How Accessibility Made Me a Better DeveloperHow Accessibility Made Me a Better Developer
How Accessibility Made Me a Better DeveloperBilly Gregory
 
Stefan Judis "Did we(b development) lose the right direction?"
Stefan Judis "Did we(b development) lose the right direction?"Stefan Judis "Did we(b development) lose the right direction?"
Stefan Judis "Did we(b development) lose the right direction?"Fwdays
 
Professional web development with libraries
Professional web development with librariesProfessional web development with libraries
Professional web development with librariesChristian Heilmann
 
Aucd ppt
Aucd pptAucd ppt
Aucd ppticidemo
 
RWD in the Wild
RWD in the WildRWD in the Wild
RWD in the WildRich Quick
 
Web Accessibility Gone Wild
Web Accessibility Gone WildWeb Accessibility Gone Wild
Web Accessibility Gone WildJared Smith
 
Worry free web development
Worry free web developmentWorry free web development
Worry free web developmentEstelle Weyl
 
Html 5 mobile - nitty gritty
Html 5 mobile - nitty grittyHtml 5 mobile - nitty gritty
Html 5 mobile - nitty grittyMario Noble
 
Web Accessibility Gone Wild
Web Accessibility Gone WildWeb Accessibility Gone Wild
Web Accessibility Gone WildJared Smith
 
Fringe Accessibility: London Web Standards
Fringe Accessibility: London Web StandardsFringe Accessibility: London Web Standards
Fringe Accessibility: London Web StandardsAdrian Roselli
 
Fringe Accessibility — Portland UX
Fringe Accessibility — Portland UXFringe Accessibility — Portland UX
Fringe Accessibility — Portland UXAdrian Roselli
 
Style Guide Best Practices
Style Guide Best PracticesStyle Guide Best Practices
Style Guide Best PracticesBrad Frost
 
Fringe Accessibility: A11y Camp Toronto 2015
Fringe Accessibility: A11y Camp Toronto 2015Fringe Accessibility: A11y Camp Toronto 2015
Fringe Accessibility: A11y Camp Toronto 2015Adrian Roselli
 

Similar to 10 Simple Rules for Making My Site Accessible (20)

Web Accessibility for the 21st Century
Web Accessibility for the 21st CenturyWeb Accessibility for the 21st Century
Web Accessibility for the 21st Century
 
Making Your Site Printable: CSS Summit 2014
Making Your Site Printable: CSS Summit 2014Making Your Site Printable: CSS Summit 2014
Making Your Site Printable: CSS Summit 2014
 
Look ma! No images!
Look ma! No images!Look ma! No images!
Look ma! No images!
 
Making Web Accessibility Sexy
Making Web Accessibility SexyMaking Web Accessibility Sexy
Making Web Accessibility Sexy
 
How Accessibility Made Me a Better Developer
How Accessibility Made Me a Better DeveloperHow Accessibility Made Me a Better Developer
How Accessibility Made Me a Better Developer
 
Stefan Judis "Did we(b development) lose the right direction?"
Stefan Judis "Did we(b development) lose the right direction?"Stefan Judis "Did we(b development) lose the right direction?"
Stefan Judis "Did we(b development) lose the right direction?"
 
Professional web development with libraries
Professional web development with librariesProfessional web development with libraries
Professional web development with libraries
 
Aucd ppt
Aucd pptAucd ppt
Aucd ppt
 
RWD in the Wild
RWD in the WildRWD in the Wild
RWD in the Wild
 
EVOLVE'16 | Maximize | Libby Schaper & Gina Petrucceli | Web Accessibility & AEM
EVOLVE'16 | Maximize | Libby Schaper & Gina Petrucceli | Web Accessibility & AEMEVOLVE'16 | Maximize | Libby Schaper & Gina Petrucceli | Web Accessibility & AEM
EVOLVE'16 | Maximize | Libby Schaper & Gina Petrucceli | Web Accessibility & AEM
 
EVOLVE'16 | Maximize | Gina Petruccelli & Libby Schaper | Web Accessibility &...
EVOLVE'16 | Maximize | Gina Petruccelli & Libby Schaper | Web Accessibility &...EVOLVE'16 | Maximize | Gina Petruccelli & Libby Schaper | Web Accessibility &...
EVOLVE'16 | Maximize | Gina Petruccelli & Libby Schaper | Web Accessibility &...
 
Web Accessibility Gone Wild
Web Accessibility Gone WildWeb Accessibility Gone Wild
Web Accessibility Gone Wild
 
Worry free web development
Worry free web developmentWorry free web development
Worry free web development
 
Html 5 mobile - nitty gritty
Html 5 mobile - nitty grittyHtml 5 mobile - nitty gritty
Html 5 mobile - nitty gritty
 
Web Accessibility Gone Wild
Web Accessibility Gone WildWeb Accessibility Gone Wild
Web Accessibility Gone Wild
 
Fringe Accessibility: London Web Standards
Fringe Accessibility: London Web StandardsFringe Accessibility: London Web Standards
Fringe Accessibility: London Web Standards
 
Fringe Accessibility — Portland UX
Fringe Accessibility — Portland UXFringe Accessibility — Portland UX
Fringe Accessibility — Portland UX
 
Style Guide Best Practices
Style Guide Best PracticesStyle Guide Best Practices
Style Guide Best Practices
 
SEO and Accessibility
SEO and AccessibilitySEO and Accessibility
SEO and Accessibility
 
Fringe Accessibility: A11y Camp Toronto 2015
Fringe Accessibility: A11y Camp Toronto 2015Fringe Accessibility: A11y Camp Toronto 2015
Fringe Accessibility: A11y Camp Toronto 2015
 

Recently uploaded

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 

Recently uploaded (20)

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 

10 Simple Rules for Making My Site Accessible

  • 1. 10  Simple  Rules for Making my Site Accessible @ChrisAlbrecht@misshelenasue@Accessibots @AccessibotLilly
  • 2. 2 10 Simple Rules for Making Your Site Accessible The Accessibots Accessibility  tends  to  be  an  a<erthought  for  most  of  us.  We  make   excuses  like  "it  will  add  too  much  cost  to  the  project,"  or  "I  can't   make  Drupal  do  that,"  or  it  may  be  that  we  simply  don't  know.   That's  where  we  come  in.
  • 3. 3 -Chris Albrecht- Developer LULLABOT // ACCESSIBOT MOUNTAIN CLIMBER // BEER DRINKER LOVER // DREAMER ! “WHEN LIFE GETS YOU DOWN…MAKE A COMFORTER.” - BO BURNHAM
  • 4. 4 -Helena Zubkow- Front-­‐end  Developer LULLABOT // ACCESSIBOT CODER // GAMER GOLDEN HEART // TECHNICOLOR SOUL ! “I AM NOT AFRAID… I WAS BORN TO DO THIS.” - JOAN OF ARC
  • 5. 5 Strategy  //  Design  //  Development We’re an interactive strategy, design, and development company. We create delightful experiences using Drupal and open source technologies.
  • 6. 6 (probably not deadly neurotoxin) What Awaits You Why? Why  make  websites  accessible? Live Demo Taking  web  accessibility  off  some   sweet  jumps When? PrioriVzing  web  accessibility  to   make  it  happen Amazing Tools Accessibility  tools  and  how  to   use  them How? Including  everyone:     it’s  so  easy! Fabulous Prizes mumble  mumble  some  exclusions   apply  mumble Who? Beneficiaries  and  proponents  of   web  accessibility Resources Code  snippets  and  resources   that  you  can  use
  • 7. Why  does  web  accessibility  ma]er  anyway? Lesson  1
  • 8. 8 What’s the Point? Do  the  right  thing.   Protect  against  lost  sales.   It’s  the  law. If There’s Time… The  longer  you  wait,  the  harder  it  will  be   to  implement.    Some  secVons  may  need   complete  overhauls. The Client Doesn’t Care Doesn’t  care  or  doesn’t  know.    As  a   developer  or  project  manager,  it’s  your   responsibility. Who’s it Really For? Visually  Impaired,  Colorblind,  Hearing   Impaired,  CogniVve  Differences,  Motor   Impaired…  and  everyone  else!
  • 9. 9 Hover  States   &  Focus Are  You  There,   Blog?   ! It's  Me,  Markup. Put  it  on   My  Tab Painless  Page     Titles You're  Out  of   Order!   ! This  Whole  Page  is   Out  of  Order! Keep  Your   Focus NO  CAPTCHAS   If  You  Can Alts,  Titles  and   Bare  Text   ! Oh  My! Skip  it!
  • 10. 10 Provide a Textual Alternative to Non-Text Content Alts, Titles and Bare Text! Oh My! Images  are  missing  or  have  bad  ALT  a]ributes   Icons  are  used  instead  of  text  links   Vague  links  are  missing  valuable  context What’s the Issue? Why is it Important? Screen  readers  can’t  see  images   Icons  infer  context  for  sighted  users   Images  with  text  can’t  be  read
  • 11. 11 Provide a Textual Alternative to Non-Text Content Alts, Titles and Bare Text! Oh My! Common Oversights We’ll  go  back  and  fill  in  the  ALT  text  later.   Leave  the  ALT  text  field  off.    It  makes  the  form  too   clu]ered.   Telling  users  the  image  is  an  image.   Not  telling  users  where  a  link  is  taking  them.   Just  going  with  the  Drupal  defaults.
  • 12. 12 Provide a Textual Alternative to Non-Text Content Alts, Titles and Bare Text! Oh My! Do It in Drupal! Make  the  alt  text  field  required.  This  way  no  one  can   ‘forget’  to  fill  it  in.   Many  accessibility  specialists  are  now  recommending   to  disconVnue  use  of  the  Vtle  tag.
  • 13. 13 Provide a Textual Alternative to Non-Text Content Alts, Titles and Bare Text! Oh My! Do It in Drupal!
  • 14. 14 Provide a Textual Alternative to Non-Text Content Alts, Titles and Bare Text! Oh My! Examples Bad  Examples   ! <a  href="/about-­‐us">        <img  src="images/accessibots.png"  alt="The  Accessibots"  />   </a>   ! <a  href="http://www.awesome.com/article359395"  title="The  Most  Amazing  Article   Ever">        The  Most  Amazing  Article  Ever   </a>   !
  • 15. 15 Provide a Textual Alternative to Non-Text Content Alts, Titles and Bare Text! Oh My! Examples Good  Examples   ! <a  href="/about-­‐us">        <img  src="images/accessibots.png"  alt=“The  Accessibots  Logo  -­‐  Only  You  Can  Prevent   Inaccessible  Websites”/>        <span>Read  about  Helena  &  Chris</span>   </a>   ! <a  href="http://www.awesome.com/article359395">        Read  The  Most  Amazing  Article  Ever  at  Awesome.com   </a>   !
  • 16. 16 Provide a Textual Alternative to Non-Text Content Alts, Titles and Bare Text! Oh My! Examples Debatable   ! <a  href="http://www.awesome.com/article359395"  title="Read  this  article  at   Awesome.com">        The  Most  Amazing  Article  Ever   </a>   !
  • 17. 17 Page titles that get to the point Painless Page Titles Page  Vtles  someVmes  appear  a<er  the  site  Vtle   Pages  don’t  have  Vtles What’s the Issue? Why is it Important? That’s  really  annoying  when  using  a  screen  reader,   because  they  have  to  listen  to  the  Vtle  of  your  website   before  they  can  page  through  to  hear  the  page  Vtle.
  • 18. 18 Page titles that get to the point Painless Page Titles Common Oversights Puong  the  Vtle  of  the  website  before  the  Vtle  of  the  page.   Forgeong  to  provide  a  page  Vtle.
  • 19. 19 Page titles that get to the point Painless Page Titles Do It in Drupal! Drupal  is  nice  and  does  this  properly  for  you!  Hooray.   Just  don’t  change  it.
  • 20. 20 Examples Bad  Examples   ! My  Awesome  Site  |  Home   My  Awesome  Site  |  About   My  Awesome  Site  |  Buy  Stuff   ! My  Awesome  Site   My  Awesome  Site   My  Awesome  Site   ! Page titles that get to the point Painless Page Titles
  • 21. 21 Examples Good  Examples   ! Home  |  My  Awesome  Site   About  |  My  Awesome  Site   Buy  Stuff  |  My  Awesome  Site   ! Page titles that get to the point Painless Page Titles
  • 22. 22 ‘Get out of Jail Free’ card for Keyboard Users Skip it! NavigaVon  o<en  remains  the  same  from  page  to  page   This  is  annoying  and  repeVVve  for  screen  readers   Something  nice  we  can  do  is  to  provide  a  skip  link What’s the Issue? Why is it Important? No  one  wants  to  hear  the  same  links  read  over  and  over   It  takes  a  long  Vme  to  page  through  to  get  to  the  content
  • 23. 23 ‘Get out of Jail Free’ card for Keyboard Users Skip it! Common Oversights Who’s  skip?  Why  am  I  linking  to  his  page?   Assume  Drupal  ‘got  it’  without  checking.   Using  Panels  without  configuring  the  skip  link.
  • 24. 24 ‘Get out of Jail Free’ card for Keyboard Users Skip it! Do It in Drupal! 1. First,  make  sure  that  it’s  linking  to  a  region  that  actually  exists   and  is  lower  in  the  DOM  than  the  nav.     2. Add  tabindex=“0”  to  your  main  region  if  it’s  not  a  naturally   focusable  element.   3. Use  jQuery  to  force  the  focus  past  your  navigaVon  and  land   the  user  at  the  main  content.  Skip  links  will  not  work  in   Chrome  without  this  fix.
  • 25. 25 Examples ! ! HTML  Setup   html.tpl.php   <a  href="#"  class="skip-­‐link">
            <span  class="skip-­‐link__inner">
                <?php  print  t('Skip  to  main  content');  ?>
            </span>
 </a>   ! page.tpl.php   <div  class="layout__primary"  tabindex="0">   ! ! ! ‘Get out of Jail Free’ card for Keyboard Users Skip it!
  • 26. 26 Examples Sass  Setup   .skip-­‐link  {
    display:  block;
    position:  absolute;
    background:  $white;
    margin-­‐top:  -­‐25px;
    z-­‐index:  6;
    outline:  none;
    transition:  margin  0.2s  ease;
    font-­‐family:  $roboto;
 
    &:focus  {
        position:  relative;
        margin-­‐top:  0;
        height:  25px;
        color:  $gray-­‐-­‐lightest;
    }
 
    .skip-­‐link__inner  {
        display:  inline-­‐block;
        background:  #812caf;
        padding:  5px  10px  5px  5px;
        border-­‐radius:  0  0  5px;
    }
 }
  • 27. 27 Examples JS  Setup   /**
  *  Skip  link  configuration
  */
 Drupal.behaviors.skipLink  =  {
    attach:  function  (context,  settings)  {
        $('body',  context).once('skip-­‐link',  function  ()  {
            $('.skip-­‐link').click(function()  {
                $('.layout__primary').focus();
            });
        });
    }
 }; ‘Get out of Jail Free’ card for Keyboard Users Skip it!
  • 28. 28 Making interactive elements that don’t suck Hovering around the Focus Issue Hover  states  are  awesome!   If  you  don’t  apply  the  styles  to  focus  as  well,  people   who  aren’t  using  a  mouse  can’t  enjoy  them.  :( What’s the Issue? Why is it Important? Everyone  should  get  to  enjoy  the  same  experience.   SomeVmes  hover  states  impart  valuable  informaVon.
  • 29. 29 Making interactive elements that don’t suck Hovering around the Focus Issue Common Oversights Aren’t  focus  styles  just  for  forms  and  stuff?   Oops,  I  forgot.
  • 30. 30 Examples Bad  Example   ! .myclass  {        &:hover  {            color:  red;        }    }   ! Making interactive elements that don’t suck Hovering around the Focus Issue
  • 31. 31 Examples Good  Example   ! .myclass  {        &:hover,        &:focus  {            color:  red;        }    }   ! Making interactive elements that don’t suck Hovering around the Focus Issue
  • 32. 32 Everything clickable should be tab accessible Put it on My Tab Not  everyone  can  use  a  mouse.  If  your  interacVve   elements  aren’t  focusable  elements,  not  everyone  can   access  them. What’s the Issue? Why is it Important? If  users  can’t  interact  with  elements  on  your  site,  they   may  not  be  able  to  use  it  at  all.
  • 33. 33 Everything clickable should be tab accessible Put it on My Tab Common Oversights Hamburger  menu  icons  that  are  divs  triggered  by   jQuery  clicks   Items  are  able  to  be  tabbed  to,  but  are  sVll  visually   hidden  (drop-­‐down  menus)
  • 34. 34 Examples Bad  Example   ! <div  class=“hamburger-­‐icon”></div>   ! Everything clickable should be tab accessible Put it on My Tab
  • 35. 35 Examples Good  Examples   ! <a  class=“hamburger-­‐icon”>     <span  class=“link-­‐text—-­‐hidden”>Menu</span>   </a>   ! <a  class=“hamburger-­‐icon”>     <span  class=“element-­‐invisible”>Menu</span>   </a>   ! Everything clickable should be tab accessible Put it on My Tab
  • 36. 36 Using element hierarchies properly YOU’RE OUT OF ORDER! SomeVmes  content  is  intuiVvely  posiVoned  with  CSS,   but  is  out  of  order  in  the  source.   Hierarchy  elements  are  someVmes  abused  for  styling What’s the Issue? Why is it Important? This  makes  it  difficult  for  screenreader  users  to  navigate   your  page  efficiently
  • 37. 37 Using element hierarchies properly YOU’RE OUT OF ORDER! Common Oversights Using  the  wrong  header  element  because  it  is  a  be]er   font  size  for  that  place  on  the  page.   Using  Drupal's  default  templates.   Arranging  markup  in  a  non-­‐logical  order  to  fulfill  a   layout  requirement.   Not  providing  "Skip  Links"  in  helpful  places  to  allow   screen  readers  to  jump  past  inaccessible  secVons  to   get  to  accessible  versions.
  • 38. 38 Using element hierarchies properly YOU’RE OUT OF ORDER! Do It in Drupal! Configure  templates  to  use  proper  headings.   Views,  panels  and  blocks  all  allow  this  easily   If  you  need  a  more  specific  template,  add  a  template  suggesVon   in  a  preprocess  hook.   Try  to  uVlize  CSS  layout  tools  like  flexbox  to  arrange  elements  on   the  screen  visually  while  maintaining  the  proper  source  order.   Create  "readable"  versions  of  complex  interacVons  such  as   slideshows  and  graphical  data  and  use  skip  links  to  allow  screen   readers  to  "jump"  to  the  readable  informaVon.  
  • 39. 39 Examples Bad  Example   ! <h2>Me  &  My  Crappy  Code</h2>   <p  class=“bigger”>How  do  I  feel  about  web  accessibility?</p>   <div>I  love  <h1>coding!</h1>  I  can’t  wait  to  learn  accessibility  so  that  my  sites   aren’t  <h3>annoying</h3>!   </div>   <p  class=“bigger”>I  have  no  idea  how  to  do  this.</p>   <div>What  a  <h1>pain</h1>  for  everybody.</div>   ! Using element hierarchies properly YOU’RE OUT OF ORDER!
  • 40. 40 Examples Good  Example   ! <h1>Me  &  My  Friendly  Code</h1>   <h2>How  do  I  feel  about  web  accessibility?</h2>   <p>I  love  <strong>coding!</strong>  I’m  so  glad  I  learned  web  accessibility  so  that   my  sites  aren’t  <i>annoying</i></p>   <h2>Why  is  friendly  code  great?</h2>   <p>A  li]le  more  informaVon  about  doing  it  right.</p>   Using element hierarchies properly YOU’RE OUT OF ORDER!
  • 41. 41 When to Hide, and When to Go Invisible Are You There, Blog? It's Me, Markup. Elements  removed  using  `display:  none`  are  not  picked   read  by  screen  readers. What’s the Issue? Why is it Important? Screen  readers  skip  big  chunks  of  content  and  can’t   interpret  complex  components.
  • 42. 42 When to Hide, and When to Go Invisible Are You There, Blog? It's Me, Markup. Common Oversights ‘Display:  none’  is  easier.    It’s  a  CSS  property.   jQuery  uses  ‘display:  none’  in  UI  components
  • 43. 43 Do It in Drupal! When to Hide, and When to Go Invisible Are You There, Blog? It's Me, Markup. Use  Drupal’s  ‘.element-­‐invisible’  to  hide  content  that  should  not  be  visible,  but  sVll   be  read.   Note:  Don’t  use  this  if  your  site  will  be  translated  to  a  right-­‐to-­‐le<  language!   Make  a  class  using  the  opacity  /  font-­‐size  trick  we  talked  about  earlier  to  use   here  instead.   Look  for  accessible  jQuery  plugins  that  support  Aria  Tags   h]p://hanshillen.github.io/jqtest   h]ps://plugins.jquery.com/tag/accessibility   Use  custom  jQuery  events  to  override  the  `display:  none`  css.
  • 44. 44 Examples Bad  Example   ! <div  id=“accordion”>      <h3>Chapter  1</h3>      <div  class=“block1”>CONTENT!</div>      <h3>Chapter  2</h3>      <div  class=“block2”  style=“display:  none”>INVISIBLE  CONTENT!</div>   </div>   ! When to Hide, and When to Go Invisible Are You There, Blog? It's Me, Markup.
  • 45. 45 Examples Good  Example   ! <div  id=“accordion”>      <h3>Chapter  1</h3>      <div  class=“block1”>CONTENT!</div>    <h3>Chapter  2</h3>      <div  class=“block2  element-­‐invisible”>INVISIBLE  CONTENT!</div>   </div>   When to Hide, and When to Go Invisible Are You There, Blog? It's Me, Markup.
  • 46. 46 Do It in Drupal! When to Hide, and When to Go Invisible Are You There, Blog? It's Me, Markup. Drupal  8’s  built-­‐in  accessibility  classes  are  a  li]le  bit  different.  There’s  a  change   noVce  on  drupal.org  that  explains  this  here:  h]ps://www.drupal.org/node/2022859
  • 47. 47 Examples Bad  Example   ! $(this).slideUp();   When to Hide, and When to Go Invisible Are You There, Blog? It's Me, Markup.
  • 48. 48 Examples Good  Example   ! $.fn.aSlideUp  =  function(duration,  callback)  {          var  $this  =  $(this);              $this.slideUp(duration,  function()  {              $this.addClass('element-­‐invisble').show();          });    };   When to Hide, and When to Go Invisible Are You There, Blog? It's Me, Markup.
  • 49. 49 Because not being able to see does not prove that you’re not a human. No CAPTCHAs if You Can CAPTCHAs  are  inaccessible.   CAPTCHAs  don’t  work.   CAPTCHAs  annoy  everyone. What’s the Issue? Why is it Important? It’s  rude  to  tell  people  that  they  aren’t  human  because   they  can’t  pass  a  vision  test.   CAPTCHAs  make  your  site  inaccessible  to  valid  users.
  • 50. 50 Because not being able to see does not prove that you’re not a human. No CAPTCHAS if You Can Common Oversights My  CAPTCHA  has  an  audio  version,  so  it’s  accessible.   I  need  a  CAPTCHA  to  keep  out  spam  bots,  so  it’s  a   necessary  evil.
  • 51. 51 Because not being able to see does not prove that you’re not a human. No CAPTCHAS if You Can Do It in Drupal! There’s  a  module  for  that  -­‐  Honeypot   h]ps://www.drupal.org/node/1232638
  • 52. 52 Focus Indicators Need to Stay On Keep Your Focus Default  focus  indicators  are  someVmes  disabled  for  style   reasons  and  are  not  replaced  with  an  appropriate   subsVtute. What’s the Issue? Why is it Important? Sighted  keyboard  users  need  those  visual  focus   indicators  to  be  able  to  tell  where  they  are  on  the  page.
  • 53. 53 Focus Indicators Need to Stay On Keep Your Focus Common Oversights What  are  these  weird  blue  lines?   They  don’t  match  my  website  /  I  don’t  like  how  they  look.   The  client  doesn’t  want  them  there.
  • 54. 54 Examples We  have  three  great  choices  for  focus  indicaVon:   ! 1. Just  leave  them  alone.   2. If  need  be,  style  them!  It’s  okay  to  change  them  a  li]le  to  make  them   fit  with  the  style  of  the  site,  as  long  as  the  change  is  sVll  evident.   3. Use  something  else  altogether  -­‐  as  long  as  it’s  a  noVceable  change   and  it’s  on  everything  that  can  receive  focus.   Focus Indicators Need to Stay On Keep Your Focus
  • 55. 55 How Do I Test This Stuff? Wave  Tool     h]p://wave.webaim.org/ Color  Oracle     h]p://colororacle.org/ Quail   h]p://quailjs.org/   Drupal  Accessibility  Module   h]ps://www.drupal.org/project/accessibility
  • 56. 56 h]p://www.accessibots.io The Accessibots Chris Albrecht Developer  //  Technical  PM @ChrisAlbrecht Lilly Bot Mascot @accessibotlilly Helena Zubkow Front-­‐End  Developer @misshelenasue