SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
meet.JS


 Accessible web applications
Wojtek Zajac




KRAKÓW, 31.07.2011
Why accessibility?
  A little story


                 meet.JS
I got into web accessibility in 2005




                                       meet.JS
I got into web accessibility in 2005




✦   The first (?) online course of the Polish Sign Language
✦   Tremendous feedback. Requests for help (we weren’t in position)
                                                                 meet.JS
The awareness of web
accessibility is still very low.
 Why is it overlooked
      so often?


                                   meet.JS
Benefits of web accessibility

 ✦    About 15% (5 mln) of total population in
      Poland live with some kind of disability¹
 ✦    The average age of web users increases
      every year
 ✦    Good for not proficient language users
 ✦    Meets legal requirements
 ✦    Everyone benefits! (think slower connections)



¹ http://www.niepelnosprawni.pl/files/www.niepelnosprawni.pl/public/rozne_pliki/fakty_i_mity_2009.pdf
                                                                                                        meet.JS
Benefits of web accessibility


✦   Strong overlap with: mobile web
    http://www.w3.org/TR/mwbp-wcag/
    Progressive enhancement enhances mobile browsing
    experience greatly.


✦   Strong overlap with: SEO
    Accessible websites are more likely to rank high.
    If you use proper headings, good titles, and accessible,
    well-structured markup, search engines will treat you better.



                                                                    meet.JS
Please spread
  the word to your
company, colleagues,
   client or school.


                   meet.JS
Types of disability
Visual              Hearing            Motor           Cognitive
User groups:
✦   Blind
✦   Partial vision loss (tunnel vision, cataracts, haziness etc.)
✦   Color blindness (8% of males can’t differentiate green and red)




                                                                    meet.JS
Visual         Hearing             Motor        Cognitive


Don’t rely on subtle details, choose contrast or changed
appearance instead.




                http://contrastrebellion.com/




                                                     meet.JS
Visual             Hearing      Motor         Cognitive


                         Red–green colorblindness

Hard to differentiate:


Better version:




                                                    meet.JS
Visual          Hearing              Motor       Cognitive

Video transcription (closed captioning) benefits not just those
with hearing impairments.


✦   Some users choose to disable sound (at the office, using a mobile device)
✦   Content becomes parsable by search robots
✦   Quoting abilities, in-video search etc.




                                                                  meet.JS
Visual           Hearing      Motor           Cognitive

Motor impaired can find using keyboard or mouse problematic.
Alternative inputs can have different range of complexity, most frequent
being different types “switches”.


How to help:
✦   Provide focus states for links
    (dangers of outline:	
  0)
✦   Make sure content and focus
    order is logical.
✦   Avoid relying on mouse or
    multitouch events.
                                                               meet.JS
Visual            Hearing             Motor   Cognitive

Cognitive problems occur to older users and those with worse level of
document language used.

✦   Increase readability of the text
✦   Use large headlines and clear instructions
✦   Use descriptive link text
✦   Increase target area of navigation links




                                                               meet.JS
Good practices
Correct alternative content




          More: http://webaim.org/techniques/alttext/



                                                        meet.JS
Proper link text


 2.4.4 Link Purpose (In Context): The purpose of each link can be
 determined from the link text alone or from the link text together with its
 programmatically determined link context, except where the purpose of
 the link would be ambiguous to users in general. (Level A)

 ~ WCAG 2.0 http://www.w3.org/TR/2008/REC-WCAG20-20081211/
 #navigation-mechanisms-refs




                                                                    meet.JS
Proper link text

                                                       H idde n us
                                              p o si t io ni         i ng
  <dl>                                                       ng o f f-s c
  <dt>Winnie the Pooh </dt>                                               re e n
    <dd><a href="winnie_the_pooh.html">
      <span>Winnie the Pooh </span>HTML</a></dd>
    <dd><a href="winnie_the_pooh.pdf">
        <span>Winnie the Pooh </span>PDF</a></dd>
  <dt>War and Peace</dt>
    <dd><a href="war_and_peace.html">
      <span>War and Peace </span>HTML</a></dd>
    <dd><a href="war_and_peace.pdf">
      <span>War and Peace </span>PDF</a></dd>
  </dl>




                                                                meet.JS
