SlideShare une entreprise Scribd logo
1  sur  45
Télécharger pour lire hors ligne
ARIA with KISSY




                       承玉
        yiminghe@gmail.com
          Draft 26 May 2011
• WAI ARIA Introduction

• ARIA Essentials

• ARIA with KISSY
• WAI ARIA Introduction
WAI ARIA Intro

• W
• A
• I

•   A
•   R
•   I
•   A
WAI ARIA Intro

• Web
• Accessibility
• Initiative

•   Accessible
•   Rich
•   Internet
•   Application
Problem

• Web >= 2.0 is fancy !
What can we do for the disabled especially blind men ?
MS already does

• MSAA : Microsoft Active Accessibility
Mac also does

• Accessibility Programming Guidelines for
  Cocoa
ARIA comes for web

• Map ARIA attributes to MSAA properties.




• Now in draft , but de facto standard , largely
  supported
How

• Semantic tag with meaning content




                html


• But not enough for complex app
How

• Enhance usability for common people



                  css


                  html


• But not so useful for disabled
How

• Fancy thing comes



                 javascript

                    css

                   html

• But it does not tell disabled
How

• Aria for rescue

                    ARIA


                javascript

                    css

                    html

• More semantics by providing attribute to
  bridge the gap between App and AT.
• Aria essentials
ARIA essentials

• Role : type of ui component ,add semantics
• State/Property : decribe about specific role’s
  attribute

• Tabindex : focus management , control user’s
  navigation
• Keydown/press : event needed to be listened
  for activate actions
Role category


• Document structure

• Landmarks

• Widget role
Document structure Roles

• Organize content in a page ,not usually
  interactive. Similar to html5 tags .

• Contains :
  article columnheader definition directory
  document group heading img list listitem
  math note presentation region row
  rowheader separator toolbar
• Document structure roles in taobao
                        role=‘listitem’




                   Role=‘list’
Live region

• Managing content and presentation changes

• Relation:
  – aria-controls
• Properties
  – aria-live aria-busy aria-atomic aria-relevent
• Special live region
  – alert status timer marquee log
In taobao

• word count notification
                            aria-controls=‘counter’




                                     id=‘counter’
                                   aria-live=‘polite’
Landmark roles

• Navigational regions , need AT’s navigation
  function.

• Contains :
  application banner complementary
  contentinfo form main navigation search
Landmark roles in taobao
Landmark in taobao




     role=‘contentinfo’
Widget roles

• Type of a standalone widget or ui control like
  on desktop.
• Contains :
  alert button dialog gridcell marquee
  menuitem menuitemcheckbox
  menuitemradio option progressbar scrollbar
  slider spinbutton tab tabpanel timer tooltip
  treeitem combobox grid listbox menu
  menubar radiogroup tablist tree …
Widget roles in taobao
Role and keydown

• hint:

  – Keydown on Roles other an ‘application’ or
    widget role will be intercepted by AT.

  – Keydown event fired on element with widget role
    should call stopPropagation and preventDefault
    in order to let web application to handle it.
States/property

• Belongs to specific roles ,name starts with
  “aria-”

• For example :
  aria-label   aria-labelledby aria-live
  aria-hidden        aria-activedescendant
  aria-haspopup aria-controls …
In taobao
  Now : aria-label aria-haspopup @ etao

  Lack : aria-activedescendant aria-hidden




       aria-activedescendant




               aria-hidden
tabindex
   • Manage focus among dom node
Attribute Tabindex               Focusable with mouse or       Tab Navigation
                                 JavaScript via
                                 element.focus()
not present                      Follows default behavior of   Follows default behavior of
                                 element (only form controls   element
                                 and anchors can receive
                                 focus.)
zero - tabindex="0"              yes                           In tab order relative to
                                                               element's position in
                                                               document
Positive - tabindex="X"          yes                           Tabindex value directly
(where X is a positive integer                                 specifies where this element
between 1 and 32768)                                           is positioned in the tab order.

Negative - tabindex="-1"         yes                           No, author must focus it with
                                                               element.focus() as a result of
                                                               arrow or other key press
