SlideShare a Scribd company logo
An Introduction to WAI-ARIA Dan Jackson Web Team Leader City University London
About this session What is ARIA? What does it do? Why do we need it? Roles, States and Properties,  keyboard navigation, Live Regions Where ARIA we with ARIA? *  Problems & Issues Best practice *  All my puns are rubbish.
Get the acronym out of the way early doors.... W eb  A ccessibility  I nitiative.  A ccessible  R ich  I nternet  A pplications. It’s at ‘Final Call’  draft  stage, i.e. it’s not a formal specification  (yet) .
What does ARIA do? W3Cese  “ This specification provides an ontology of roles, states, and properties that define accessible user interface elements and can be used to improve the accessibility and interoperability of web content and applications. These semantics are designed to allow an author to properly convey user interface behaviors and structural information in document-level markup, to an assistive technology .” ( http://www.w3.org/TR/wai-aria/ ) English It’s a W3C specification that   defines a way to make Web content and Web applications more accessible to people with disabilities.
Why do we need ARIA? Some background... HTML  is  so, like, 1999 : very limited set of interface controls. difficult communication model JavaScript  is bitchin’: dynamic interactions (drag & drop, sorting, resizing)  widgets (date pickers, sliders, tabs, progress bars, etc)  AJAX
Why do we need ARIA? So what’s the problem? Widgets are  inaccessible   - Assistive Technologies (AT) don’t know what they do. Widgets are rarely keyboard accessible. Content updated using AJAX is not reported to AT.
ARIA to the rescue! ARIA provides  semantic meaning , dynamic  content updates  and consistent  keyboard support  to AT users.
Roles States and Properties Keyboard access Live Regions The  technical  part
Roles Roles define widgets and page structure. 2 categories: Landmark Roles Widget and Element Roles
Landmark Roles “ The skip-links killer” Define the role of sections in the structure of a web page, e.g.: <div id=”header” role=”banner”> <div id=”content” role=”main”> Gives AT instant access to major page components
Landmark roles
Widget & Element Roles To describe GUI widgets, elements common on desktop but not native to HTML. Examples: grid  menu progressbar slider tab toolbar tree
States and Properties Provide AT with information about how elements & widgets are configured, e.g.: has a button been pressed?  <button aria-pressed=”true”> is an input field required?  <input aria-required=”true”> how much of my file upload is complete?  <div role=”progressbar” aria-valuetext=&quot;0%&quot; aria-valuenow=&quot;0&quot; aria-valuemax=&quot;100&quot; aria-valuemin=&quot;0&quot;>
Accessibility isn’t just about screen readers.... Throw away your mouse.
Keyboard access ARIA extends the use of HTML’s  tabindex  attribute. tabindex = “0” : allows  all  elements to be accessed using keyboard. tabindex=”-1” : allows elements to be given programmatic focus without adding them to the tab order.
Eh? This is a  good thing . Why? Easier navigation  through document, i.e. one ‘tab stop’ per UI control. Gives  keyboard access  to widgets. Manages  keyboard control  within widgets. Establishes  relationships  between elements within widgets (e.g. parent/child/sibling in tree-view navigation).
Live Regions Are Way Cool Solves the problem of how to announce content updated by AJAX to screen reader users.  Properties : aria-live = off | polite | assertive | rude aria-atomic = true | false aria-busy = true | false aria-relevant = additions | removals | text | all
Problems, issues: The V-Word ARIA vs. HTML 5 Is it supported? Complexity Will AT users adopt it? Where aria we with ARIA?
Issue #1:  The V-Word Any Validation Nazis in the room? ARIA  won’t validate  with HTML 4.01, XHTML 1.0. What to do? Put up with it. Inject attribute values using JavaScript. Create a custom DTD! Use HTML 5!?
Issue #2:  ARIA vs. HTML 5 ARIA Landmark Roles <div role=”navigation”> ARIA Properties and States   <input name=”email” aria-required=”true”> HTML 5 New structural elements <nav> HTML 5 form attributes   <input name=”email” type=”email required”> But... Many ARIA roles that have no HTML5 equivalent, e.g.  application, banner, main . And… Argument over structural elements in HTML 5 = major shit-storm.
Issue #3:  Is ARIA supported? To use ARIA you need a browser that both supports ARIA and is supported by a screen reader that also support ARIA . ARIA-aware OS/browser/AT combinations are some way off becoming the norm. Browsers: Firefox 1.5+, Opera 9.5+, IE8, WebKit http://www.paciellogroup.com/blog/aria-tests/ARIA-SafariaOperaIEFF.html
Issue #3:  Is ARIA supported? Screen readers ZoomText 9+ JAWS 7.1+ NVDA (free!) VoiceOver (free!) FireVox (free!) Orca JavaScript Libraries Jquery UI YUI Dojo ExtJS GWT Glow (BBC)
Issue #4:  Complexity ... it’s not exactly plug’n’play! It’s a task just to set up the development environment. Key board navigation requires complex JavaScript coding.
Issue #5:  Do AT users update? Screen reader? Mostly. Browser? Questionable. http://www.webaim.org/projects/screenreadersurvey/
...it’s not all doom and gloom Support is growing. You can use ARIA to improve your website  right   now .  (Landmark Roles, Live Regions)
Best practice WAI-ARIA is just one ‘layer’ of accessibility. Don’t withhold content from users without JavaScript (use HIJAX). Best practice techniques for front-end web development, & layer ARIA on where possible.
Resources http://dev.opera.com/articles/view/introduction-to-wai-aria/ Probably  the  best introductory article online . http://wiki.codetalks.org/ Excellent set of ARIA test cases. http://paciellogroup.com/blog Great all round accessibility resource, with emphasis on ARIA. http://www.w3.org/WAI/intro/aria Understandable  W3C introduction to ARIA.

More Related Content

PPTX
Introduction to WAI-ARIA
DOCX
Aria interview questions
PPTX
Introduction To Web Accessibility
PDF
Understanding and Supporting Web Accessibility
PDF
Web accessibility
PPT
Understanding Web Accessibility
PPTX
PPT
Introduction To WCAG 2.0
Introduction to WAI-ARIA
Aria interview questions
Introduction To Web Accessibility
Understanding and Supporting Web Accessibility
Web accessibility
Understanding Web Accessibility
Introduction To WCAG 2.0

What's hot (20)

PDF
WCAG 2.1: What You Need to Know About the Most Recent Accessibility Standards
PDF
Web accessibility 101: The why, who, what, and how of "a11y"
PDF
Web Accessibility for Web Developers
PDF
Accessibility
PDF
Website Accessibility
PPTX
Web Content Accessibility Guidelines
PPTX
Web accessibility
PPT
WCAG 2.0, Simplified
PDF
ADA Compliance and Website Accessibility
PPTX
Web Accessibility
PPTX
Accessibilitytesting public
PPTX
Design for Accessibility
PPTX
Web accessibility: it’s everyone’s responsibility
PDF
Web content accessibility
PDF
Automated-Accessibility-Testing
PDF
Design for accessibility
ODP
Web Accessibility: A Shared Responsibility
PPTX
UI/UX Fundamentals
PPT
Introduction to Cascading Style Sheets (CSS)
PDF
WCAG 2.1 and POUR
WCAG 2.1: What You Need to Know About the Most Recent Accessibility Standards
Web accessibility 101: The why, who, what, and how of "a11y"
Web Accessibility for Web Developers
Accessibility
Website Accessibility
Web Content Accessibility Guidelines
Web accessibility
WCAG 2.0, Simplified
ADA Compliance and Website Accessibility
Web Accessibility
Accessibilitytesting public
Design for Accessibility
Web accessibility: it’s everyone’s responsibility
Web content accessibility
Automated-Accessibility-Testing
Design for accessibility
Web Accessibility: A Shared Responsibility
UI/UX Fundamentals
Introduction to Cascading Style Sheets (CSS)
WCAG 2.1 and POUR
Ad

Viewers also liked (8)

PDF
WAI-ARIA en 5 minutos
PPT
Enabling an Accessible Web 2.0
PDF
Can Steven Hawking Use your Dojo App?
PDF
ONGC– RECRUITMENT
PDF
Designing for Interaction
PDF
Wai Aria - An Intro
PDF
NORMAS PARA LA ACCESIBILIDAD DE LAS PERSONAS CON DISCAPACIDAD
WAI-ARIA en 5 minutos
Enabling an Accessible Web 2.0
Can Steven Hawking Use your Dojo App?
ONGC– RECRUITMENT
Designing for Interaction
Wai Aria - An Intro
NORMAS PARA LA ACCESIBILIDAD DE LAS PERSONAS CON DISCAPACIDAD
Ad

Similar to An Introduction to WAI-ARIA (20)

PDF
WAI-ARIA - an introduction to accessible rich internet applications (1 day wo...
PPTX
How HTML5 and WAI-ARIA Can Improve Virtual Space of Universities
PDF
WAI-ARIA An introduction to Accessible Rich Internet Applications / JavaScrip...
PDF
WAI-ARIA An introduction to Accessible Rich Internet Applications / CSS Minsk...
PDF
WAI-ARIA An introduction to Accessible Rich Internet Applications / AccessU 2018
PDF
ARIA Gone Wild
PPT
Accessible Rich Internet Applications for the OU
PDF
Hitting the accessibility high notes with ARIA
PPTX
ARIA and JavaScript Accessibility
PDF
Introduction to ARIA
PPTX
Dynamic and accessible web content with WAI-ARIA
PPTX
Web accessibility - WAI-ARIA a small introduction
PDF
Html5 aria-css-ibm-csun-2016
PPTX
Real JavaScript Ninjas should know how to role with WAI-ARIA
PPTX
CSUN The ARIA Technology Stack Browsers and Screen Readers
PDF
Bruce lawson-html5-aria-japan
PPTX
Accessible web applications
PPTX
HTML5's ARIA and a Web-Accessible Dropdown Widget
PPTX
Accessible design - HOW Interactive Design Conference Washington DC SEPT 27-2...
WAI-ARIA - an introduction to accessible rich internet applications (1 day wo...
How HTML5 and WAI-ARIA Can Improve Virtual Space of Universities
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 / AccessU 2018
ARIA Gone Wild
Accessible Rich Internet Applications for the OU
Hitting the accessibility high notes with ARIA
ARIA and JavaScript Accessibility
Introduction to ARIA
Dynamic and accessible web content with WAI-ARIA
Web accessibility - WAI-ARIA a small introduction
Html5 aria-css-ibm-csun-2016
Real JavaScript Ninjas should know how to role with WAI-ARIA
CSUN The ARIA Technology Stack Browsers and Screen Readers
Bruce lawson-html5-aria-japan
Accessible web applications
HTML5's ARIA and a Web-Accessible Dropdown Widget
Accessible design - HOW Interactive Design Conference Washington DC SEPT 27-2...

More from IWMW (20)

PPT
Look who's talking now
PPTX
Introduction to IWMW 2000 (Liz Lyon)
PPTX
Web Tools report
PPT
Personal Contingency Plan - Beat The Panic
PPT
Whose site is it anyway?
PPT
Open Source - the case against
PPT
IWMW 2002: Avoiding Portal Wars - an MIS view
PDF
What does open source mean for the institutional web manager?
PDF
Library 2.0
PPT
Social participation in student recruitment
PDF
Supporting Institutions in Changing Times: Manifesto
PPTX
IWMW 2019 photo scavenger hunt highlights
PDF
How to Turn a Web Strategy into Web Services
PPTX
Static Site Generators - Developing Websites in Low-resource Condition
PPTX
Looking to the Future
PPTX
Looking to the Future
PPTX
Developing Communities of Practice
PDF
How to train your content- so it doesn't slow you down...
PPTX
Grassroots & Guerrillas: The Beginnings of a UX Revolution
PPTX
Connecting Your Content: How to Save Time and Improve Content Quality through...
Look who's talking now
Introduction to IWMW 2000 (Liz Lyon)
Web Tools report
Personal Contingency Plan - Beat The Panic
Whose site is it anyway?
Open Source - the case against
IWMW 2002: Avoiding Portal Wars - an MIS view
What does open source mean for the institutional web manager?
Library 2.0
Social participation in student recruitment
Supporting Institutions in Changing Times: Manifesto
IWMW 2019 photo scavenger hunt highlights
How to Turn a Web Strategy into Web Services
Static Site Generators - Developing Websites in Low-resource Condition
Looking to the Future
Looking to the Future
Developing Communities of Practice
How to train your content- so it doesn't slow you down...
Grassroots & Guerrillas: The Beginnings of a UX Revolution
Connecting Your Content: How to Save Time and Improve Content Quality through...

Recently uploaded (20)

PPTX
Unit 4 Skeletal System.ppt.pptxopresentatiom
PPTX
Chinmaya Tiranga Azadi Quiz (Class 7-8 )
PDF
Classroom Observation Tools for Teachers
PPTX
Radiologic_Anatomy_of_the_Brachial_plexus [final].pptx
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PPTX
Cell Types and Its function , kingdom of life
PDF
Hazard Identification & Risk Assessment .pdf
PDF
Weekly quiz Compilation Jan -July 25.pdf
PDF
SOIL: Factor, Horizon, Process, Classification, Degradation, Conservation
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PDF
A systematic review of self-coping strategies used by university students to ...
PDF
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
PPTX
Lesson notes of climatology university.
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Indian roads congress 037 - 2012 Flexible pavement
PPTX
CHAPTER IV. MAN AND BIOSPHERE AND ITS TOTALITY.pptx
PPTX
UNIT III MENTAL HEALTH NURSING ASSESSMENT
PDF
احياء السادس العلمي - الفصل الثالث (التكاثر) منهج متميزين/كلية بغداد/موهوبين
PDF
Supply Chain Operations Speaking Notes -ICLT Program
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
Unit 4 Skeletal System.ppt.pptxopresentatiom
Chinmaya Tiranga Azadi Quiz (Class 7-8 )
Classroom Observation Tools for Teachers
Radiologic_Anatomy_of_the_Brachial_plexus [final].pptx
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
Cell Types and Its function , kingdom of life
Hazard Identification & Risk Assessment .pdf
Weekly quiz Compilation Jan -July 25.pdf
SOIL: Factor, Horizon, Process, Classification, Degradation, Conservation
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
A systematic review of self-coping strategies used by university students to ...
RTP_AR_KS1_Tutor's Guide_English [FOR REPRODUCTION].pdf
Lesson notes of climatology university.
Final Presentation General Medicine 03-08-2024.pptx
Indian roads congress 037 - 2012 Flexible pavement
CHAPTER IV. MAN AND BIOSPHERE AND ITS TOTALITY.pptx
UNIT III MENTAL HEALTH NURSING ASSESSMENT
احياء السادس العلمي - الفصل الثالث (التكاثر) منهج متميزين/كلية بغداد/موهوبين
Supply Chain Operations Speaking Notes -ICLT Program
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc

An Introduction to WAI-ARIA

  • 1. An Introduction to WAI-ARIA Dan Jackson Web Team Leader City University London
  • 2. About this session What is ARIA? What does it do? Why do we need it? Roles, States and Properties, keyboard navigation, Live Regions Where ARIA we with ARIA? * Problems & Issues Best practice * All my puns are rubbish.
  • 3. Get the acronym out of the way early doors.... W eb A ccessibility I nitiative. A ccessible R ich I nternet A pplications. It’s at ‘Final Call’ draft stage, i.e. it’s not a formal specification (yet) .
  • 4. What does ARIA do? W3Cese “ This specification provides an ontology of roles, states, and properties that define accessible user interface elements and can be used to improve the accessibility and interoperability of web content and applications. These semantics are designed to allow an author to properly convey user interface behaviors and structural information in document-level markup, to an assistive technology .” ( http://www.w3.org/TR/wai-aria/ ) English It’s a W3C specification that defines a way to make Web content and Web applications more accessible to people with disabilities.
  • 5. Why do we need ARIA? Some background... HTML is so, like, 1999 : very limited set of interface controls. difficult communication model JavaScript is bitchin’: dynamic interactions (drag & drop, sorting, resizing) widgets (date pickers, sliders, tabs, progress bars, etc) AJAX
  • 6. Why do we need ARIA? So what’s the problem? Widgets are inaccessible - Assistive Technologies (AT) don’t know what they do. Widgets are rarely keyboard accessible. Content updated using AJAX is not reported to AT.
  • 7. ARIA to the rescue! ARIA provides semantic meaning , dynamic content updates and consistent keyboard support to AT users.
  • 8. Roles States and Properties Keyboard access Live Regions The technical part
  • 9. Roles Roles define widgets and page structure. 2 categories: Landmark Roles Widget and Element Roles
  • 10. Landmark Roles “ The skip-links killer” Define the role of sections in the structure of a web page, e.g.: <div id=”header” role=”banner”> <div id=”content” role=”main”> Gives AT instant access to major page components
  • 12. Widget & Element Roles To describe GUI widgets, elements common on desktop but not native to HTML. Examples: grid menu progressbar slider tab toolbar tree
  • 13. States and Properties Provide AT with information about how elements & widgets are configured, e.g.: has a button been pressed? <button aria-pressed=”true”> is an input field required? <input aria-required=”true”> how much of my file upload is complete? <div role=”progressbar” aria-valuetext=&quot;0%&quot; aria-valuenow=&quot;0&quot; aria-valuemax=&quot;100&quot; aria-valuemin=&quot;0&quot;>
  • 14. Accessibility isn’t just about screen readers.... Throw away your mouse.
  • 15. Keyboard access ARIA extends the use of HTML’s tabindex attribute. tabindex = “0” : allows all elements to be accessed using keyboard. tabindex=”-1” : allows elements to be given programmatic focus without adding them to the tab order.
  • 16. Eh? This is a good thing . Why? Easier navigation through document, i.e. one ‘tab stop’ per UI control. Gives keyboard access to widgets. Manages keyboard control within widgets. Establishes relationships between elements within widgets (e.g. parent/child/sibling in tree-view navigation).
  • 17. Live Regions Are Way Cool Solves the problem of how to announce content updated by AJAX to screen reader users. Properties : aria-live = off | polite | assertive | rude aria-atomic = true | false aria-busy = true | false aria-relevant = additions | removals | text | all
  • 18. Problems, issues: The V-Word ARIA vs. HTML 5 Is it supported? Complexity Will AT users adopt it? Where aria we with ARIA?
  • 19. Issue #1: The V-Word Any Validation Nazis in the room? ARIA won’t validate with HTML 4.01, XHTML 1.0. What to do? Put up with it. Inject attribute values using JavaScript. Create a custom DTD! Use HTML 5!?
  • 20. Issue #2: ARIA vs. HTML 5 ARIA Landmark Roles <div role=”navigation”> ARIA Properties and States <input name=”email” aria-required=”true”> HTML 5 New structural elements <nav> HTML 5 form attributes <input name=”email” type=”email required”> But... Many ARIA roles that have no HTML5 equivalent, e.g. application, banner, main . And… Argument over structural elements in HTML 5 = major shit-storm.
  • 21. Issue #3: Is ARIA supported? To use ARIA you need a browser that both supports ARIA and is supported by a screen reader that also support ARIA . ARIA-aware OS/browser/AT combinations are some way off becoming the norm. Browsers: Firefox 1.5+, Opera 9.5+, IE8, WebKit http://www.paciellogroup.com/blog/aria-tests/ARIA-SafariaOperaIEFF.html
  • 22. Issue #3: Is ARIA supported? Screen readers ZoomText 9+ JAWS 7.1+ NVDA (free!) VoiceOver (free!) FireVox (free!) Orca JavaScript Libraries Jquery UI YUI Dojo ExtJS GWT Glow (BBC)
  • 23. Issue #4: Complexity ... it’s not exactly plug’n’play! It’s a task just to set up the development environment. Key board navigation requires complex JavaScript coding.
  • 24. Issue #5: Do AT users update? Screen reader? Mostly. Browser? Questionable. http://www.webaim.org/projects/screenreadersurvey/
  • 25. ...it’s not all doom and gloom Support is growing. You can use ARIA to improve your website right now . (Landmark Roles, Live Regions)
  • 26. Best practice WAI-ARIA is just one ‘layer’ of accessibility. Don’t withhold content from users without JavaScript (use HIJAX). Best practice techniques for front-end web development, & layer ARIA on where possible.
  • 27. Resources http://dev.opera.com/articles/view/introduction-to-wai-aria/ Probably the best introductory article online . http://wiki.codetalks.org/ Excellent set of ARIA test cases. http://paciellogroup.com/blog Great all round accessibility resource, with emphasis on ARIA. http://www.w3.org/WAI/intro/aria Understandable W3C introduction to ARIA.

Editor's Notes

  • #3: About me &amp; the session Broad range of managers &amp; team leaders, developers, content editor, ‘strategist’. Where to pitch this? It’s complex, still in development. Overview of session content. What does it mean, what does it do? Why do we need it? The nitty gritty: Roles The nitty gritty: States and Properties The nitty gritty: Keyboard navigation The nitty gritty: Live Regions Where are we with ARIA? Problems &amp; Issues Best practice, take aways
  • #4: WAI is the ‘branch’ of W3C that develops accessibility standards guidelines. In addition to WAI-ARIA, WAI are also responsible for WCAG (which I’m sure you’ve all at least heard of), plus some others that you might not have, e.g. ATAG (authoring tool) &amp; UAAG (user agent).
  • #5: Continuing with the WAI theme... If WCAG addresses the  information in a Web site (text, images, forms, etc). ARIA addresses  dynamic Web content and Web applications .
  • #6: Some background... HTML isn’t ideal for the development of highly fluid, responsive interfaces and applications that give us a richer user experience: It has a very limited set of interface controls . Its communication model is sequential (client-server-client). We use JavaScript to overcome these limitations: Adds behaviour , &amp; allows us to create dynamic interactions (drag &amp; drop, sorting, resizing) widgets (date pickers, sliders, tabs, progress bars, accordions) &amp; effects (animation, toggle, show/hide). AJAX allows us to query the server in a far more responsive fashion.
  • #7: Widgets are inaccessible - assistive technologies (AT) like screen readers don’t know what they do or what state they are in. They are rarely keyboard accessible. Content updated using AJAX is not reported to AT.
  • #8: It maps existing, well-known concepts from the operating system to the browser by: Adding semantic meaning to meaningless markup : “provides a means of describing... custom widgets so that they are recognisable and usable by assistive technology users.” ( http://dev.opera.com/articles/view/introduction-to-wai-aria/ ) Communicating dynamic content updates (AJAX) to assistive technology. Providing consistent keyboard support for interactive interface elements.
  • #9: Roles States and Properties Keyboard access Live Regions
  • #10: Roles define widgets and page structure. Broadly fall into 2 categories: Landmark Roles Widget and Element Roles
  • #11: Landmark roles: the “ skip-links killer” Help screen reader users understand the role of sections in the structure of a web page, e.g.: &lt;div id=”header” role=”banner”&gt; (site-oriented content, e.g. logo, page title) &lt;div id=”content” role=”main”&gt; (central document content) &lt;div id=”nav” role=”navigation”&gt; (links to navigate this document &amp;/or related documents) Allows AT’s instant access to major page components They can be used now. Example: landmark roles - image &amp; web
  • #13: Widget &amp; Element Roles: To describe GUI widgets &amp; elements common on desktop, but not native to HTML, e.g. grid, menu, progressbar, slider, tab, toolbar, tree, etc. Especially useful when widgets are built with existing HTML elements (images, buttons, lists) that may not convey real purpose to screen reader
  • #14: States and Properties Provide AT with information about how elements &amp; widgets are configured, to help users understand how to interact with them, e.g.: has a button been pressed? &lt;button aria-pressed=”true”&gt; is an input field required? &lt;input aria-required=”true”&gt; how much of my file upload is complete? &lt;div role=”progressbar” aria-valuetext=&amp;quot;0%&amp;quot; aria-valuenow=&amp;quot;0&amp;quot; aria-valuemax=&amp;quot;100&amp;quot; aria-valuemin=&amp;quot;0&amp;quot;&gt; EXAMPLES
  • #15: Accessibility != just screen readers . Is your website usable without a mouse? Being able to interact with interface elements using keyboard alone is a basic accessibility provision.
  • #16: Keyboard access How does ARIA enhance keyboard access? By extending the use of HTML’s tabindex attribute: tabindex = “0” : extends HTML’s tabindex attribute so all elements can be accessed using keyboard ( not just anchors, form elements ) . tabindex=”-1” : allows elements to be given programmatic focus without adding them to the tab order.
  • #17: (This is quite technical.) Why is this “a good thing”? Allows easier navigation through document, i.e. one ‘tab stop’ per UI control (e.g. “I don’t want to have to tab through this long list of links”) Gives keyboard access to widgets. Manages keyboard control within widgets. Establishes relationships between elements within widgets (e.g. parent/child/sibling in tree-view navigation). Example: Google Reader using Google’s AsxJAX framework ( http://code.google.com/p/google-axsjax/ ) Greasemonkey script .
  • #18: Live Regions It solves problem of how to announce content updated by AJAX to screen reader users. Does this by defining sections of document where content is updated dynamically. Properties: aria-live = off | polite | assertive | rude (how aggressive should screen reader be in announcing updates? Can be used with any existing HTML element.) aria-atomic = true | false (read entire live region on change, or only new content?) aria-busy = true | false (can set to true until final part of live region has loaded. Prevents AT announcing changes before updates complete.) aria-relevant = additions | removals | text | all (what changes are considered relevant?) Example: Twitter live update
  • #19: The V Word ARIA vs HTML 5 Still in draft &amp; being developed. Is it supported? Complexity (coding, testing) Do AT users update?
  • #20: ARIA roles &amp; attributes won’t validate with HTML 4.01 or XHTML 1.0. What are the choices? Put up with it. Add attribute values using JavaScript (easy using JavaScript libraries like JQuery). Create a custom DTD! Use HTML 5!? W3C’s validator ( http://validator.w3.org/ ) has experimental support for HTML5 with ARIA.
  • #21: Conflict between proposed HTML 5 spec &amp; ARIA, specifically: HTML 5 structural elements vs ARIA landmark roles: &lt;div role=”banner”&gt; or &lt;header&gt; or &lt;header role=”banner”&gt;? HTML 5 form attributes and states vs ARIA properties and states: &lt;input name= ” email ” type=” email required” &gt; or &lt;input name=”email” aria-required=”true”&gt; From official WAI-ARIA spec: “If the host language incorporates WAI-ARIA support and there is a conflict between a host language feature and an WAI-ARIA feature, assistive technology SHOULD assign preference to the WAI-ARIA feature.” BUT are number of ARIA roles that have no HTML5 equivalent, e.g. application, banner, main, search (see http://www.paciellogroup.com/blog/?p=106 ). Structural elements in HTML 5 argument = shit-storm. Worth reading up on this if you’re interested in the development of HTML5 - definitely check out zeldman.com; “HTML5 is a mess: now what?”.
  • #22: ARIA-aware OS/browser/AT combinations are some way off becoming the norm. This is really important : To use ARIA you need a browser that both support ARIA and is supported by a screen reader that also support ARIA . Browsers . Firefox 1.5+, Opera 9.5+, IE8, WebKit are in various stages of implementing the specification. BUT: Webkit support in both Mac &amp; Windows is poor. Support is patchy even in best browsers.
  • #23: Screen readers . ZoomText 9+, JAWS 7.1+, NVDA, VoiceOver, FireVox, Orca. All differ, none are perfect. JavaScript libraries : Many popular libraries (JQuery UI, YUI, Dojo, ExtJS, GWT) )are in the process of adding support for ARIA. Great resource is http://www.paciellogroup.com/blog/?p=313 .
  • #24: Problems &amp; Issues #4: Complexity It’s a task to just set up the development environment. I had to... Install virtualisation software. Install FF 3.5 &amp; IE 8. Install, configure &amp; learn to use screen reader. Install browser plugins (Juicy Studio Accessibility, Firefox Accessibility Extension) Keyboard navigation requires complex JavaScript coding.
  • #25: From 2008/09 screen reader user survey @ webaim.org, good all-round resource for accessibility info. Remember, to use ARIA you need a browser that both supports ARIA and is supported by a screen reader that also support ARIA . - 75% of respondents update to a new version of screen reader within 12 months. Notice the very low percentage of IE 8 users. So safe to assume that under 50% of screen reader users can leverage ARIA functionality.
  • #26: After the last few minutes you might be thinking “why bother”...but... - Browser &amp; screen readers vendors, &amp; JavaScript library developers, are all working hard (in fact competing with each other) to support ARIA. You can use ARIA in your website now (Landmark Roles, Live Regions)
  • #27: WAI-ARIA is just one ‘layer’ of accessibility. Using ARIA doesn’t give us an excuse to ignore the wealth of other techniques we should be using to enhance accessibility (principles of WCAG2, etc). Don’t withhold content from users without JavaScript. Use best practice front-end development techniques (semantic markup, Graded Browser support, CSS for layout, Progressive Enhancement, all that good stuff) &amp; layer ARIA on where possible.