Accessible forms

  ✦   Label your inputs                           ✦   Check the tab order
  ✦   Group form elements                         ✦   Make sure it’s JS independent

 <fieldset>
 <legend>Select	
  your	
  pizza	
  toppings:</legend>
 <input	
  id="ham"	
  type="checkbox"	
  name="toppings"	
  value="ham"	
  />
 <label	
  for="ham">Ham</label><br	
  />
 <input	
  id="pepperoni"	
  type="checkbox"	
  name="toppings"	
  value="pepperoni"	
  />
 <label	
  for="pepperoni">Pepperoni</label><br	
  />
 <input	
  id="mushrooms"	
  type="checkbox"	
  name="toppings"	
  value="mushrooms"	
  />
 <label	
  for="mushrooms">Mushrooms</label><br	
  />
 <input	
  id="olives"	
  type="checkbox"	
  name="toppings"	
  value="olives"	
  />
 <label	
  for="olives">Olives</label>
 </fieldset>

                        More: http://webaim.org/techniques/forms/

                                                                                   meet.JS
Using
WAI-ARIA
WAI-ARIA Landmark Roles

         Landmark                             HTML 5 element
      role=”application”                           none

        role=”banner”                              none

     role=”complementary”                         <aside>

      role=”contentinfo”                          <footer>

         role=”main”                               none

       role=”navigation”                           <nav>

        role=”search”                              none

                           ~ The Paciello Group
                                                               meet.JS
1. Start with POSH




                     meet.JS
1. Start with POSH




                     POSH: Plain Old Semantic HTML

                                                     meet.JS
1. Start with POSH
2. Order DOM content
   logically




                       Viewing bbc.co.uk with CSS disabled

                                                     meet.JS
1. Start with POSH
2. Order DOM content
   logically
3. Make sure forms are
   accessible
                         Firebug view of the grouped form fields




                                                             meet.JS
1. Start with POSH
2. Order DOM content     <!-­‐-­‐	
  Natural	
  tab	
  order	
  -­‐-­‐>
                         <div	
  onclick=""	
  tabindex="0">Clicky	
  1</div>

   logically             <!-­‐-­‐	
  Custom	
  tab	
  order	
  -­‐-­‐>

3. Make sure forms are   <div	
  onclick=""	
  tabindex="7">Clicky	
  2</div>


   accessible
                         <!-­‐-­‐	
  Focusable	
  but	
  not	
  in	
  tab	
  order	
  -­‐-­‐>
                         <div	
  onclick=""	
  tabindex="-­‐1">Clicky	
  3</div>

4. Manage focus               Creating Accessible Interactive Web Apps using HTML5




                                                                                  meet.JS
1. Start with POSH
2. Order DOM content
   logically             <li	
  role="menuitemcheckbox"	
  aria-­‐checked="true">
                         	
  	
  	
  	
  Sort	
  by	
  Last	
  Modified
                         </li>
3. Make sure forms are
   accessible            [aria-­‐checked="true"]	
  {	
  font-­‐weight:	
  bold;	
  }
                         [aria-­‐checked="true"]:before	
  {	
  background-­‐image:	
  
                         url(checked.gif);	
  }
4. Manage focus
                                    Using WAI-ARIA: 2.2 States and Properties
5. Add ARIA for screen
   readers
                                                                          meet.JS
ARIA Live Regions



✦   Assistive Technology users are notified when the content changes
✦   Mark up the parts that are likely to change with Live Regions



      <span	
  class='saving'	
  aria-­‐live='polite'>Saving...</span>




                                                                         meet.JS
Plugins, extensions
Check headings architecture


                                                       Disable images




