SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
Ajax and Accessibility

       Mike Davies
  AbilityNet – Rich Media
      February 2008
Mike Davies
●   Web Developer at Yahoo!
●   previously Legal & General
    ●   Web accessibility case study (PAS78)
●   Accessibility practitioner
●   www.isolani.co.uk
Ajax and Accessibility Agenda
●   Ajax and Web 2.0
●   Accessibility issues with Ajax
●   Case study of retrofitting a web page
    using Ajax
●   Recommended solutions for
    implementing Ajax to maximise
    accessibility
●   Testing Ajax with a screen reader
Ajax and Web 2.0
●   What is Web 2.0?
●   Web 1.0 + something else
Web 1.0
●   Publishers producing websites
●   Visitors read websites
●   Clearly enforced divide
Characteristics of Web 2.0
●   Breaking the Publisher/Reader divide
●   User contributes/generates content
●   Social media / shared experiences
●   Web as a Platform
Examples of Web 2.0
●   Users sharing content:
    ●   Flickr, Y! Answers, YouTube, Wikipedia
●   Users publishing/subscribing
    ●   Blogs, RSS
●   Social networking / communities
    ●   Facebook, MySpace, Ning
●   Interactive applications
    ●   Google Maps
Web as a platform
●   Email
    ●   Gmail, Yahoo Mail, Hotmail Live
●   Calendar / Project Management
    ●   Basecamp, 30 Boxes, Google Calendar
●   Personalised Homepages
    ●   My Yahoo!, Netvibes, Pageflakes
●   Aggregators and meme-trackers
    ●   Google Reader, Techmeme, Technorati
So how do we build all of this?
Building blocks of Web 2.0
●   HTML
●   CSS
●   JavaScript (and Ajax)
What is Ajax?
●   Connecting to a server using JavaScript
●   Avoids page refreshes
●   Dynamic updates to content
●   Dynamic processing of user inputs
Ajax accessibility issues:
             Overview
●   General issues
●   Screen reader issues
●   Screen magnifier issues
●   Keyboard issues
●   Movement and colour issues
Ajax accessibility issues:
              General
●   Lack of page refresh – breaks web
    model
●   User independent updates
●   Visual dependencies
●   JavaScript barriers
Ajax accessibility issues:
             Screen readers
●   Updating the virtual buffer
●   Two issues:
    ●   Is the content available to the user?
    ●   Is the user aware the content is updated?
●   Hidden content
Ajax accessibility issues:
             Screen readers
●   User initiated updates
●   User independent updates
●   Delayed updates (Ajax)
    ●   Virtual buffer sometimes not updated
    ●   Hidden input field hack
    ●   Manual updates
●   Usability issues
Ajax accessibility issues –
        Screen magnifiers
●   Distance between action and result
●   Changing the content they are reading
●   Overflowing content
●   Changing focus
Ajax accessibility issues –
          keyboard users
●   Offscreen content
●   Removing focused content
●   Interactive elements focusable
Case study of retrofitting a
      web page using Ajax
●   Pre-requisites
    ●   Structured and semantic HTML
    ●   Text alternative to visual cues
●   Case studies
    ●   Y! TV Search
    ●   Y! Finance Currency Converter
Case Study: Yahoo! TV Search
●   Common Interface: Tabbed Search
Case Study: Yahoo! TV Search
●   Its just a form!
Case Study: Yahoo! TV Search
●   Plus: Adding the visual cue with CSS
●   Plus: JavaScript to enhance the user
    experience
●   Audio cues (Extra text)
●   Keyboard access for free (labels)
Case Study: Currency
     Converter
Case Study: Currency
             Converter
●   Simple HTML Form
●   Visual cues
●   Enhancing labels
●   Screen reader testing
●   Catching bugs
Recommended solutions for
         accessible Ajax
●   Development
●   Testing
Recommended solutions:
             Development
●   Progressive enhancement
    ●   Semantic and structured HTML
    ●   Core functionality in HTML only
    ●   Use CSS to add visual cues
    ●   Use JavaScript to add
         ●   Dynamic updates
         ●   User-enhancements
