SlideShare a Scribd company logo
Making Rich Internet
Applications Accessible
Through jQuery



Chris Blouch, AOL
Hans Hillen, TPG

March 26, 2010
Who is doing the work
AOL and TPG teamed up to advance accessibility
of dynamic web applications. This project is also
supported by AEGIS.




                                  CSUN March 26 2010
                                              Page 2
jQuery
jQuery is a JavaScript library which makes it easier
for developers to implement rich internet
applications. Smooths browser differences and
minimizes code required to build functionality.

Changing:
<div id="slider-range"></div>




                                    CSUN March 26 2010
                                                Page 3
jQuery
Into this:

<div class="ui-slider ui-slider-horizontal ui-widget ui-widget-content
ui-corner-all" id="slider-range"><div style="left: 15%; width: 45%;"
class="ui-slider-range ui-widget-header"></div><a style="left: 15%;"
class="ui-slider-handle ui-state-default ui-corner-all" href="#"></a><a
style="left: 60%;" class="ui-slider-handle ui-state-default ui-corner-all"
href="#"></a></div>


Rendering as:


                                                   CSUN March 26 2010
                                                               Page 4
Usage widespread
aol.com             facebook.com
amazon.com          google.com
bankofamerica.com   ibm.com
bbc.co.uk           mlb.com
bestbuy.com         mozilla.org
businessweek.com    netflix.com
cbs.com             nbc.com
dell.com            technorati.com
digg.com            twitter.com


                              CSUN March 26 2010
                                          Page 5
Root issue
AT on top of DOM insufficient to parse piles of DIVs
and SPANs into usable widgets

Four core fixes
   ARIA
   Keyboard control
   Focus management
   Linearized DOM



                                   CSUN March 26 2010
                                               Page 6
                                                    6
Solutions
ARIA
   Obvious
   Add and maintain proper roles, states to add
semantics and metadata




                                   CSUN March 26 2010
                                               Page 7
                                                    7
Solutions
Keyboard Control
   DHTML Style Guide
       dev.aol.com/dhtml_style_guide
       Basis for W3C’s ARIA best practices
       www.w3c.org/WAI/PF/aria-practices#aria_ex




                                 CSUN March 26 2010
                                             Page 8
                                                  8
Solutions
Focus Management
Give the user a hint that new content has been
injected without a page refresh (Ajax, DHTML)




                                  CSUN March 26 2010
                                              Page 9
                                                   9
Solutions
Linearized DOM
    Ensure that adjacent objects on the display are
adjacent in the DOM.




                                     CSUN March 26 2010
                                                 Page 10
                                                      10
Next layer problem
All technically possible but requires awareness and
somewhat specialized skills/testing to implement

    Means - most developers will not do it

Solution: Roll accessibility development effort into
common JS widget libraries




                                    CSUN March 26 2010
                                                Page 11
                                                     11
Which library?
There are many libraries out there such as MooTools,
Dojo, jQuery, Prototype, YUI etc.

Developers use these libraries to avoid reinventing
the wheel over and over

Want to focus effort on a library which has the
largest use and mindshare



                                    CSUN March 26 2010
                                                Page 12
                                                     12
Website usage
 trends.builtwith.com/javascript/JQuery




                                  CSUN March 26 2010
                                              Page 13
                                                   13
Job queries
www.indeed.com/jobtrends?q=dojo
%2C+jQuery%2C+YUI&l=




                                  CSUN March 26 2010
                                              Page 14
                                                   14
Search trends
google.com/trends?q=jquery+javascript
%2C+prototype+javascript%2C+dojo+javascript
%2C+mootools+javascript%2C+yui+
javascript&ctab=0&geo=all&date=all&sort=0




                                       CSUN March 26 2010
                                                   Page 15
                                                        15
Which library?
jQuery seemed to be the obvious leader

Internal AOL research led to the same conclusion and
standardization on jQuery for all future site
development
    Smaller libraries
    Faster execution
    Less code to write



                                   CSUN March 26 2010
                                               Page 16
                                                    16
Which widgets?
jQuery has a large ecosphere with about 3000
plugins

jQueryUI is migrating high quality widgets from the
ecosphere to the core code library

Focus on making jQueryUI accessible.




                                   CSUN March 26 2010
                                               Page 17
                                                    17
Roles
TPG - Implementing fixes to jQueryUI 1.9 codebase
branch

AOL - Rolling accessible jQueryUI into consumer
facing products

AEGIS - Providing resources and guidance to
advance this effort



                                  CSUN March 26 2010
                                              Page 18