Web Developer Toolbar            http://goo.gl/J5afH             meet.JS
Investigate problems:
                                  No anchor text
No h e ading s                                     No a l t te x
                                                                   t




                                                      S ubm i t n o t
                                                                      be i ng
                                                          re ad o u t




  Fangs     http://goo.gl/hHOOB                             meet.JS
Links with no anchor text        Recurring “Read more” links




Accessibility Evaluation Toolbar   http://goo.gl/pgdDK   meet.JS
Further reading



                                   ✦   http://webaxe.blogspot.com/2011/05/
                                       accessibility-twitter-lists.html
                                   ✦   http://twitter.com/a11y
                                   ✦   http://webaim.org/
                                   ✦   http://www.rnib.org.uk/
                                   ✦   http://html5accessibility.com/

Web Accessibility: Web Standards
and Regulatory Compliance (2006)

                                                                    meet.JS
Thanks!

slideshare.net/wojciechzajac
wojtekzajac.com

Wojtek Zajac (@theanxy)             This work is licensed under
                                       a Creative Commons
                                     Attribution 3.0 Unported
                                              License

Mais conteúdo relacionado

Mais procurados

New Rules of The Responsive Web
New Rules of The Responsive WebNew Rules of The Responsive Web
New Rules of The Responsive Web
Matt Carver
 

Mais procurados (19)

Beyond Responsive Web Design
Beyond Responsive Web DesignBeyond Responsive Web Design
Beyond Responsive Web Design
 
New Rules of The Responsive Web
New Rules of The Responsive WebNew Rules of The Responsive Web
New Rules of The Responsive Web
 
Preconnect, prefetch, prerender...
Preconnect, prefetch, prerender...Preconnect, prefetch, prerender...
Preconnect, prefetch, prerender...
 
Speed is Essential for a Great Web Experience
Speed is Essential for a Great Web ExperienceSpeed is Essential for a Great Web Experience
Speed is Essential for a Great Web Experience
 
Responsive Design & Mobile First
Responsive Design & Mobile FirstResponsive Design & Mobile First
Responsive Design & Mobile First
 
Responsive Web Design - more than just a buzzword
Responsive Web Design - more than just a buzzwordResponsive Web Design - more than just a buzzword
Responsive Web Design - more than just a buzzword
 
TPR4
TPR4TPR4
TPR4
 
Web Performance Optimierung - DWX13
Web Performance Optimierung - DWX13Web Performance Optimierung - DWX13
Web Performance Optimierung - DWX13
 
New and Emerging Technologies Listing
New and Emerging Technologies ListingNew and Emerging Technologies Listing
New and Emerging Technologies Listing
 
Going Fast on the Mobile Web
Going Fast on the Mobile WebGoing Fast on the Mobile Web
Going Fast on the Mobile Web
 
5 single page application principles developers need to know
5 single page application principles developers need to know5 single page application principles developers need to know
5 single page application principles developers need to know
 
High Performance Websites
High Performance WebsitesHigh Performance Websites
High Performance Websites
 
Webview: The fifth element
Webview: The fifth elementWebview: The fifth element
Webview: The fifth element
 
Design+Performance
Design+PerformanceDesign+Performance
Design+Performance
 
Use Web Skills To Build Mobile Apps
Use Web Skills To Build Mobile AppsUse Web Skills To Build Mobile Apps
Use Web Skills To Build Mobile Apps
 
Sniffing the Mobile Context
Sniffing the Mobile ContextSniffing the Mobile Context
Sniffing the Mobile Context
 
Making your site mobile-friendly - DevCSI Reading 21.07.2010
Making your site mobile-friendly - DevCSI Reading 21.07.2010Making your site mobile-friendly - DevCSI Reading 21.07.2010
Making your site mobile-friendly - DevCSI Reading 21.07.2010
 
