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

Engaging Virtual Communities: Web 2.0
Engaging Virtual Communities: Web 2.0Engaging Virtual Communities: Web 2.0
Engaging Virtual Communities: Web 2.0lisbk
 
Web 2.0 and LiveQuotes Presentation
Web 2.0 and LiveQuotes PresentationWeb 2.0 and LiveQuotes Presentation
Web 2.0 and LiveQuotes PresentationJamie Thingelstad
 
Front-end optimisation & jQuery Internals (Pycon)
Front-end optimisation & jQuery Internals (Pycon)Front-end optimisation & jQuery Internals (Pycon)
Front-end optimisation & jQuery Internals (Pycon)Artur Cistov
 
An Introduction to Web 2.0
An Introduction to Web 2.0An Introduction to Web 2.0
An Introduction to Web 2.0lisbk
 
Web 2.0: What Is It, How Can I Use It, How Can I Deploy It?
Web 2.0: What Is It, How Can I Use It, How Can I Deploy It?Web 2.0: What Is It, How Can I Use It, How Can I Deploy It?
Web 2.0: What Is It, How Can I Use It, How Can I Deploy It?lisbk
 
Deployment Strategies For Web 2.0
Deployment Strategies For Web 2.0Deployment Strategies For Web 2.0
Deployment Strategies For Web 2.0lisbk
 
Yahoo! Frontend Building Blocks
Yahoo! Frontend Building BlocksYahoo! Frontend Building Blocks
Yahoo! Frontend Building BlocksSubramanyan Murali
 
Front-end optimisation & jQuery Internals
Front-end optimisation & jQuery InternalsFront-end optimisation & jQuery Internals
Front-end optimisation & jQuery InternalsArtur Cistov
 
Web 2.0: characteristics and tools (2010 eng)
Web 2.0: characteristics and tools (2010 eng)Web 2.0: characteristics and tools (2010 eng)
Web 2.0: characteristics and tools (2010 eng)Carlo Vaccari
 
Micro-Frontends JSVidCon
Micro-Frontends JSVidConMicro-Frontends JSVidCon
Micro-Frontends JSVidConAmir Zuker
 
Ext Js In Action January 2010 (Meap Edition)
Ext Js In Action January 2010 (Meap Edition)Ext Js In Action January 2010 (Meap Edition)
Ext Js In Action January 2010 (Meap Edition)Goran Kljajic
 
LvivCSS: Web Components as a foundation for Design System
LvivCSS: Web Components as a foundation for Design SystemLvivCSS: Web Components as a foundation for Design System
LvivCSS: Web Components as a foundation for Design SystemVlad Fedosov
 
Trends in webdesign
Trends in webdesignTrends in webdesign
Trends in webdesignbart_netlash
 
Starting with jQuery
Starting with jQueryStarting with jQuery
Starting with jQueryAnil Kumar
 

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

Engaging Virtual Communities: Web 2.0
Engaging Virtual Communities: Web 2.0Engaging Virtual Communities: Web 2.0
Engaging Virtual Communities: Web 2.0
 
Web 2.0 and LiveQuotes Presentation
Web 2.0 and LiveQuotes PresentationWeb 2.0 and LiveQuotes Presentation
Web 2.0 and LiveQuotes Presentation
 
Front-end optimisation & jQuery Internals (Pycon)
Front-end optimisation & jQuery Internals (Pycon)Front-end optimisation & jQuery Internals (Pycon)
Front-end optimisation & jQuery Internals (Pycon)
 
An Introduction to Web 2.0
An Introduction to Web 2.0An Introduction to Web 2.0
An Introduction to Web 2.0
 
Web 2.0: What Is It, How Can I Use It, How Can I Deploy It?
Web 2.0: What Is It, How Can I Use It, How Can I Deploy It?Web 2.0: What Is It, How Can I Use It, How Can I Deploy It?
Web 2.0: What Is It, How Can I Use It, How Can I Deploy It?
 
TPR4
TPR4TPR4
TPR4
 
TPR4
TPR4TPR4
TPR4
 
Introduction to YUI
Introduction to YUIIntroduction to YUI
Introduction to YUI
 
Deployment Strategies For Web 2.0
Deployment Strategies For Web 2.0Deployment Strategies For Web 2.0
Deployment Strategies For Web 2.0
 
Yahoo! Frontend Building Blocks
Yahoo! Frontend Building BlocksYahoo! Frontend Building Blocks
Yahoo! Frontend Building Blocks
 
Front-end optimisation & jQuery Internals
Front-end optimisation & jQuery InternalsFront-end optimisation & jQuery Internals
Front-end optimisation & jQuery Internals
 
Web 2.0: characteristics and tools (2010 eng)
Web 2.0: characteristics and tools (2010 eng)Web 2.0: characteristics and tools (2010 eng)
Web 2.0: characteristics and tools (2010 eng)
 
Web 2.0 Presentation
Web 2.0 PresentationWeb 2.0 Presentation
Web 2.0 Presentation
 