• Aria with KISSY
overview

• KISSY.Overlay

• KISSY.MenuButton

• KISSY.Tabs

• KISSY.Carousel
• …..
KISSY.Overlay

• role=‘dialog’

• aria-labelledby

• aria-hidden

• Trapping Focus
KISSY.MenuButton

•   role = ‘button’
•   aria-haspopup aria-expanded
•   aria-pressed aria-disabled
•   aria-activedescendant
•   aria-labelledby
KISSY.Menu

•   role = ‘menu’ / ‘menuitem’
•   aria-haspopup
•   aria-activedescendant
•   aria-disabled aria-pressed
Tabs Transform

• Aria in KISSY.Tabs
KISSY.Tabs practice

• 1. Pick role
  – Role=‘tablist’
  – Role=‘tab’
  – Role=‘tabpanel’
• 2. set state/property and tabindex
  – Tabpanel
     • aria-hidden
     • aria-labelledby
  – Tab
     • tabindex , current active = 0 , others = -1
     •
• 3.establish keyboard
navigation
  – Keyboard accessible tab
  by listening keydown/press
• 4.sync states with
 widget logic
 5.tabindex and
 focus management

  – AOP Event-Driven
More

• Waiting ….
tools

• Ie8,9 : http://windows.microsoft.com/en-
  US/internet-explorer/products/ie/home
• Firefox : http://www.mozilla.com/
• Chrome : http://www.google.com/chrome/
• 争渡读屏 : http://www.zdsr.net/
• Nvda screen render : http://www.nvda-project.org/
• firefox accessibility extension :
  http://firefox.cita.uiuc.edu/
• WAVE : http://wave.webaim.org/
Refer

• WAI-ARIA - w3.org/TR/wai-aria
• Overview - w3.org/WAI/intro/aria
• ARIA Primer - www.w3.org/TR/waiaria-primer/
• ARIA Best Practices - www.w3.org/TR/wai-aria-
  practices/
• Gez Lemon's tutorial -
  dev.opera.com/articles/view/introduction-to-wai-
  aria/
• Codetalks - http://wiki.codetalks.org
refer

• Mozilla -
  http://developer.mozilla.org/en/docs/Accessible_DH
  TML
• UIUC tests - http://test.cita.uiuc.edu/aria
• Live regions - http://accessibleajax.clcworld.net
• A List Apart - http://alistapart.com/articles/waiaria
• IBM -
  http://www.csun.edu/cod/conf/2005/proceedings/25
  24.htm
• Webaim - http://webaim.org/
Thanks to WAI

Contenu connexe

Similaire à aria_with_kissy

Developing an Accessible Web
Developing an Accessible WebDeveloping an Accessible Web
Developing an Accessible Webgreenideas
 
WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...
WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...
WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...Patrick Lauke
 
WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...
WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...
WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...Patrick Lauke
 
The Inclusive Web: hands-on with HTML5 and jQuery
The Inclusive Web: hands-on with HTML5 and jQueryThe Inclusive Web: hands-on with HTML5 and jQuery
The Inclusive Web: hands-on with HTML5 and jQuerycolinbdclark
 
The Recipe for Making Accessible Widgets!
The Recipe for Making Accessible Widgets!The Recipe for Making Accessible Widgets!
The Recipe for Making Accessible Widgets!Rabab Gomaa
 
Accessible UIs with jQuery and Infusion
Accessible UIs with jQuery and InfusionAccessible UIs with jQuery and Infusion
Accessible UIs with jQuery and Infusioncolinbdclark
 
Accessibility of HTML5 and Rich Internet Applications - CSUN 2012
Accessibility of HTML5 and Rich Internet Applications - CSUN 2012Accessibility of HTML5 and Rich Internet Applications - CSUN 2012
Accessibility of HTML5 and Rich Internet Applications - CSUN 2012Steven Faulkner
 
