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

Beyond Responsive Web Design
Beyond Responsive Web DesignBeyond Responsive Web Design
Beyond Responsive Web Designarborwebsolutions
 
New Rules of The Responsive Web
New Rules of The Responsive WebNew Rules of The Responsive Web
New Rules of The Responsive WebMatt Carver
 
Preconnect, prefetch, prerender...
Preconnect, prefetch, prerender...Preconnect, prefetch, prerender...
Preconnect, prefetch, prerender...MilanAryal
 
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 ExperienceAndy Davies
 
Responsive Design & Mobile First
Responsive Design & Mobile FirstResponsive Design & Mobile First
Responsive Design & Mobile FirstLuke Brooker
 
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 buzzwordRuss Weakley
 
Web Performance Optimierung - DWX13
Web Performance Optimierung - DWX13Web Performance Optimierung - DWX13
Web Performance Optimierung - DWX13Walter Ebert
 
New and Emerging Technologies Listing
New and Emerging Technologies ListingNew and Emerging Technologies Listing
New and Emerging Technologies ListingDavid Peter
 
Going Fast on the Mobile Web
Going Fast on the Mobile WebGoing Fast on the Mobile Web
Going Fast on the Mobile WebJason Grigsby
 
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 knowChris Love
 
High Performance Websites
High Performance WebsitesHigh Performance Websites
High Performance WebsitesParham
 
Webview: The fifth element
Webview: The fifth elementWebview: The fifth element
Webview: The fifth elementFernando Cejas
 
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 AppsNathan Smith
 
Sniffing the Mobile Context
Sniffing the Mobile ContextSniffing the Mobile Context
Sniffing the Mobile ContextAndy Davies
 
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.2010Patrick Lauke
 
"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)Mike Brenner
 
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 2013Jon Arne Sæterås
 

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

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

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

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 issuesPlatypus
 
Web Development for UX Designers
Web Development for UX DesignersWeb Development for UX Designers
Web Development for UX DesignersAshlimarie
 
Web Apps and more
Web Apps and moreWeb Apps and more
Web Apps and moreYan Shi
 
Web app and more
Web app and moreWeb app and more
Web app and morefaming su
 
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 Scalescottjehl
 
The power of accessibility (November, 2018)
The power of accessibility (November, 2018)The power of accessibility (November, 2018)
The power of accessibility (November, 2018)Rachel M. Carmena
 
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 SteeleT. Kim Nguyen
 
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 2015Edward Burns
 
HTML5: Markup Evolved
HTML5: Markup EvolvedHTML5: Markup Evolved
HTML5: Markup EvolvedBilly Hylton
 
Bruce Lawson Opera Indonesia
Bruce Lawson Opera IndonesiaBruce Lawson Opera Indonesia
Bruce Lawson Opera Indonesiabrucelawson
 
Diazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersDiazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersTsungWei Hu
 
Be ef presentation-securitybyte2011-michele_orru
Be ef presentation-securitybyte2011-michele_orruBe ef presentation-securitybyte2011-michele_orru
Be ef presentation-securitybyte2011-michele_orruMichele 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 DesignDave Olsen
 

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

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Último (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

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