Micro-Frontends JSVidCon
Micro-Frontends JSVidConMicro-Frontends JSVidCon
Micro-Frontends JSVidCon
 
Web2 learning2 v2
Web2 learning2 v2Web2 learning2 v2
Web2 learning2 v2
 
Ext Js In Action January 2010 (Meap Edition)
Ext Js In Action January 2010 (Meap Edition)Ext Js In Action January 2010 (Meap Edition)
Ext Js In Action January 2010 (Meap Edition)
 
LvivCSS: Web Components as a foundation for Design System
LvivCSS: Web Components as a foundation for Design SystemLvivCSS: Web Components as a foundation for Design System
LvivCSS: Web Components as a foundation for Design System
 
Trends in webdesign
Trends in webdesignTrends in webdesign
Trends in webdesign
 
Trends in webdesign
Trends in webdesignTrends in webdesign
Trends in webdesign
 
Starting with jQuery
Starting with jQueryStarting with jQuery
Starting with jQuery
 

More from AEGIS-ACCESSIBLE Projects

Mobile applications (Panagiotis Tsoris, Steficon)
Mobile applications (Panagiotis Tsoris, Steficon)Mobile applications (Panagiotis Tsoris, Steficon)
Mobile applications (Panagiotis Tsoris, Steficon)AEGIS-ACCESSIBLE Projects
 
ViPi platform technologies and integration pathway (Karel Van Isacker, Phoeni...
ViPi platform technologies and integration pathway (Karel Van Isacker, Phoeni...ViPi platform technologies and integration pathway (Karel Van Isacker, Phoeni...
ViPi platform technologies and integration pathway (Karel Van Isacker, Phoeni...AEGIS-ACCESSIBLE Projects
 
Basic ICT Training curriculum (Andy Burton, NTU)
Basic ICT Training curriculum (Andy Burton, NTU)Basic ICT Training curriculum (Andy Burton, NTU)
Basic ICT Training curriculum (Andy Burton, NTU)AEGIS-ACCESSIBLE Projects
 
General introduction of the ViPi project (Karel Van Isacker, PhoenixKM)
General introduction of the ViPi project (Karel Van Isacker, PhoenixKM)General introduction of the ViPi project (Karel Van Isacker, PhoenixKM)
General introduction of the ViPi project (Karel Van Isacker, PhoenixKM)AEGIS-ACCESSIBLE Projects
 
Semantic Content Management enhancements (George Milis, G.M EuroCy Innovation...
Semantic Content Management enhancements (George Milis, G.M EuroCy Innovation...Semantic Content Management enhancements (George Milis, G.M EuroCy Innovation...
Semantic Content Management enhancements (George Milis, G.M EuroCy Innovation...AEGIS-ACCESSIBLE Projects
 
Gelijke kansen op informatie, toegankelijke documenten en communicatiekanalen...
Gelijke kansen op informatie, toegankelijke documenten en communicatiekanalen...Gelijke kansen op informatie, toegankelijke documenten en communicatiekanalen...
Gelijke kansen op informatie, toegankelijke documenten en communicatiekanalen...AEGIS-ACCESSIBLE Projects
 
AEGIS SP4 story - building an accessible mobile application
AEGIS SP4 story - building an accessible mobile applicationAEGIS SP4 story - building an accessible mobile application
AEGIS SP4 story - building an accessible mobile applicationAEGIS-ACCESSIBLE Projects
 
AEGIS SP3 story - building an accessible web application
AEGIS SP3 story - building an accessible web applicationAEGIS SP3 story - building an accessible web application
AEGIS SP3 story - building an accessible web applicationAEGIS-ACCESSIBLE Projects
 
Conference proceedings 2011 AEGIS International Workshop and Conference
Conference proceedings 2011 AEGIS International Workshop and ConferenceConference proceedings 2011 AEGIS International Workshop and Conference
Conference proceedings 2011 AEGIS International Workshop and ConferenceAEGIS-ACCESSIBLE Projects
 
Guide presentation aegis-fp7-projects-round_table_2011-11-30_v0.1
Guide presentation aegis-fp7-projects-round_table_2011-11-30_v0.1Guide presentation aegis-fp7-projects-round_table_2011-11-30_v0.1
Guide presentation aegis-fp7-projects-round_table_2011-11-30_v0.1AEGIS-ACCESSIBLE Projects
 

More from AEGIS-ACCESSIBLE Projects (20)

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

Recently uploaded

UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1DianaGray10
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
 
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
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationZilliz
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaCzechDreamin
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsPaul Groth
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Alison B. Lowndes
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlPeter Udo Diehl
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsExpeed Software
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...Product School
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...CzechDreamin
 
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 buttonDianaGray10
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekCzechDreamin
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Julian Hyde
 
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 GrafanaRTTS
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeCzechDreamin
 
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.pdfCheryl Hung
 

Recently uploaded (20)

UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
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...
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
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
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
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
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
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
 

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