WAI-ARIA - an introduction to accessible rich internet applications (1 day wo...
WAI-ARIA - an introduction to accessible rich internet applications (1 day wo...WAI-ARIA - an introduction to accessible rich internet applications (1 day wo...
WAI-ARIA - an introduction to accessible rich internet applications (1 day wo...Patrick Lauke
 
An Introduction to WAI-ARIA
An Introduction to WAI-ARIAAn Introduction to WAI-ARIA
An Introduction to WAI-ARIAIWMW
 
Real JavaScript Ninjas should know how to role with WAI-ARIA
Real JavaScript Ninjas should know how to role with WAI-ARIAReal JavaScript Ninjas should know how to role with WAI-ARIA
Real JavaScript Ninjas should know how to role with WAI-ARIADylan Barrell
 
Aria a11ycamp-bay-2015
Aria a11ycamp-bay-2015Aria a11ycamp-bay-2015
Aria a11ycamp-bay-2015Dylan Barrell
 
NinjaScript and Mizugumo 2011-02-05
NinjaScript and Mizugumo 2011-02-05NinjaScript and Mizugumo 2011-02-05
NinjaScript and Mizugumo 2011-02-05lrdesign
 
WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018
WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018
WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018Patrick Lauke
 
ARIA and JavaScript Accessibility
ARIA and JavaScript AccessibilityARIA and JavaScript Accessibility
ARIA and JavaScript AccessibilityPaul Bohman
 
Accessibility on Windows Phone - Windows Phone Meetup at Nokia - 16 October @...
Accessibility on Windows Phone - Windows Phone Meetup at Nokia - 16 October @...Accessibility on Windows Phone - Windows Phone Meetup at Nokia - 16 October @...
Accessibility on Windows Phone - Windows Phone Meetup at Nokia - 16 October @...Raj Lal
 
Dynamic and accessible web content with WAI-ARIA
Dynamic and accessible web content with WAI-ARIADynamic and accessible web content with WAI-ARIA
Dynamic and accessible web content with WAI-ARIAAccess iQ
 
Software Development: Beyond Training wheels
Software Development: Beyond Training wheelsSoftware Development: Beyond Training wheels
Software Development: Beyond Training wheelsNaveenkumar Muguda
 
Rich Internet Applications - How to Make them Accessible
Rich Internet Applications - How to Make them AccessibleRich Internet Applications - How to Make them Accessible
Rich Internet Applications - How to Make them AccessibleDylan Barrell
 
NinjaScript 2010-10-14
NinjaScript 2010-10-14NinjaScript 2010-10-14
NinjaScript 2010-10-14lrdesign
 

Similaire à aria_with_kissy (20)

Developing an Accessible Web
Developing an Accessible WebDeveloping an Accessible Web
Developing an Accessible Web
 
WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...
WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...
WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...
 
WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...
WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...
WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...
 
The Inclusive Web: hands-on with HTML5 and jQuery
The Inclusive Web: hands-on with HTML5 and jQueryThe Inclusive Web: hands-on with HTML5 and jQuery
The Inclusive Web: hands-on with HTML5 and jQuery
 
The Recipe for Making Accessible Widgets!
The Recipe for Making Accessible Widgets!The Recipe for Making Accessible Widgets!
The Recipe for Making Accessible Widgets!
 
ARIA Gone Wild
ARIA Gone WildARIA Gone Wild
ARIA Gone Wild
 
Accessible UIs with jQuery and Infusion
Accessible UIs with jQuery and InfusionAccessible UIs with jQuery and Infusion
Accessible UIs with jQuery and Infusion
 
Accessibility of HTML5 and Rich Internet Applications - CSUN 2012
Accessibility of HTML5 and Rich Internet Applications - CSUN 2012Accessibility of HTML5 and Rich Internet Applications - CSUN 2012
Accessibility of HTML5 and Rich Internet Applications - CSUN 2012
 
WAI-ARIA - an introduction to accessible rich internet applications (1 day wo...
WAI-ARIA - an introduction to accessible rich internet applications (1 day wo...WAI-ARIA - an introduction to accessible rich internet applications (1 day wo...
WAI-ARIA - an introduction to accessible rich internet applications (1 day wo...
 
An Introduction to WAI-ARIA
An Introduction to WAI-ARIAAn Introduction to WAI-ARIA
An Introduction to WAI-ARIA
 
Real JavaScript Ninjas should know how to role with WAI-ARIA
Real JavaScript Ninjas should know how to role with WAI-ARIAReal JavaScript Ninjas should know how to role with WAI-ARIA
Real JavaScript Ninjas should know how to role with WAI-ARIA
 
Aria a11ycamp-bay-2015
Aria a11ycamp-bay-2015Aria a11ycamp-bay-2015
Aria a11ycamp-bay-2015
 
NinjaScript and Mizugumo 2011-02-05
NinjaScript and Mizugumo 2011-02-05NinjaScript and Mizugumo 2011-02-05
NinjaScript and Mizugumo 2011-02-05
 
WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018
WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018
WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018
 
ARIA and JavaScript Accessibility
ARIA and JavaScript AccessibilityARIA and JavaScript Accessibility
ARIA and JavaScript Accessibility
 
Accessibility on Windows Phone - Windows Phone Meetup at Nokia - 16 October @...
Accessibility on Windows Phone - Windows Phone Meetup at Nokia - 16 October @...Accessibility on Windows Phone - Windows Phone Meetup at Nokia - 16 October @...
Accessibility on Windows Phone - Windows Phone Meetup at Nokia - 16 October @...
 
Dynamic and accessible web content with WAI-ARIA
Dynamic and accessible web content with WAI-ARIADynamic and accessible web content with WAI-ARIA
Dynamic and accessible web content with WAI-ARIA
 
Software Development: Beyond Training wheels
Software Development: Beyond Training wheelsSoftware Development: Beyond Training wheels
Software Development: Beyond Training wheels
 
Rich Internet Applications - How to Make them Accessible
Rich Internet Applications - How to Make them AccessibleRich Internet Applications - How to Make them Accessible
Rich Internet Applications - How to Make them Accessible
 
NinjaScript 2010-10-14
NinjaScript 2010-10-14NinjaScript 2010-10-14
NinjaScript 2010-10-14
 

Plus de yiming he

kissy at alibaba
kissy at alibabakissy at alibaba
kissy at alibabayiming he
 
kissy modularization part2
kissy modularization part2kissy modularization part2
kissy modularization part2yiming he
 
kissy modularization part1
kissy modularization part1kissy modularization part1
kissy modularization part1yiming he
 
KISSY @ 2013-2
KISSY @ 2013-2KISSY @ 2013-2
KISSY @ 2013-2yiming he
 
KISSY 1.4.0 released
KISSY 1.4.0 releasedKISSY 1.4.0 released
KISSY 1.4.0 releasedyiming he
 
callSuper in kissy
callSuper in kissycallSuper in kissy
callSuper in kissyyiming he
 
KISSY XTemplate
KISSY XTemplateKISSY XTemplate
KISSY XTemplateyiming he
 
Introduction to kissy for adc 2013
Introduction to kissy for adc 2013Introduction to kissy for adc 2013
Introduction to kissy for adc 2013yiming he
 
Kissy component system
Kissy component systemKissy component system
Kissy component systemyiming he
 
KISSY@2013.05
KISSY@2013.05KISSY@2013.05
KISSY@2013.05yiming he
 
kissy@2013.03
kissy@2013.03 kissy@2013.03
kissy@2013.03 yiming he
 
KISSY 1.3-released
KISSY 1.3-releasedKISSY 1.3-released
KISSY 1.3-releasedyiming he
 
Simple kissy1.3
Simple kissy1.3Simple kissy1.3
Simple kissy1.3yiming he
 
Kissy in-progress
Kissy in-progressKissy in-progress
Kissy in-progressyiming he
 
Kissy dpl-practice
Kissy dpl-practiceKissy dpl-practice
Kissy dpl-practiceyiming he
 
编辑器设计2
编辑器设计2编辑器设计2
编辑器设计2yiming he
 
KISSY Editor Design 2
KISSY Editor Design 2KISSY Editor Design 2
KISSY Editor Design 2yiming he
 
KISSY Component API Design
KISSY Component API DesignKISSY Component API Design
KISSY Component API Designyiming he
 

Plus de yiming he (20)

kissy at alibaba
kissy at alibabakissy at alibaba
kissy at alibaba
 
kissy modularization part2
kissy modularization part2kissy modularization part2
kissy modularization part2
 
kissy modularization part1
kissy modularization part1kissy modularization part1
kissy modularization part1
 
KISSY @ 2013-2
KISSY @ 2013-2KISSY @ 2013-2
KISSY @ 2013-2
 
KISSY 1.4.0 released
KISSY 1.4.0 releasedKISSY 1.4.0 released
KISSY 1.4.0 released
 
callSuper in kissy
callSuper in kissycallSuper in kissy
callSuper in kissy
 
KISSY XTemplate
KISSY XTemplateKISSY XTemplate
KISSY XTemplate
 
Introduction to kissy for adc 2013
Introduction to kissy for adc 2013Introduction to kissy for adc 2013
Introduction to kissy for adc 2013
 
Kissy component system
Kissy component systemKissy component system
Kissy component system
 
KISSY@2013.05
KISSY@2013.05KISSY@2013.05
KISSY@2013.05
 
kissy@2013.03
kissy@2013.03 kissy@2013.03
kissy@2013.03
 
kissy@2013
kissy@2013kissy@2013
kissy@2013
 
KISSY 1.3-released
KISSY 1.3-releasedKISSY 1.3-released
KISSY 1.3-released
 
Simple kissy1.3
Simple kissy1.3Simple kissy1.3
Simple kissy1.3
 
Hujs 总结
Hujs 总结Hujs 总结
Hujs 总结
 
Kissy in-progress
Kissy in-progressKissy in-progress
Kissy in-progress
 
Kissy dpl-practice
Kissy dpl-practiceKissy dpl-practice
Kissy dpl-practice
 
编辑器设计2
编辑器设计2编辑器设计2
编辑器设计2
 
KISSY Editor Design 2
KISSY Editor Design 2KISSY Editor Design 2
KISSY Editor Design 2
 
KISSY Component API Design
KISSY Component API DesignKISSY Component API Design
KISSY Component API Design
 

Dernier

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 

Dernier (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

aria_with_kissy

  • 1. ARIA with KISSY 承玉 yiminghe@gmail.com Draft 26 May 2011
  • 2. • WAI ARIA Introduction • ARIA Essentials • ARIA with KISSY
  • 3. • WAI ARIA Introduction
  • 4. WAI ARIA Intro • W • A • I • A • R • I • A
  • 5. WAI ARIA Intro • Web • Accessibility • Initiative • Accessible • Rich • Internet • Application
  • 6. Problem • Web >= 2.0 is fancy !
  • 7. What can we do for the disabled especially blind men ?
  • 8. MS already does • MSAA : Microsoft Active Accessibility
  • 9. Mac also does • Accessibility Programming Guidelines for Cocoa
  • 10. ARIA comes for web • Map ARIA attributes to MSAA properties. • Now in draft , but de facto standard , largely supported
  • 11. How • Semantic tag with meaning content html • But not enough for complex app
  • 12. How • Enhance usability for common people css html • But not so useful for disabled
  • 13. How • Fancy thing comes javascript css html • But it does not tell disabled
  • 14. How • Aria for rescue ARIA javascript css html • More semantics by providing attribute to bridge the gap between App and AT.
  • 16. ARIA essentials • Role : type of ui component ,add semantics • State/Property : decribe about specific role’s attribute • Tabindex : focus management , control user’s navigation • Keydown/press : event needed to be listened for activate actions
  • 17. Role category • Document structure • Landmarks • Widget role
  • 18. Document structure Roles • Organize content in a page ,not usually interactive. Similar to html5 tags . • Contains : article columnheader definition directory document group heading img list listitem math note presentation region row rowheader separator toolbar
  • 19. • Document structure roles in taobao role=‘listitem’ Role=‘list’
  • 20. Live region • Managing content and presentation changes • Relation: – aria-controls • Properties – aria-live aria-busy aria-atomic aria-relevent • Special live region – alert status timer marquee log
  • 21. In taobao • word count notification aria-controls=‘counter’ id=‘counter’ aria-live=‘polite’
  • 22. Landmark roles • Navigational regions , need AT’s navigation function. • Contains : application banner complementary contentinfo form main navigation search
  • 24. Landmark in taobao role=‘contentinfo’
  • 25. Widget roles • Type of a standalone widget or ui control like on desktop. • Contains : alert button dialog gridcell marquee menuitem menuitemcheckbox menuitemradio option progressbar scrollbar slider spinbutton tab tabpanel timer tooltip treeitem combobox grid listbox menu menubar radiogroup tablist tree …
  • 26. Widget roles in taobao
  • 27. Role and keydown • hint: – Keydown on Roles other an ‘application’ or widget role will be intercepted by AT. – Keydown event fired on element with widget role should call stopPropagation and preventDefault in order to let web application to handle it.
  • 28. States/property • Belongs to specific roles ,name starts with “aria-” • For example : aria-label aria-labelledby aria-live aria-hidden aria-activedescendant aria-haspopup aria-controls …
  • 29. In taobao Now : aria-label aria-haspopup @ etao Lack : aria-activedescendant aria-hidden aria-activedescendant aria-hidden
  • 30. tabindex • Manage focus among dom node Attribute Tabindex Focusable with mouse or Tab Navigation JavaScript via element.focus() not present Follows default behavior of Follows default behavior of element (only form controls element and anchors can receive focus.) zero - tabindex="0" yes In tab order relative to element's position in document Positive - tabindex="X" yes Tabindex value directly (where X is a positive integer specifies where this element between 1 and 32768) is positioned in the tab order. Negative - tabindex="-1" yes No, author must focus it with element.focus() as a result of arrow or other key press
  • 31. • Aria with KISSY
  • 32. overview • KISSY.Overlay • KISSY.MenuButton • KISSY.Tabs • KISSY.Carousel • …..
  • 34. KISSY.MenuButton • role = ‘button’ • aria-haspopup aria-expanded • aria-pressed aria-disabled • aria-activedescendant • aria-labelledby
  • 35. KISSY.Menu • role = ‘menu’ / ‘menuitem’ • aria-haspopup • aria-activedescendant • aria-disabled aria-pressed
  • 36. Tabs Transform • Aria in KISSY.Tabs
  • 37. KISSY.Tabs practice • 1. Pick role – Role=‘tablist’ – Role=‘tab’ – Role=‘tabpanel’
  • 38. • 2. set state/property and tabindex – Tabpanel • aria-hidden • aria-labelledby – Tab • tabindex , current active = 0 , others = -1 •
  • 39. • 3.establish keyboard navigation – Keyboard accessible tab by listening keydown/press
  • 40. • 4.sync states with widget logic 5.tabindex and focus management – AOP Event-Driven
  • 42. tools • Ie8,9 : http://windows.microsoft.com/en- US/internet-explorer/products/ie/home • Firefox : http://www.mozilla.com/ • Chrome : http://www.google.com/chrome/ • 争渡读屏 : http://www.zdsr.net/ • Nvda screen render : http://www.nvda-project.org/ • firefox accessibility extension : http://firefox.cita.uiuc.edu/ • WAVE : http://wave.webaim.org/
  • 43. Refer • WAI-ARIA - w3.org/TR/wai-aria • Overview - w3.org/WAI/intro/aria • ARIA Primer - www.w3.org/TR/waiaria-primer/ • ARIA Best Practices - www.w3.org/TR/wai-aria- practices/ • Gez Lemon's tutorial - dev.opera.com/articles/view/introduction-to-wai- aria/ • Codetalks - http://wiki.codetalks.org
  • 44. refer • Mozilla - http://developer.mozilla.org/en/docs/Accessible_DH TML • UIUC tests - http://test.cita.uiuc.edu/aria • Live regions - http://accessibleajax.clcworld.net • A List Apart - http://alistapart.com/articles/waiaria • IBM - http://www.csun.edu/cod/conf/2005/proceedings/25 24.htm • Webaim - http://webaim.org/