SlideShare a Scribd company logo
1 of 32
Download to read offline
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

More Related Content

Viewers also liked

Viewers also liked (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 to 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 to 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
 

More from 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
 

More from 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)
 

Recently uploaded

Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 

Recently uploaded (20)

Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 

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