Work completed
Initital evaluation of jQueryUI widgets found issues
with high contrast mode, ARIA attributes and
keyboard controls.

Hans Hillen has been making changes to these
widgets and checking in code to the 1.9 branch of
jQueryUI.

1.8 branch released Tuesday so our code will be out
in the next public release.

                                   CSUN March 26 2010
                                               Page 19
                                                    19
Work completed
In particular, we’ve addressed:
     Accordion              Progress Bar
     Date Picker            Slider
     Dialog

Work work commencing on:
    Spinner              Carousel
    Tab Panel            Tree View


                                 CSUN March 26 2010
                                             Page 20
DEMOS




        CSUN March 26 2010

                  Page 21
jQuery Resources
Here are the links Hans mentioned at the end
of the presentation:
jQuery Home: http://jquery.com/
Project Source:
  http://github.com/jquery/jquery-ui/
jQuery UI and & Planning Wiki:
  http://wiki.jqueryui.com/
jQuery UI Tickets:
  http://dev.jqueryui.com/report
jQuey UI Accessibility Discussion Group:
  http://groups.google.com/group/jquery-a11y
                                   CSUN March 26 2010
                                               Page 22

More Related Content

Similar to Making Rich Internet Applications Accessible Through jQuery (20)

PDF
Introduction to jQuery Mobile
Troy Miles
 
PDF
What's this jQuery? Where it came from, and how it will drive innovation
Marakana Inc.
 
KEY
Better Front-end Development in Atlassian Plugins
Wojciech Seliga
 
PDF
JQuery-Tutorial
tutorialsruby
 
PDF
jQuery-3-UI
guestcf600a
 
PDF
Microsoft PowerPoint - &lt;b>jQuery&lt;/b>-3-UI.pptx
tutorialsruby
 
PDF
jQuery-3-UI
guestcf600a
 
PDF
Professional web development with libraries
Christian Heilmann
 
PDF
Front end performance improvements
Matthew Farina
 
PPT
Jquery(2)
tomcoh
 
PDF
Web Accessibility - We're All In This Together!
Andrew Ronksley
 
PDF
Ajax and Accessibiity
Mark Meeker
 
PDF
Finding harmony in web development
Christian Heilmann
 
PDF
State of jQuery '09
jeresig
 
PDF
Devdays Seattle jQuery Intro for Developers
cody lindley
 
PDF
jQuery 1.9 and 2.0 - Present and Future
Richard Worth
 
PPT
Full Frontal Javascript Conference
Steve Wells
 
PPTX
User Interface Patterns and Nuxeo
anicewick
 
PPT
Techniques For A Modern Web UI (With Notes)
patrick.t.joyce
 
PDF
jQuery Mobile, Backbone.js, and ASP.NET MVC
Troy Miles
 
Introduction to jQuery Mobile
Troy Miles
 
What's this jQuery? Where it came from, and how it will drive innovation
Marakana Inc.
 
Better Front-end Development in Atlassian Plugins
Wojciech Seliga
 
JQuery-Tutorial
tutorialsruby
 
jQuery-3-UI
guestcf600a
 
Microsoft PowerPoint - &lt;b>jQuery&lt;/b>-3-UI.pptx
tutorialsruby
 
jQuery-3-UI
guestcf600a
 
Professional web development with libraries
Christian Heilmann
 
Front end performance improvements
Matthew Farina
 
Jquery(2)
tomcoh
 
Web Accessibility - We're All In This Together!
Andrew Ronksley
 
Ajax and Accessibiity
Mark Meeker
 
Finding harmony in web development
Christian Heilmann
 
State of jQuery '09
jeresig
 
Devdays Seattle jQuery Intro for Developers
cody lindley
 
jQuery 1.9 and 2.0 - Present and Future
Richard Worth
 
Full Frontal Javascript Conference
Steve Wells
 
User Interface Patterns and Nuxeo
anicewick
 
Techniques For A Modern Web UI (With Notes)
patrick.t.joyce
 
jQuery Mobile, Backbone.js, and ASP.NET MVC
Troy Miles
 

More from AEGIS-ACCESSIBLE Projects (20)

PPT
Mobile applications (Panagiotis Tsoris, Steficon)
AEGIS-ACCESSIBLE Projects
 