"Designing for the Mobile Web" by Michael Dick (December 2010)
"Designing for the Mobile Web" by Michael Dick (December 2010)"Designing for the Mobile Web" by Michael Dick (December 2010)
"Designing for the Mobile Web" by Michael Dick (December 2010)
 
Mobile is slow - Over the Air 2013
Mobile is slow - Over the Air 2013Mobile is slow - Over the Air 2013
Mobile is slow - Over the Air 2013
 

Destaque (6)

Font embedding for the web
Font embedding for the webFont embedding for the web
Font embedding for the web
 
Antologia Webdevelopera (9.12.2006)
Antologia Webdevelopera (9.12.2006)Antologia Webdevelopera (9.12.2006)
Antologia Webdevelopera (9.12.2006)
 
HTML5 and microformats for pragmatists
HTML5 and microformats for pragmatistsHTML5 and microformats for pragmatists
HTML5 and microformats for pragmatists
 
HTML5 i mikroformaty dla pragmatyków
HTML5 i mikroformaty dla pragmatykówHTML5 i mikroformaty dla pragmatyków
HTML5 i mikroformaty dla pragmatyków
 
[PL] Rozpocznij karierę... Dzisiaj!
[PL] Rozpocznij karierę... Dzisiaj![PL] Rozpocznij karierę... Dzisiaj!
[PL] Rozpocznij karierę... Dzisiaj!
 
Top Mistakes in Web Accessibility
Top Mistakes in Web AccessibilityTop Mistakes in Web Accessibility
Top Mistakes in Web Accessibility
 

Semelhante a Accessible web applications

Web app and more
Web app and moreWeb app and more
Web app and more
faming su
 

Semelhante a Accessible web applications (20)

Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issuesMaximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
 
Web Development for UX Designers
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX Designers
 
HTML5와 모바일
HTML5와 모바일HTML5와 모바일
HTML5와 모바일
 
Web Apps and more
Web Apps and moreWeb Apps and more
Web Apps and more
 
Web app and more
Web app and moreWeb app and more
Web app and more
 
Responsive & Responsible: Implementing Responsive Design at Scale
Responsive & Responsible: Implementing Responsive Design at ScaleResponsive & Responsible: Implementing Responsive Design at Scale
Responsive & Responsible: Implementing Responsive Design at Scale
 
The power of accessibility (November, 2018)
The power of accessibility (November, 2018)The power of accessibility (November, 2018)
The power of accessibility (November, 2018)
 
Building Web Interfaces
Building Web InterfacesBuilding Web Interfaces
Building Web Interfaces
 
Building Web Hack Interfaces
Building Web Hack InterfacesBuilding Web Hack Interfaces
Building Web Hack Interfaces
 
TPR4
TPR4TPR4
TPR4
 
Plone Futures, Plone Conference 2016 Keynote by Eric Steele
Plone Futures, Plone Conference 2016 Keynote by Eric SteelePlone Futures, Plone Conference 2016 Keynote by Eric Steele
Plone Futures, Plone Conference 2016 Keynote by Eric Steele
 
Plone Futures
Plone FuturesPlone Futures
Plone Futures
 
Access by Default
Access by DefaultAccess by Default
Access by Default
 
Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015
 
HTML5: Markup Evolved
HTML5: Markup EvolvedHTML5: Markup Evolved
HTML5: Markup Evolved
 
Accessibility for beginners
Accessibility for beginnersAccessibility for beginners
Accessibility for beginners
 
Bruce Lawson Opera Indonesia
Bruce Lawson Opera IndonesiaBruce Lawson Opera Indonesia
Bruce Lawson Opera Indonesia
 
Diazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersDiazo: Bridging Designers and Programmers
Diazo: Bridging Designers and Programmers
 
Be ef presentation-securitybyte2011-michele_orru
Be ef presentation-securitybyte2011-michele_orruBe ef presentation-securitybyte2011-michele_orru
Be ef presentation-securitybyte2011-michele_orru
 