Recommended solutions:
              Testing
●   Disable JavaScript and CSS:
    ●   Core functionality must work
●   Enable CSS and JavaScript:
    ●   Identify visual cues, ensure text-only
        equivalents are available
    ●   Visual cues: colour, positioning, arrows,
        GUI metaphors
●   Test it without a mouse
●   Test it on a slow connection
Testing with a screen reader
●   Don't use a screen reader
●   Get a screen reader user instead
●   Screen reader power user – good for
    first pass testing
●   Normal screen reader user – better for
    real user testing
References
●   Standards
    ●   PAS 78 – British Standards Institution
         ●   en.wikipedia.org/wiki/Pas_78
    ●   Web Content Accessibility Guidelines 1.0
         ●   w3.org/TR/WCAG10
    ●   WCAG Samurai Errata
         ●   wcagsamurai.org
References: Books
●   Joe Clark: Building Accessible Websites
    ●   joeclark.org/book
●   Shawn Lawton Henry: Just Ask
    ●   www.uiaccess.com/accessucd
References: Web
●   Gez Lemon / Juicy Studio
    ●   www.juicystudio.com
●   Alastair Campbell
    ●   alastairc.ac
●   Grant Broome
    ●   grantbroome.blogspot.com
●   Steve Faulkner
    ●   paciellogroup.com/blog
Thank you
Questions & Answers

Más contenido relacionado

Destacado (11)

Ajax basics
Ajax basicsAjax basics
Ajax basics
 
Web 2.0 & Ajax Basics
Web 2.0 & Ajax BasicsWeb 2.0 & Ajax Basics
Web 2.0 & Ajax Basics
 
Ajax
AjaxAjax
Ajax
 
Html For Beginners 2
Html For Beginners 2Html For Beginners 2
Html For Beginners 2
 
Ajax basic intro
Ajax basic introAjax basic intro
Ajax basic intro
 
Ajax basics
Ajax basicsAjax basics
Ajax basics
 
Introduction to AJAX
Introduction to AJAXIntroduction to AJAX
Introduction to AJAX
 
What is Ajax technology?
What is Ajax technology?What is Ajax technology?
What is Ajax technology?
 
Html for Beginners
Html for BeginnersHtml for Beginners
Html for Beginners
 
Presentation html
Presentation   htmlPresentation   html
Presentation html
 
HTML CSS Basics
HTML CSS BasicsHTML CSS Basics
HTML CSS Basics
 

Similar a Ajax Accessibility Best Practices Guide

Web Publishing: An Overview of Tools and Service
Web Publishing: An Overview of Tools and ServiceWeb Publishing: An Overview of Tools and Service
Web Publishing: An Overview of Tools and Servicekilmeny21
 
Creating A Web 2.0 Toolbox For The Academic Library
Creating A Web 2.0 Toolbox For The Academic LibraryCreating A Web 2.0 Toolbox For The Academic Library
Creating A Web 2.0 Toolbox For The Academic LibraryDarylyne Provost
 
Beyond web services: supporting mashup artists at Yahoo!
Beyond web services: supporting mashup artists at Yahoo!Beyond web services: supporting mashup artists at Yahoo!
Beyond web services: supporting mashup artists at Yahoo!Chad Dickerson
 
Untying the Knots of Web Dev with Internet Explorer
Untying the Knots of Web Dev with Internet Explorer Untying the Knots of Web Dev with Internet Explorer
Untying the Knots of Web Dev with Internet Explorer Sarah Dutkiewicz
 
jQuery - Boston IxDA
jQuery - Boston IxDAjQuery - Boston IxDA
jQuery - Boston IxDAjeresig
 
VRA 2009 MDID Users Group
VRA 2009 MDID Users GroupVRA 2009 MDID Users Group
VRA 2009 MDID Users Groupknabar
 
High Productivity With Applications Wikis
High Productivity With Applications WikisHigh Productivity With Applications Wikis
High Productivity With Applications WikisXWiki
 
Web accessibility testing methodologies, tools and tips
Web accessibility testing methodologies, tools and tipsWeb accessibility testing methodologies, tools and tips
Web accessibility testing methodologies, tools and tipsHenny Swan
 