PPT
ViPi platform technologies and integration pathway (Karel Van Isacker, Phoeni...
AEGIS-ACCESSIBLE Projects
 
PPT
Basic ICT Training curriculum (Andy Burton, NTU)
AEGIS-ACCESSIBLE Projects
 
PPT
ViPi Survey (Andy Burton, NTU)
AEGIS-ACCESSIBLE Projects
 
PPT
General introduction of the ViPi project (Karel Van Isacker, PhoenixKM)
AEGIS-ACCESSIBLE Projects
 
PPT
Semantic Content Management enhancements (George Milis, G.M EuroCy Innovation...
AEGIS-ACCESSIBLE Projects
 
PDF
Gelijke kansen op informatie, toegankelijke documenten en communicatiekanalen...
AEGIS-ACCESSIBLE Projects
 
ODP
AEGIS SP4 story - building an accessible mobile application
AEGIS-ACCESSIBLE Projects
 
ODP
AEGIS SP3 story - building an accessible web application
AEGIS-ACCESSIBLE Projects
 
PDF
ACCESSIBLE newsletter n° 6
AEGIS-ACCESSIBLE Projects
 
PDF
AEGIS Newsletter n° 6
AEGIS-ACCESSIBLE Projects
 
PDF
VERITAS newsletter n° 3
AEGIS-ACCESSIBLE Projects
 
PDF
VERITAS newsletter n° 2
AEGIS-ACCESSIBLE Projects
 
PDF
VERITAS newsletter n° 4
AEGIS-ACCESSIBLE Projects
 
PDF
Conference proceedings 2011 AEGIS International Workshop and Conference
AEGIS-ACCESSIBLE Projects
 
PDF
Aegis concertation certh
AEGIS-ACCESSIBLE Projects
 
PDF
Veritas iti aegis_conf
AEGIS-ACCESSIBLE Projects
 
PDF
Haptimap in a_nutshell_2011_for_aegis
AEGIS-ACCESSIBLE Projects
 
PDF
Guide presentation aegis-fp7-projects-round_table_2011-11-30_v0.1
AEGIS-ACCESSIBLE Projects
 
PDF
Etna bruxelles aegis_2011_ok
AEGIS-ACCESSIBLE Projects
 
Mobile applications (Panagiotis Tsoris, Steficon)
AEGIS-ACCESSIBLE Projects
 
ViPi platform technologies and integration pathway (Karel Van Isacker, Phoeni...
AEGIS-ACCESSIBLE Projects
 
Basic ICT Training curriculum (Andy Burton, NTU)
AEGIS-ACCESSIBLE Projects
 
ViPi Survey (Andy Burton, NTU)
AEGIS-ACCESSIBLE Projects
 
General introduction of the ViPi project (Karel Van Isacker, PhoenixKM)
AEGIS-ACCESSIBLE Projects
 
Semantic Content Management enhancements (George Milis, G.M EuroCy Innovation...
AEGIS-ACCESSIBLE Projects
 
Gelijke kansen op informatie, toegankelijke documenten en communicatiekanalen...
AEGIS-ACCESSIBLE Projects
 
AEGIS SP4 story - building an accessible mobile application
AEGIS-ACCESSIBLE Projects
 
AEGIS SP3 story - building an accessible web application
AEGIS-ACCESSIBLE Projects
 
ACCESSIBLE newsletter n° 6
AEGIS-ACCESSIBLE Projects
 
AEGIS Newsletter n° 6
AEGIS-ACCESSIBLE Projects
 
VERITAS newsletter n° 3
AEGIS-ACCESSIBLE Projects
 
VERITAS newsletter n° 2
AEGIS-ACCESSIBLE Projects
 
VERITAS newsletter n° 4
AEGIS-ACCESSIBLE Projects
 
Conference proceedings 2011 AEGIS International Workshop and Conference
AEGIS-ACCESSIBLE Projects
 
Aegis concertation certh
AEGIS-ACCESSIBLE Projects
 
Veritas iti aegis_conf
AEGIS-ACCESSIBLE Projects
 
Haptimap in a_nutshell_2011_for_aegis
AEGIS-ACCESSIBLE Projects
 
Guide presentation aegis-fp7-projects-round_table_2011-11-30_v0.1
AEGIS-ACCESSIBLE Projects
 
Etna bruxelles aegis_2011_ok
AEGIS-ACCESSIBLE Projects
 
Ad

Recently uploaded (20)

PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
PDF
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
July Patch Tuesday
Ivanti
 
Using FME to Develop Self-Service CAD Applications for a Major UK Police Force
Safe Software
 
Presentation - Vibe Coding The Future of Tech
yanuarsinggih1
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Ad

Making Rich Internet Applications Accessible Through jQuery

  • 1. Making Rich Internet Applications Accessible Through jQuery Chris Blouch, AOL Hans Hillen, TPG March 26, 2010
  • 2. Who is doing the work AOL and TPG teamed up to advance accessibility of dynamic web applications. This project is also supported by AEGIS. CSUN March 26 2010 Page 2
  • 3. jQuery jQuery is a JavaScript library which makes it easier for developers to implement rich internet applications. Smooths browser differences and minimizes code required to build functionality. Changing: <div id="slider-range"></div> CSUN March 26 2010 Page 3
  • 4. jQuery Into this: <div class="ui-slider ui-slider-horizontal ui-widget ui-widget-content ui-corner-all" id="slider-range"><div style="left: 15%; width: 45%;" class="ui-slider-range ui-widget-header"></div><a style="left: 15%;" class="ui-slider-handle ui-state-default ui-corner-all" href="#"></a><a style="left: 60%;" class="ui-slider-handle ui-state-default ui-corner-all" href="#"></a></div> Rendering as: CSUN March 26 2010 Page 4
  • 5. Usage widespread aol.com facebook.com amazon.com google.com bankofamerica.com ibm.com bbc.co.uk mlb.com bestbuy.com mozilla.org businessweek.com netflix.com cbs.com nbc.com dell.com technorati.com digg.com twitter.com CSUN March 26 2010 Page 5
  • 6. Root issue AT on top of DOM insufficient to parse piles of DIVs and SPANs into usable widgets Four core fixes ARIA Keyboard control Focus management Linearized DOM CSUN March 26 2010 Page 6 6
  • 7. Solutions ARIA Obvious Add and maintain proper roles, states to add semantics and metadata CSUN March 26 2010 Page 7 7
  • 8. Solutions Keyboard Control DHTML Style Guide dev.aol.com/dhtml_style_guide Basis for W3C’s ARIA best practices www.w3c.org/WAI/PF/aria-practices#aria_ex CSUN March 26 2010 Page 8 8
  • 9. Solutions Focus Management Give the user a hint that new content has been injected without a page refresh (Ajax, DHTML) CSUN March 26 2010 Page 9 9
  • 10. Solutions Linearized DOM Ensure that adjacent objects on the display are adjacent in the DOM. CSUN March 26 2010 Page 10 10
  • 11. Next layer problem All technically possible but requires awareness and somewhat specialized skills/testing to implement Means - most developers will not do it Solution: Roll accessibility development effort into common JS widget libraries CSUN March 26 2010 Page 11 11
  • 12. Which library? There are many libraries out there such as MooTools, Dojo, jQuery, Prototype, YUI etc. Developers use these libraries to avoid reinventing the wheel over and over Want to focus effort on a library which has the largest use and mindshare CSUN March 26 2010 Page 12 12
  • 16. Which library? jQuery seemed to be the obvious leader Internal AOL research led to the same conclusion and standardization on jQuery for all future site development Smaller libraries Faster execution Less code to write CSUN March 26 2010 Page 16 16
  • 17. Which widgets? jQuery has a large ecosphere with about 3000 plugins jQueryUI is migrating high quality widgets from the ecosphere to the core code library Focus on making jQueryUI accessible. CSUN March 26 2010 Page 17 17
  • 18. Roles TPG - Implementing fixes to jQueryUI 1.9 codebase branch AOL - Rolling accessible jQueryUI into consumer facing products AEGIS - Providing resources and guidance to advance this effort CSUN March 26 2010 Page 18
  • 19. Work completed Initital evaluation of jQueryUI widgets found issues with high contrast mode, ARIA attributes and keyboard controls. Hans Hillen has been making changes to these widgets and checking in code to the 1.9 branch of jQueryUI. 1.8 branch released Tuesday so our code will be out in the next public release. CSUN March 26 2010 Page 19 19
  • 20. Work completed In particular, we’ve addressed: Accordion Progress Bar Date Picker Slider Dialog Work work commencing on: Spinner Carousel Tab Panel Tree View CSUN March 26 2010 Page 20
  • 21. DEMOS CSUN March 26 2010 Page 21
  • 22. jQuery Resources Here are the links Hans mentioned at the end of the presentation: jQuery Home: http://jquery.com/ Project Source: http://github.com/jquery/jquery-ui/ jQuery UI and & Planning Wiki: http://wiki.jqueryui.com/ jQuery UI Tickets: http://dev.jqueryui.com/report jQuey UI Accessibility Discussion Group: http://groups.google.com/group/jquery-a11y CSUN March 26 2010 Page 22