The Server Side of Responsive Web Design
The Server Side of Responsive Web DesignThe Server Side of Responsive Web Design
The Server Side of Responsive Web Design
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

Accessible web applications

  • 1. meet.JS Accessible web applications Wojtek Zajac KRAKÓW, 31.07.2011
  • 2. Why accessibility? A little story meet.JS
  • 3. I got into web accessibility in 2005 meet.JS
  • 4. I got into web accessibility in 2005 ✦ The first (?) online course of the Polish Sign Language ✦ Tremendous feedback. Requests for help (we weren’t in position) meet.JS
  • 5. The awareness of web accessibility is still very low. Why is it overlooked so often? meet.JS
  • 6. Benefits of web accessibility ✦ About 15% (5 mln) of total population in Poland live with some kind of disability¹ ✦ The average age of web users increases every year ✦ Good for not proficient language users ✦ Meets legal requirements ✦ Everyone benefits! (think slower connections) ¹ http://www.niepelnosprawni.pl/files/www.niepelnosprawni.pl/public/rozne_pliki/fakty_i_mity_2009.pdf meet.JS
  • 7. Benefits of web accessibility ✦ Strong overlap with: mobile web http://www.w3.org/TR/mwbp-wcag/ Progressive enhancement enhances mobile browsing experience greatly. ✦ Strong overlap with: SEO Accessible websites are more likely to rank high. If you use proper headings, good titles, and accessible, well-structured markup, search engines will treat you better. meet.JS
  • 8. Please spread the word to your company, colleagues, client or school. meet.JS
  • 10. Visual Hearing Motor Cognitive User groups: ✦ Blind ✦ Partial vision loss (tunnel vision, cataracts, haziness etc.) ✦ Color blindness (8% of males can’t differentiate green and red) meet.JS
  • 11. Visual Hearing Motor Cognitive Don’t rely on subtle details, choose contrast or changed appearance instead. http://contrastrebellion.com/ meet.JS
  • 12. Visual Hearing Motor Cognitive Red–green colorblindness Hard to differentiate: Better version: meet.JS
  • 13. Visual Hearing Motor Cognitive Video transcription (closed captioning) benefits not just those with hearing impairments. ✦ Some users choose to disable sound (at the office, using a mobile device) ✦ Content becomes parsable by search robots ✦ Quoting abilities, in-video search etc. meet.JS
  • 14. Visual Hearing Motor Cognitive Motor impaired can find using keyboard or mouse problematic. Alternative inputs can have different range of complexity, most frequent being different types “switches”. How to help: ✦ Provide focus states for links (dangers of outline:  0) ✦ Make sure content and focus order is logical. ✦ Avoid relying on mouse or multitouch events. meet.JS
  • 15. Visual Hearing Motor Cognitive Cognitive problems occur to older users and those with worse level of document language used. ✦ Increase readability of the text ✦ Use large headlines and clear instructions ✦ Use descriptive link text ✦ Increase target area of navigation links meet.JS
  • 17. Correct alternative content More: http://webaim.org/techniques/alttext/ meet.JS
  • 18. Proper link text 2.4.4 Link Purpose (In Context): The purpose of each link can be determined from the link text alone or from the link text together with its programmatically determined link context, except where the purpose of the link would be ambiguous to users in general. (Level A) ~ WCAG 2.0 http://www.w3.org/TR/2008/REC-WCAG20-20081211/ #navigation-mechanisms-refs meet.JS
  • 19. Proper link text H idde n us p o si t io ni i ng <dl> ng o f f-s c <dt>Winnie the Pooh </dt> re e n <dd><a href="winnie_the_pooh.html"> <span>Winnie the Pooh </span>HTML</a></dd> <dd><a href="winnie_the_pooh.pdf"> <span>Winnie the Pooh </span>PDF</a></dd> <dt>War and Peace</dt> <dd><a href="war_and_peace.html"> <span>War and Peace </span>HTML</a></dd> <dd><a href="war_and_peace.pdf"> <span>War and Peace </span>PDF</a></dd> </dl> meet.JS
  • 20. Accessible forms ✦ Label your inputs ✦ Check the tab order ✦ Group form elements ✦ Make sure it’s JS independent <fieldset> <legend>Select  your  pizza  toppings:</legend> <input  id="ham"  type="checkbox"  name="toppings"  value="ham"  /> <label  for="ham">Ham</label><br  /> <input  id="pepperoni"  type="checkbox"  name="toppings"  value="pepperoni"  /> <label  for="pepperoni">Pepperoni</label><br  /> <input  id="mushrooms"  type="checkbox"  name="toppings"  value="mushrooms"  /> <label  for="mushrooms">Mushrooms</label><br  /> <input  id="olives"  type="checkbox"  name="toppings"  value="olives"  /> <label  for="olives">Olives</label> </fieldset> More: http://webaim.org/techniques/forms/ meet.JS
  • 22. WAI-ARIA Landmark Roles Landmark HTML 5 element role=”application” none role=”banner” none role=”complementary” <aside> role=”contentinfo” <footer> role=”main” none role=”navigation” <nav> role=”search” none ~ The Paciello Group meet.JS
  • 23. 1. Start with POSH meet.JS
  • 24. 1. Start with POSH POSH: Plain Old Semantic HTML meet.JS
  • 25. 1. Start with POSH 2. Order DOM content logically Viewing bbc.co.uk with CSS disabled meet.JS
  • 26. 1. Start with POSH 2. Order DOM content logically 3. Make sure forms are accessible Firebug view of the grouped form fields meet.JS
  • 27. 1. Start with POSH 2. Order DOM content <!-­‐-­‐  Natural  tab  order  -­‐-­‐> <div  onclick=""  tabindex="0">Clicky  1</div> logically <!-­‐-­‐  Custom  tab  order  -­‐-­‐> 3. Make sure forms are <div  onclick=""  tabindex="7">Clicky  2</div> accessible <!-­‐-­‐  Focusable  but  not  in  tab  order  -­‐-­‐> <div  onclick=""  tabindex="-­‐1">Clicky  3</div> 4. Manage focus Creating Accessible Interactive Web Apps using HTML5 meet.JS
  • 28. 1. Start with POSH 2. Order DOM content logically <li  role="menuitemcheckbox"  aria-­‐checked="true">        Sort  by  Last  Modified </li> 3. Make sure forms are accessible [aria-­‐checked="true"]  {  font-­‐weight:  bold;  } [aria-­‐checked="true"]:before  {  background-­‐image:   url(checked.gif);  } 4. Manage focus Using WAI-ARIA: 2.2 States and Properties 5. Add ARIA for screen readers meet.JS
  • 29. ARIA Live Regions ✦ Assistive Technology users are notified when the content changes ✦ Mark up the parts that are likely to change with Live Regions <span  class='saving'  aria-­‐live='polite'>Saving...</span> meet.JS
  • 31. Check headings architecture Disable images Web Developer Toolbar http://goo.gl/J5afH meet.JS
  • 32. Investigate problems: No anchor text No h e ading s No a l t te x t S ubm i t n o t be i ng re ad o u t Fangs http://goo.gl/hHOOB meet.JS
  • 33. Links with no anchor text Recurring “Read more” links Accessibility Evaluation Toolbar http://goo.gl/pgdDK meet.JS
  • 34. Further reading ✦ http://webaxe.blogspot.com/2011/05/ accessibility-twitter-lists.html ✦ http://twitter.com/a11y ✦ http://webaim.org/ ✦ http://www.rnib.org.uk/ ✦ http://html5accessibility.com/ Web Accessibility: Web Standards and Regulatory Compliance (2006) meet.JS
  • 35. Thanks! slideshare.net/wojciechzajac wojtekzajac.com Wojtek Zajac (@theanxy) This work is licensed under a Creative Commons Attribution 3.0 Unported License