HTML5: the new frontier of the web
HTML5: the new frontier of the webHTML5: the new frontier of the web
HTML5: the new frontier of the webIvano Malavolta
 
Web Accessibility Evaluation with WAVE
Web Accessibility Evaluation with WAVEWeb Accessibility Evaluation with WAVE
Web Accessibility Evaluation with WAVEJared Smith
 
PrairieDevCon 2014 - Web Doesn't Mean Slow
PrairieDevCon 2014 -  Web Doesn't Mean SlowPrairieDevCon 2014 -  Web Doesn't Mean Slow
PrairieDevCon 2014 - Web Doesn't Mean Slowdmethvin
 
Building intranet applications with ASP.NET AJAX and jQuery
Building intranet applications with ASP.NET AJAX and jQueryBuilding intranet applications with ASP.NET AJAX and jQuery
Building intranet applications with ASP.NET AJAX and jQueryAlek Davis
 
Seven Steps To Better JavaScript
Seven Steps To Better JavaScriptSeven Steps To Better JavaScript
Seven Steps To Better JavaScriptDen Odell
 
Frank Mantek Google G Data
Frank Mantek Google G DataFrank Mantek Google G Data
Frank Mantek Google G Datadeimos
 
Chris Wilson @ FOWA Feb 07
Chris Wilson @ FOWA Feb 07Chris Wilson @ FOWA Feb 07
Chris Wilson @ FOWA Feb 07carsonsystems
 
Documenting For Interactive Websites
Documenting For Interactive WebsitesDocumenting For Interactive Websites
Documenting For Interactive WebsitesPatrick Kennedy
 

Similar a Ajax Accessibility Best Practices Guide (20)

Web Publishing: An Overview of Tools and Service
Web Publishing: An Overview of Tools and ServiceWeb Publishing: An Overview of Tools and Service
Web Publishing: An Overview of Tools and Service
 
Creating A Web 2.0 Toolbox For The Academic Library
Creating A Web 2.0 Toolbox For The Academic LibraryCreating A Web 2.0 Toolbox For The Academic Library
Creating A Web 2.0 Toolbox For The Academic Library
 
Beyond web services: supporting mashup artists at Yahoo!
Beyond web services: supporting mashup artists at Yahoo!Beyond web services: supporting mashup artists at Yahoo!
Beyond web services: supporting mashup artists at Yahoo!
 
Untying the Knots of Web Dev with Internet Explorer
Untying the Knots of Web Dev with Internet Explorer Untying the Knots of Web Dev with Internet Explorer
Untying the Knots of Web Dev with Internet Explorer
 
Ajax World West
Ajax World WestAjax World West
Ajax World West
 
jQuery - Boston IxDA
jQuery - Boston IxDAjQuery - Boston IxDA
jQuery - Boston IxDA
 
Transforming the web into a real application platform
Transforming the web into a real application platformTransforming the web into a real application platform
Transforming the web into a real application platform
 
VRA 2009 MDID Users Group
VRA 2009 MDID Users GroupVRA 2009 MDID Users Group
VRA 2009 MDID Users Group
 
Design Based Dev
Design Based DevDesign Based Dev
Design Based Dev
 
High Productivity With Applications Wikis
High Productivity With Applications WikisHigh Productivity With Applications Wikis
High Productivity With Applications Wikis
 
SVG Accessibility
SVG AccessibilitySVG Accessibility
SVG Accessibility
 
Web accessibility testing methodologies, tools and tips
Web accessibility testing methodologies, tools and tipsWeb accessibility testing methodologies, tools and tips
Web accessibility testing methodologies, tools and tips
 
HTML5: the new frontier of the web
HTML5: the new frontier of the webHTML5: the new frontier of the web
HTML5: the new frontier of the web
 
Web Accessibility Evaluation with WAVE
Web Accessibility Evaluation with WAVEWeb Accessibility Evaluation with WAVE
Web Accessibility Evaluation with WAVE
 
