SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
WAI ARIA Intro
   Matt Machell
  Multipack Feb 09



  eclecticdreams.com
Accessible Rich
Internet Applications
The Problem
• Web applications do funky things
  with Javascript


• How do assistive technologies cope
  with that funkiness?
The Solution

Extra semantics for defining web
applications for assistive technologies
Desktop does this already
(Microsoft Active Accessibility, Apple Accessibility for Cocoa
 and so on)
ARIA is in draft


                   but, is already supported
Essentially...
Roles - Tell the AT what something does
States / Properties - Attributes of that
something which change value
Tabindex - Improvements for navigation
More attributes
   to learn!
Roles as Landmarks
<div id=quot;contentquot; role=quot;mainquot; >
<form id=quot;searchquot; role=quot;searchquot;>
<div id=quot;footerquot; role=quot;contentinfoquot;>


              Hit ; in Jaws 10 to move to next landmark
Roles for Context
There are roles for the GUI widgets
found in desktops applications, but
not in HTML.


trees, grids, timers, dialogs, toolbars, menus,
groups, and so on...
Roles for the Page
<body role=quot;applicationquot;>


 <body role=quot;documentquot;>
States & Properties
     aria-valuenow
     aria-valuemin
     aria-valuemax
     aria-checked
Example : A volume widget
<div id=quot;aquot;>Volume</div>
<div id=quot;bquot;>Adjust the volume of the
output.</div>
<div id=quot;volume-controlquot;>
<span role=quot;sliderquot; aria-valuenow=quot;5quot;
aria-valuemin=quot;0quot; aria-valuemax=quot;11quot;
tabindex=quot;0quot; aria-labelledby=quot;aquot;
aria-describedby=quot;bquot; ></span>
</div>
Connecting Things
    aria-labelledby
   aria-describedby
      aria-flowto
      aria-owns
Captions!
<img src=quot;photo.jpgquot; alt=quot;quot;
aria-describedby=quot;pic1quot;>
<p role=quot;descriptionquot;
id=quot;pic1quot;>Lemmy</p>
Tabindex

Previously for tabbing to anchor or
form elements:
Tabindex - Revised!
no tabindex - default behaviour
tabindex=quot;0quot; - Document order
tabindex=quot;-1quot; - focus-able via javascript
tabindex=quot;1quot; - in order before tabindex=quot;0quot;
For Widgets
• Give them a tabindex
• Manage keyboard control within the
  widget
• Set up relationships
• Update states
Some of this requires
complicated Javascript
     to manage
Live Regions

Alerting assistive technology to page
changes
aria-live (off, polite, assertive, rude)


aria-atomic (true, false)


aria-relevant (additions, removals, text)
Example : Pending Tasks

<div id=quot;task-listquot;
aria-live=quot;politequot;
aria-relevant=quot;additionsquot; >
  <p>Write slides!!!</p>
</div>
How?
• Set ARIA attributes in markup
• XHTML Module, so won't validate if
  it’s HTML
• you can inject them via Javascript
Support?

Not yet implemented everywhere.
Browsers:
Opera 9.5+, Firefox 1.5+, IE 8


      Webkit is working on it
Assistive Technologies:
Jaws 7.1+, Windows Eyes 5.5+,
NVDA, Firevox



           (each differs, JAWS 10 pretty good)
Good News

• Screenreader users update regularly
       (74% update within a year according to WebAIM research)
Bad News
• Inconsistent implementations
• Not quite finalised
• Lots of testing to do
HTML 5 or ARIA?
<div role=quot;contentinfoquot;>
or

<footer>

or

<footer role=quot;contentinfoquot;>?
IE 8 Implementation Oddities
element.setAttribute(quot;aria-
valuenowquot;, quot;50quot;);

                  Fixed!
(only works in true standards mode - strict doctype)



All IE modes can use (non-standard):
element.ariaValuenow = '50'
Good Resources

