SlideShare ist ein Scribd-Unternehmen logo
1 von 45
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
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
 
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
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Kürzlich hochgeladen (20)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
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
 
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...
 
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...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

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/