PrairieDevCon 2014 - Web Doesn't Mean Slow
PrairieDevCon 2014 -  Web Doesn't Mean SlowPrairieDevCon 2014 -  Web Doesn't Mean Slow
PrairieDevCon 2014 - Web Doesn't Mean Slow
 
Building intranet applications with ASP.NET AJAX and jQuery
Building intranet applications with ASP.NET AJAX and jQueryBuilding intranet applications with ASP.NET AJAX and jQuery
Building intranet applications with ASP.NET AJAX and jQuery
 
Seven Steps To Better JavaScript
Seven Steps To Better JavaScriptSeven Steps To Better JavaScript
Seven Steps To Better JavaScript
 
Frank Mantek Google G Data
Frank Mantek Google G DataFrank Mantek Google G Data
Frank Mantek Google G Data
 
Chris Wilson @ FOWA Feb 07
Chris Wilson @ FOWA Feb 07Chris Wilson @ FOWA Feb 07
Chris Wilson @ FOWA Feb 07
 
Documenting For Interactive Websites
Documenting For Interactive WebsitesDocumenting For Interactive Websites
Documenting For Interactive Websites
 

Más de Christian Heilmann

Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Christian Heilmann
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilegeChristian Heilmann
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloChristian Heilmann
 
Artificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteArtificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteChristian Heilmann
 
Killing the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteKilling the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteChristian Heilmann
 
Progressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandProgressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandChristian Heilmann
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilegeChristian Heilmann
 
Five ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerFive ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerChristian Heilmann
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Christian Heilmann
 
You learned JavaScript - now what?
You learned JavaScript - now what?You learned JavaScript - now what?
You learned JavaScript - now what?Christian Heilmann
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Christian Heilmann
 
Progressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachProgressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachChristian Heilmann
 
Progressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsProgressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsChristian Heilmann
 
Non-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansNon-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansChristian Heilmann
 
Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Christian Heilmann
 
CSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlCSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlChristian Heilmann
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Christian Heilmann
 
The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)Christian Heilmann
 

Más de Christian Heilmann (20)

Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019
 
Hinting at a better web
Hinting at a better webHinting at a better web
Hinting at a better web
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC Oslo
 
Artificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteArtificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynote
 
Killing the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteKilling the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynote
 
Progressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandProgressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays Finland
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
 
Five ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerFive ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developer
 
Taking the P out of PWA
Taking the P out of PWATaking the P out of PWA
Taking the P out of PWA
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
You learned JavaScript - now what?
You learned JavaScript - now what?You learned JavaScript - now what?
You learned JavaScript - now what?
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
Progressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachProgressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReach
 
Progressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsProgressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worlds
 
Non-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansNon-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humans
 
Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center
 
CSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. ControlCSS vs. JavaScript - Trust vs. Control
CSS vs. JavaScript - Trust vs. Control
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017
 
The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)
 

Ú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
 
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)wesley chun
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
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 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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 DevelopmentsTrustArc
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
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.pdfsudhanshuwaghmare1
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 