• Codetalks Wiki - wiki.codetalks.org
• Gez Lemon's tutorial -
  dev.opera.com/articles/view/
  introduction-to-wai-aria/
And of Course

• ARIA Primer - www.w3.org/TR/wai-
  aria-primer/
• ARIA Best Practices - www.w3.org/
  TR/wai-aria-practices/

Contenu connexe

Tendances

Tendances (20)

What is Swagger?
What is Swagger?What is Swagger?
What is Swagger?
 
Mobile applications development - why should you start learning it right now?
Mobile applications development - why should you start learning it right now?Mobile applications development - why should you start learning it right now?
Mobile applications development - why should you start learning it right now?
 
Developing Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile ApplicationsDeveloping Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile Applications
 
What Web Framework To Use?
What Web Framework To Use?What Web Framework To Use?
What Web Framework To Use?
 
Developing an Accessible Web
Developing an Accessible WebDeveloping an Accessible Web
Developing an Accessible Web
 
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchJQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
 
Building Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsBuilding Cross-Platform Mobile Apps
Building Cross-Platform Mobile Apps
 
Practical Accessibility Testing
Practical Accessibility TestingPractical Accessibility Testing
Practical Accessibility Testing
 
apidays LIVE New York 2021 - Designing API's: Less Data is More! by Damir Svr...
apidays LIVE New York 2021 - Designing API's: Less Data is More! by Damir Svr...apidays LIVE New York 2021 - Designing API's: Less Data is More! by Damir Svr...
apidays LIVE New York 2021 - Designing API's: Less Data is More! by Damir Svr...
 
Selenium Based Visual Test Automation
Selenium Based Visual Test AutomationSelenium Based Visual Test Automation
Selenium Based Visual Test Automation
 
Filling the HTML5 Gaps with Polyfills and Shims
Filling the HTML5 Gaps with Polyfills and ShimsFilling the HTML5 Gaps with Polyfills and Shims
Filling the HTML5 Gaps with Polyfills and Shims
 
APIdays Paris 2019 - API Descriptions as Product Code by Phil Sturgeon, Stopl...
APIdays Paris 2019 - API Descriptions as Product Code by Phil Sturgeon, Stopl...APIdays Paris 2019 - API Descriptions as Product Code by Phil Sturgeon, Stopl...
APIdays Paris 2019 - API Descriptions as Product Code by Phil Sturgeon, Stopl...
 
Swagger - make your API accessible
Swagger - make your API accessibleSwagger - make your API accessible
Swagger - make your API accessible
 
Building data driven mobile apps with phone gap and webapi
Building data driven mobile apps with phone gap and webapiBuilding data driven mobile apps with phone gap and webapi
Building data driven mobile apps with phone gap and webapi
 
PhoneGap: Building Mobile Applications with HTML/JS
PhoneGap: Building Mobile Applications with HTML/JSPhoneGap: Building Mobile Applications with HTML/JS
PhoneGap: Building Mobile Applications with HTML/JS
 
Intro to Web Accessibility: Koombea TechTalks
Intro to Web Accessibility: Koombea TechTalksIntro to Web Accessibility: Koombea TechTalks
Intro to Web Accessibility: Koombea TechTalks
 
Api types
Api typesApi types
Api types
 
apidays LIVE London 2021 - Designing APIs: Less Data is More by Damir Svrtan,...
apidays LIVE London 2021 - Designing APIs: Less Data is More by Damir Svrtan,...apidays LIVE London 2021 - Designing APIs: Less Data is More by Damir Svrtan,...
apidays LIVE London 2021 - Designing APIs: Less Data is More by Damir Svrtan,...
 
API Design Tour: Digital River
API Design Tour: Digital RiverAPI Design Tour: Digital River
API Design Tour: Digital River
 
Intro to PhoneGap
Intro to PhoneGapIntro to PhoneGap
Intro to PhoneGap
 

Similaire à Wai Aria - An Intro

