SlideShare a Scribd company logo
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

Ajax basics
Ajax basicsAjax basics
Web 2.0 & Ajax Basics
Web 2.0 & Ajax BasicsWeb 2.0 & Ajax Basics
Web 2.0 & Ajax Basics
Abhishek Nagar
 
Ajax
AjaxAjax
Html For Beginners 2
Html For Beginners 2Html For Beginners 2
Html For Beginners 2
Sriram Raj
 
Ajax basic intro
Ajax basic introAjax basic intro
Ajax basic intro
husnara mohammad
 
Ajax basics
Ajax basicsAjax basics
Ajax basicsVel004
 
Introduction to AJAX
Introduction to AJAXIntroduction to AJAX
Introduction to AJAXjtedesco5
 
What is Ajax technology?
What is Ajax technology?What is Ajax technology?
What is Ajax technology?
JavaTpoint.Com
 
Html for Beginners
Html for BeginnersHtml for Beginners
Html for Beginners
Sriram Raj
 
HTML CSS Basics
HTML CSS BasicsHTML CSS Basics
HTML CSS Basics
Mai Moustafa
 

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 Mike Davies - Ajax And Accessibility

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 IxDA
jeresig
 
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 Wikis
XWiki
 
SVG Accessibility
SVG AccessibilitySVG Accessibility
SVG Accessibility
Anna Khabibullina
 
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
Henny 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 web
Ivano Malavolta
 
Web Accessibility Evaluation with WAVE
Web Accessibility Evaluation with WAVEWeb Accessibility Evaluation with WAVE
Web Accessibility Evaluation with WAVE
Jared 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 Slow
dmethvin
 
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
Alek Davis
 
Seven Steps To Better JavaScript
Seven Steps To Better JavaScriptSeven Steps To Better JavaScript
Seven Steps To Better JavaScript
Den 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 07
carsonsystems
 
Documenting For Interactive Websites
Documenting For Interactive WebsitesDocumenting For Interactive Websites
Documenting For Interactive Websites
Patrick Kennedy
 

Similar to Mike Davies - Ajax And Accessibility (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? - Dotjs2019
Christian Heilmann
 
Hinting at a better web
Hinting at a better webHinting at a better web
Hinting at a better web
Christian Heilmann
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
Christian 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 Oslo
Christian Heilmann
 
Artificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteArtificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynote
Christian 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 keynote
Christian Heilmann
 
Progressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandProgressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays Finland
Christian Heilmann
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
Christian 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 developer
Christian Heilmann
 
Taking the P out of PWA
Taking the P out of PWATaking the P out of PWA
Taking the P out of PWA
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
 
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 - DevReach
Christian 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 worlds
Christian 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 humans
Christian 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. Control
Christian Heilmann
 
Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017Leveling up your JavaScipt - DrupalJam 2017
Leveling up your JavaScipt - DrupalJam 2017
Christian 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

De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 

Recently uploaded (20)

De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 

Mike Davies - Ajax And Accessibility

  • 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