Ú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
 
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)
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Ajax Accessibility Best Practices Guide

  • 1. Ajax and Accessibility Mike Davies AbilityNet – Rich Media February 2008
  • 2. Mike Davies ● Web Developer at Yahoo! ● previously Legal & General ● Web accessibility case study (PAS78) ● Accessibility practitioner ● www.isolani.co.uk
  • 3. Ajax and Accessibility Agenda ● Ajax and Web 2.0 ● Accessibility issues with Ajax ● Case study of retrofitting a web page using Ajax ● Recommended solutions for implementing Ajax to maximise accessibility ● Testing Ajax with a screen reader
  • 4. Ajax and Web 2.0 ● What is Web 2.0? ● Web 1.0 + something else
  • 5. Web 1.0 ● Publishers producing websites ● Visitors read websites ● Clearly enforced divide
  • 6. Characteristics of Web 2.0 ● Breaking the Publisher/Reader divide ● User contributes/generates content ● Social media / shared experiences ● Web as a Platform
  • 7. Examples of Web 2.0 ● Users sharing content: ● Flickr, Y! Answers, YouTube, Wikipedia ● Users publishing/subscribing ● Blogs, RSS ● Social networking / communities ● Facebook, MySpace, Ning ● Interactive applications ● Google Maps
  • 8. Web as a platform ● Email ● Gmail, Yahoo Mail, Hotmail Live ● Calendar / Project Management ● Basecamp, 30 Boxes, Google Calendar ● Personalised Homepages ● My Yahoo!, Netvibes, Pageflakes ● Aggregators and meme-trackers ● Google Reader, Techmeme, Technorati
  • 9. So how do we build all of this?
  • 10. Building blocks of Web 2.0 ● HTML ● CSS ● JavaScript (and Ajax)
  • 11. What is Ajax? ● Connecting to a server using JavaScript ● Avoids page refreshes ● Dynamic updates to content ● Dynamic processing of user inputs
  • 12. Ajax accessibility issues: Overview ● General issues ● Screen reader issues ● Screen magnifier issues ● Keyboard issues ● Movement and colour issues
  • 13. Ajax accessibility issues: General ● Lack of page refresh – breaks web model ● User independent updates ● Visual dependencies ● JavaScript barriers
  • 14. Ajax accessibility issues: Screen readers ● Updating the virtual buffer ● Two issues: ● Is the content available to the user? ● Is the user aware the content is updated? ● Hidden content
  • 15. Ajax accessibility issues: Screen readers ● User initiated updates ● User independent updates ● Delayed updates (Ajax) ● Virtual buffer sometimes not updated ● Hidden input field hack ● Manual updates ● Usability issues
  • 16. Ajax accessibility issues – Screen magnifiers ● Distance between action and result ● Changing the content they are reading ● Overflowing content ● Changing focus
  • 17. Ajax accessibility issues – keyboard users ● Offscreen content ● Removing focused content ● Interactive elements focusable
  • 18. Case study of retrofitting a web page using Ajax ● Pre-requisites ● Structured and semantic HTML ● Text alternative to visual cues ● Case studies ● Y! TV Search ● Y! Finance Currency Converter
  • 19. Case Study: Yahoo! TV Search ● Common Interface: Tabbed Search
  • 20. Case Study: Yahoo! TV Search ● Its just a form!
  • 21. Case Study: Yahoo! TV Search ● Plus: Adding the visual cue with CSS ● Plus: JavaScript to enhance the user experience ● Audio cues (Extra text) ● Keyboard access for free (labels)
  • 23. Case Study: Currency Converter ● Simple HTML Form ● Visual cues ● Enhancing labels ● Screen reader testing ● Catching bugs
  • 24. Recommended solutions for accessible Ajax ● Development ● Testing
  • 25. Recommended solutions: Development ● Progressive enhancement ● Semantic and structured HTML ● Core functionality in HTML only ● Use CSS to add visual cues ● Use JavaScript to add ● Dynamic updates ● User-enhancements
  • 26. Recommended solutions: Testing ● Disable JavaScript and CSS: ● Core functionality must work ● Enable CSS and JavaScript: ● Identify visual cues, ensure text-only equivalents are available ● Visual cues: colour, positioning, arrows, GUI metaphors ● Test it without a mouse ● Test it on a slow connection
  • 27. Testing with a screen reader ● Don't use a screen reader ● Get a screen reader user instead ● Screen reader power user – good for first pass testing ● Normal screen reader user – better for real user testing
  • 28. References ● Standards ● PAS 78 – British Standards Institution ● en.wikipedia.org/wiki/Pas_78 ● Web Content Accessibility Guidelines 1.0 ● w3.org/TR/WCAG10 ● WCAG Samurai Errata ● wcagsamurai.org
  • 29. References: Books ● Joe Clark: Building Accessible Websites ● joeclark.org/book ● Shawn Lawton Henry: Just Ask ● www.uiaccess.com/accessucd
  • 30. References: Web ● Gez Lemon / Juicy Studio ● www.juicystudio.com ● Alastair Campbell ● alastairc.ac ● Grant Broome ● grantbroome.blogspot.com ● Steve Faulkner ● paciellogroup.com/blog