Similaire à Wai Aria - An Intro (20)

IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009
 
Developing and testing ajax components
Developing and testing ajax componentsDeveloping and testing ajax components
Developing and testing ajax components
 
Intro Open Social and Dashboards
Intro Open Social and DashboardsIntro Open Social and Dashboards
Intro Open Social and Dashboards
 
Accelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
Accelerated Adoption: HTML5 and CSS3 for ASP.NET DevelopersAccelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
Accelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
 
Moving applications to the cloud
Moving applications to the cloudMoving applications to the cloud
Moving applications to the cloud
 
EPiServer Web Parts
EPiServer Web PartsEPiServer Web Parts
EPiServer Web Parts
 
GWT
GWTGWT
GWT
 
Real-World AJAX with ASP.NET
Real-World AJAX with ASP.NETReal-World AJAX with ASP.NET
Real-World AJAX with ASP.NET
 
Plone Interactivity
Plone InteractivityPlone Interactivity
Plone Interactivity
 
WebTest - Efficient Functional Web Testing with HtmlUnit and Beyond
WebTest - Efficient Functional Web Testing with HtmlUnit and BeyondWebTest - Efficient Functional Web Testing with HtmlUnit and Beyond
WebTest - Efficient Functional Web Testing with HtmlUnit and Beyond
 
Windows Azure - Cloud Service Development Best Practices
Windows Azure - Cloud Service Development Best PracticesWindows Azure - Cloud Service Development Best Practices
Windows Azure - Cloud Service Development Best Practices
 
Accessible Websites With Lotus Notes/Domino, presented at the BLUG day event,...
Accessible Websites With Lotus Notes/Domino, presented at the BLUG day event,...Accessible Websites With Lotus Notes/Domino, presented at the BLUG day event,...
Accessible Websites With Lotus Notes/Domino, presented at the BLUG day event,...
 
Open and Accessible UI
Open and Accessible UIOpen and Accessible UI
Open and Accessible UI
 
Html5
Html5Html5
Html5
 
Jsp
JspJsp
Jsp
 
Apache Roller, Acegi Security and Single Sign-on
Apache Roller, Acegi Security and Single Sign-onApache Roller, Acegi Security and Single Sign-on
Apache Roller, Acegi Security and Single Sign-on
 
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
 
More Secrets of JavaScript Libraries
More Secrets of JavaScript LibrariesMore Secrets of JavaScript Libraries
More Secrets of JavaScript Libraries
 
How Not To Code Flex Applications
How Not To Code Flex ApplicationsHow Not To Code Flex Applications
How Not To Code Flex Applications
 
Developing for LinkedIn's Application Platform
Developing for LinkedIn's Application PlatformDeveloping for LinkedIn's Application Platform
Developing for LinkedIn's Application Platform
 

Plus de Matt Machell (7)

Web Apps and Responsive Design for Libraries
Web Apps and Responsive Design for LibrariesWeb Apps and Responsive Design for Libraries
Web Apps and Responsive Design for Libraries
 
Retrofitting Adaptive Designs
Retrofitting Adaptive DesignsRetrofitting Adaptive Designs
Retrofitting Adaptive Designs
 
The Geo-aware Parent
The Geo-aware ParentThe Geo-aware Parent
The Geo-aware Parent
 
Enhancing your catalogue with open source
Enhancing your catalogue with open sourceEnhancing your catalogue with open source
Enhancing your catalogue with open source
 
A Guide To Blogging For The Uninitiated
A Guide To Blogging For The UninitiatedA Guide To Blogging For The Uninitiated
A Guide To Blogging For The Uninitiated
 
Blogging Slides
Blogging SlidesBlogging Slides
Blogging Slides
 
Perils and Possibilities of Web 2
Perils and Possibilities of Web 2Perils and Possibilities of Web 2
Perils and Possibilities of Web 2
 

Dernier

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Dernier (20)

Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 

Wai Aria - An Intro