SlideShare uma empresa Scribd logo
1 de 38
Creating dynamic and accessible
content in Drupal 7 using WAI-ARIA
Sarah Pulis (@sarahtp)
Web Accessibility Evangelist




DruaplCon | Content Authoring | 7 February 2013
About me

2002    Ignorant
2002+   Educated and aware
2010    Commitment
2012    Champion

        Read about Making accessibility part of culture change: it's all in the attitude
                    on Access iQ™. Image credit: Ruth Ellison and Kim Chatterjee
• People who use screen readers turn off
  Javascript
• You can’t have dynamic content on an
  accessible website
• Accessible website are boring
WAI-ARIA
      Accessible Rich
   Internet Applications
(from the W3C Web Accessibility Initiative)
Accessibility interoperability at a
DOM Node without JavaScript
             Role
             States
             Actions
             Caret                                        Data
             Selection


                           Contract
             Text
 Assistive   Hypertext
                                         UI
Technology   Value                    component
             Name
             Description                                    UI
             Children
             Changes
             Relations
                                                  From WAI-ARIA Primer
Accessibility interoperability at a
DOM Node with JavaScript
             ^Role
             ^States
             ^Actions
             Caret                                        Data
             Selection


                           Contract
             Text
 Assistive   Hypertext
                                         UI
Technology   ^Value                   component
             Name
             Description                                    UI
             Children
             ^Changes
             ^Relations
                                                  From WAI-ARIA Primer
WAI-ARIA

WAI-ARIA roles
Abstract, widget, document structure and
landmark roles
WAI-ARIA states and properties
Widget, live region, drag-and-drop and
relationship attributes
What we are looking at today

WAI-ARIA for page structure
WAI-ARIA live regions
WAI-ARIA for forms
WAI-ARIA for widgets
WAI-ARIA for page structure
<div role=”banner”>
                                 <form role=”search”>




                                                ”complementary
                 <div role=”main”>
  ”navigation”
  <div role=




                                                <div role=
                   <div role=”form”>

                   <div role=”application”>




                                                ”
<div role=”contentinfo”>
Differentiate landmarks
with the same type
Use aria-label to differentiate between
regions with the same landmark type
<div role=“navigation”
aria-label=“main menu”>
<div role=“navigation”
aria-label=“sub menu”>
Videos demonstrating landmark roles using NVDA available at
Landmark roles - element list – NVDA and
Landmark roles voiced by NVDA.
Assistive technology support

Jaws 11/12/13 has complete support.
ChromeVox has complete support
VoiceOver supports all landmarks except “form”
NVDA supports all landmarks except “application”
and “form”
Window Eyes does not support ARIA landmarks
Latest ARIA landmark role support data, The Paciello Group (Nov 2011)
WAI-ARIA and forms
aria-required

Use aria-required=“true” for
required form fields
<label for="name">
  First Name</label>:
<input name="name" id="name"
  aria-required="true">
<em>(required)</em>
aria-describedby

Use aria-describedby to provide
supporting information for an input field
<input type=“password"
id=“pwd“ aria-describedby=“pwd-reqs“ />
<p id=“pwd-reqs”>Your password must be 8
characters in length and include one
number</p>
aria-invalid

<label for=“firstname">First
name</label>:
<input name=“firstname"
id=“firstname" aria-invalid="true">
aria-label and aria-labelledby

The purpose of aria-label and aria-
labelledby are the same
Use aria-labelledby if the label text is visible on
the screen
Use aria-label if the label text isn’t visible on the
screen
aria-labelledby

<label id="label" for="time">Self
destruct this page in </label>
<input id="time" type="text" aria-
labelledby="label time seconds"
size="2" value="5">
<span id="seconds"> seconds</span>


   Example from WebAIM: http://webaim.org/presentations/2012/ahgaria/labelledby3
WAI-ARIA live regions
ARIA live regions (priority)

aria-live=“off”
Updates are not announced to the user
aria-live=“polite”
Updates only announced if user is idle
aria-live=“assertive”
Updates are announced ASAP, but user is not interrupted
ARIA live regions (relevance)

aria-busy (values: true, false)
AT will only announced changes once aria-busy=“false”
aria-atomic (values: true, false)
Read out only the change, or the entire live region
aria-relevant (values: additions, removals, text)
Relevant changes to live regions depends on value
Video demonstrating ARIA live regions using NVDA on
YouTube with captions.
WAI-ARIA for widgets
Video demonstrating dynamic menubar voiced by NVDA on
YouTube with captions. Code from Accessible jQuery-ui
Components Demonstration.
Drupal and ARIA
Drupal 7 themes with WAI-ARIA

Boron
Genesis
Panels 960gs

From Drupal Watchdog – D7 Starter Tehemes
Drupal accessibility

Drupal groups
Join the Accessibility Drupal Group!
List of Drupal sites in the Disability Sector
Accessible Drupal distros
Web Accessibility Toolkit: Government of Canada
aGov: PreviousNext
ARIA validation

ARIA attributes don’t validate in HTML4
Use the HTML5 DOCTYPE with ARIA
markup
Validate using the W3C Nu Markup
Validation Service
Take-aways

Dynamic content no longer has to be
inaccessible to assistive technologies
Start using ARIA now (if you aren’t already)
Easy wins (landmark roles, forms)
It’s kinda fun!
Don’t forget!

Session evaluation
Creating dynamic and accessible content
in Drupal 7 using WAI-ARIA
[http://bit.ly/XWc3cM]
Slides and videos

Slides from this presentation on
Access iQ™ SlideShare

Videos from this presentation on
Access iQ™ YouTube channel
Access iQ™ provides practical hands-on
workshops that teach you how to
implement accessibility in your projects.

HTML and CSS techniques for building
accessible websites – Sydney – teaching
developers how to create accessible digital
experiences.

Implementing accessibility into your digital
projects [custom workshop] – teaching your
project team who does what in
accessibility.

accessiq.org/events
W3C WAI-ARIA documents

WAI-ARIA technical specification
http://www.w3.org/TR/wai-aria/
WAI-ARIA Primer
http://www.w3.org/TR/wai-aria-primer
WAI-ARIA Authoring Practices
http://www.w3.org/TR/wai-aria-practices
More WAI-ARIA resources

Using ARIA in HTML
http://bit.ly/Qz3DHs
Introduction to WAI-ARIA (Opera)
http://bit.ly/116YOW
The Paciello Group Blog
http://www.paciellogroup.com/blog
Even more WAI-ARIA resources

Accessible jQuery-ui Components Demonstration
http://bit.ly/12uew61
Yahoo! Accessibility code library
http://bit.ly/12ueIC1
Mozilla developer network – ARIA
http://mzl.la/XWgvZ1
Level 3, 616-620 Harris St
Ultimo NSW 2007
t: +61 2 8218 9320
e: knowhow@accessiq.org
    @accessiq

accessiq.org


Web accessibility know how

Mais conteúdo relacionado

Destaque

Reaching Corporate Australia with a Business Case
Reaching Corporate Australia with a Business CaseReaching Corporate Australia with a Business Case
Reaching Corporate Australia with a Business CaseAccess iQ
 
Aria a11ycamp-bay-2015
Aria a11ycamp-bay-2015Aria a11ycamp-bay-2015
Aria a11ycamp-bay-2015Dylan Barrell
 
NDS Employment Conference
NDS Employment ConferenceNDS Employment Conference
NDS Employment ConferenceAccess iQ
 
Ramp Up Your Web Experiences Using Drupal and Apache Solr
Ramp Up Your Web Experiences Using Drupal and Apache SolrRamp Up Your Web Experiences Using Drupal and Apache Solr
Ramp Up Your Web Experiences Using Drupal and Apache Solrlucenerevolution
 
Implementing ARIA for Real World Accessibility
Implementing ARIA for Real World AccessibilityImplementing ARIA for Real World Accessibility
Implementing ARIA for Real World AccessibilityJared Smith
 
Web accessibility: It's everyone's responsibility
Web accessibility: It's everyone's responsibilityWeb accessibility: It's everyone's responsibility
Web accessibility: It's everyone's responsibilityAccess iQ
 
Keyboard and Interaction Accessibility Techniques
Keyboard and Interaction Accessibility TechniquesKeyboard and Interaction Accessibility Techniques
Keyboard and Interaction Accessibility TechniquesJared Smith
 

Destaque (7)

Reaching Corporate Australia with a Business Case
Reaching Corporate Australia with a Business CaseReaching Corporate Australia with a Business Case
Reaching Corporate Australia with a Business Case
 
Aria a11ycamp-bay-2015
Aria a11ycamp-bay-2015Aria a11ycamp-bay-2015
Aria a11ycamp-bay-2015
 
NDS Employment Conference
NDS Employment ConferenceNDS Employment Conference
NDS Employment Conference
 
Ramp Up Your Web Experiences Using Drupal and Apache Solr
Ramp Up Your Web Experiences Using Drupal and Apache SolrRamp Up Your Web Experiences Using Drupal and Apache Solr
Ramp Up Your Web Experiences Using Drupal and Apache Solr
 
Implementing ARIA for Real World Accessibility
Implementing ARIA for Real World AccessibilityImplementing ARIA for Real World Accessibility
Implementing ARIA for Real World Accessibility
 
Web accessibility: It's everyone's responsibility
Web accessibility: It's everyone's responsibilityWeb accessibility: It's everyone's responsibility
Web accessibility: It's everyone's responsibility
 
Keyboard and Interaction Accessibility Techniques
Keyboard and Interaction Accessibility TechniquesKeyboard and Interaction Accessibility Techniques
Keyboard and Interaction Accessibility Techniques
 

Semelhante a Creating dynamic and accessible content in Drupal 7 using WAI-ARIA

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
 
Accessing Your Existing SAP NetWeaver Portal on Mobile Device
Accessing Your Existing SAP NetWeaver Portal on Mobile DeviceAccessing Your Existing SAP NetWeaver Portal on Mobile Device
Accessing Your Existing SAP NetWeaver Portal on Mobile DeviceSAP Portal
 
HTML5 and ARIA accessibility - Bangalore 2013
HTML5 and ARIA accessibility - Bangalore 2013HTML5 and ARIA accessibility - Bangalore 2013
HTML5 and ARIA accessibility - Bangalore 2013Ted Drake
 
How HTML5 and WAI-ARIA Can Improve Virtual Space of Universities
How HTML5 and WAI-ARIA Can Improve Virtual Space of UniversitiesHow HTML5 and WAI-ARIA Can Improve Virtual Space of Universities
How HTML5 and WAI-ARIA Can Improve Virtual Space of UniversitiesRadek Pavlíček
 
HTML5 Accessibility CSUN 2012
HTML5 Accessibility CSUN 2012HTML5 Accessibility CSUN 2012
HTML5 Accessibility CSUN 2012Steven Faulkner
 
Optimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEMOptimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEMGabriel Walt
 
ARIA: A bridge to greater accessibility
ARIA: A bridge to greater accessibilityARIA: A bridge to greater accessibility
ARIA: A bridge to greater accessibilityRachel Cherry
 
An Introduction to WAI-ARIA
An Introduction to WAI-ARIAAn Introduction to WAI-ARIA
An Introduction to WAI-ARIAIWMW
 
CSUN The ARIA Technology Stack Browsers and Screen Readers
CSUN The ARIA Technology Stack Browsers and Screen ReadersCSUN The ARIA Technology Stack Browsers and Screen Readers
CSUN The ARIA Technology Stack Browsers and Screen ReadersEduardo Meza-Etienne
 
Top Five Reasons to Upgrade to SAP NetWeaver Portal 7.3
Top Five Reasons to Upgrade to SAP NetWeaver Portal 7.3Top Five Reasons to Upgrade to SAP NetWeaver Portal 7.3
Top Five Reasons to Upgrade to SAP NetWeaver Portal 7.3SAP Portal
 
Moving to Web 2.0 - Best Practices for Business and Application Migration
Moving to Web 2.0 - Best Practices for Business and Application MigrationMoving to Web 2.0 - Best Practices for Business and Application Migration
Moving to Web 2.0 - Best Practices for Business and Application Migrationanilmadugula
 
Develop Your First Mobile Application with Portal on Device
Develop Your First Mobile Application with Portal on DeviceDevelop Your First Mobile Application with Portal on Device
Develop Your First Mobile Application with Portal on DeviceSAP Portal
 
How To Build An Accessible Web Application
How To Build An Accessible Web ApplicationHow To Build An Accessible Web Application
How To Build An Accessible Web ApplicationDennis Lembree
 
Smwcon widget editor - first preview
Smwcon widget editor - first previewSmwcon widget editor - first preview
Smwcon widget editor - first previewJesse Wang
 
Web Accessibility - We're All In This Together!
Web Accessibility - We're All In This Together!Web Accessibility - We're All In This Together!
Web Accessibility - We're All In This Together!Andrew Ronksley
 
When worlds Collide: HTML5 Meets the Cloud
When worlds Collide: HTML5 Meets the CloudWhen worlds Collide: HTML5 Meets the Cloud
When worlds Collide: HTML5 Meets the CloudDavid Pallmann
 
What is WebDAV - uploaded by Murali Krishna Nookella
What is WebDAV - uploaded by Murali Krishna NookellaWhat is WebDAV - uploaded by Murali Krishna Nookella
What is WebDAV - uploaded by Murali Krishna Nookellamuralikrishnanookella
 
DrupalCamp ATL 2010: Not all CMSs are created equal
DrupalCamp ATL 2010: Not all CMSs are created equalDrupalCamp ATL 2010: Not all CMSs are created equal
DrupalCamp ATL 2010: Not all CMSs are created equalandrewmriley
 
Kentico Technical Learning: Exploring jQuery Mobile
Kentico Technical Learning: Exploring jQuery MobileKentico Technical Learning: Exploring jQuery Mobile
Kentico Technical Learning: Exploring jQuery MobileThomas Robbins
 

Semelhante a Creating dynamic and accessible content in Drupal 7 using WAI-ARIA (20)

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
 
Accessing Your Existing SAP NetWeaver Portal on Mobile Device
Accessing Your Existing SAP NetWeaver Portal on Mobile DeviceAccessing Your Existing SAP NetWeaver Portal on Mobile Device
Accessing Your Existing SAP NetWeaver Portal on Mobile Device
 
HTML5 and ARIA accessibility - Bangalore 2013
HTML5 and ARIA accessibility - Bangalore 2013HTML5 and ARIA accessibility - Bangalore 2013
HTML5 and ARIA accessibility - Bangalore 2013
 
How HTML5 and WAI-ARIA Can Improve Virtual Space of Universities
How HTML5 and WAI-ARIA Can Improve Virtual Space of UniversitiesHow HTML5 and WAI-ARIA Can Improve Virtual Space of Universities
How HTML5 and WAI-ARIA Can Improve Virtual Space of Universities
 
HTML5 Accessibility CSUN 2012
HTML5 Accessibility CSUN 2012HTML5 Accessibility CSUN 2012
HTML5 Accessibility CSUN 2012
 
Optimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEMOptimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEM
 
ARIA: A bridge to greater accessibility
ARIA: A bridge to greater accessibilityARIA: A bridge to greater accessibility
ARIA: A bridge to greater accessibility
 
An Introduction to WAI-ARIA
An Introduction to WAI-ARIAAn Introduction to WAI-ARIA
An Introduction to WAI-ARIA
 
CSUN The ARIA Technology Stack Browsers and Screen Readers
CSUN The ARIA Technology Stack Browsers and Screen ReadersCSUN The ARIA Technology Stack Browsers and Screen Readers
CSUN The ARIA Technology Stack Browsers and Screen Readers
 
Top Five Reasons to Upgrade to SAP NetWeaver Portal 7.3
Top Five Reasons to Upgrade to SAP NetWeaver Portal 7.3Top Five Reasons to Upgrade to SAP NetWeaver Portal 7.3
Top Five Reasons to Upgrade to SAP NetWeaver Portal 7.3
 
Moving to Web 2.0 - Best Practices for Business and Application Migration
Moving to Web 2.0 - Best Practices for Business and Application MigrationMoving to Web 2.0 - Best Practices for Business and Application Migration
Moving to Web 2.0 - Best Practices for Business and Application Migration
 
Develop Your First Mobile Application with Portal on Device
Develop Your First Mobile Application with Portal on DeviceDevelop Your First Mobile Application with Portal on Device
Develop Your First Mobile Application with Portal on Device
 
How To Build An Accessible Web Application
How To Build An Accessible Web ApplicationHow To Build An Accessible Web Application
How To Build An Accessible Web Application
 
Smwcon widget editor - first preview
Smwcon widget editor - first previewSmwcon widget editor - first preview
Smwcon widget editor - first preview
 
Web Accessibility - We're All In This Together!
Web Accessibility - We're All In This Together!Web Accessibility - We're All In This Together!
Web Accessibility - We're All In This Together!
 
RIA And SOA
RIA And SOARIA And SOA
RIA And SOA
 
When worlds Collide: HTML5 Meets the Cloud
When worlds Collide: HTML5 Meets the CloudWhen worlds Collide: HTML5 Meets the Cloud
When worlds Collide: HTML5 Meets the Cloud
 
What is WebDAV - uploaded by Murali Krishna Nookella
What is WebDAV - uploaded by Murali Krishna NookellaWhat is WebDAV - uploaded by Murali Krishna Nookella
What is WebDAV - uploaded by Murali Krishna Nookella
 
DrupalCamp ATL 2010: Not all CMSs are created equal
DrupalCamp ATL 2010: Not all CMSs are created equalDrupalCamp ATL 2010: Not all CMSs are created equal
DrupalCamp ATL 2010: Not all CMSs are created equal
 
Kentico Technical Learning: Exploring jQuery Mobile
Kentico Technical Learning: Exploring jQuery MobileKentico Technical Learning: Exploring jQuery Mobile
Kentico Technical Learning: Exploring jQuery Mobile
 

Mais de Access iQ

Creating an inclusive social media strategy
Creating an inclusive social media strategyCreating an inclusive social media strategy
Creating an inclusive social media strategyAccess iQ
 
Web accessibility: it's not a dirty word
Web accessibility: it's not a dirty wordWeb accessibility: it's not a dirty word
Web accessibility: it's not a dirty wordAccess iQ
 
Using the cloud to support people with disabilities
Using the cloud to support people with disabilitiesUsing the cloud to support people with disabilities
Using the cloud to support people with disabilitiesAccess iQ
 
Accessibility for social media platforms
Accessibility for social media platformsAccessibility for social media platforms
Accessibility for social media platformsAccess iQ
 
Anatomy of an accessible carousel: everyone's responsible!
Anatomy of an accessible carousel: everyone's responsible!Anatomy of an accessible carousel: everyone's responsible!
Anatomy of an accessible carousel: everyone's responsible!Access iQ
 
Understanding the implications of accessibility requirements on your project
Understanding the implications of accessibility requirements on your projectUnderstanding the implications of accessibility requirements on your project
Understanding the implications of accessibility requirements on your projectAccess iQ
 
Maximising digital engagement and inclusion 2.0
Maximising digital engagement and inclusion 2.0Maximising digital engagement and inclusion 2.0
Maximising digital engagement and inclusion 2.0Access iQ
 
Strategies for ensuring the accessibility of online content
Strategies for ensuring the accessibility of online contentStrategies for ensuring the accessibility of online content
Strategies for ensuring the accessibility of online contentAccess iQ
 
Accessibility and the Cloud
Accessibility and the CloudAccessibility and the Cloud
Accessibility and the CloudAccess iQ
 

Mais de Access iQ (9)

Creating an inclusive social media strategy
Creating an inclusive social media strategyCreating an inclusive social media strategy
Creating an inclusive social media strategy
 
Web accessibility: it's not a dirty word
Web accessibility: it's not a dirty wordWeb accessibility: it's not a dirty word
Web accessibility: it's not a dirty word
 
Using the cloud to support people with disabilities
Using the cloud to support people with disabilitiesUsing the cloud to support people with disabilities
Using the cloud to support people with disabilities
 
Accessibility for social media platforms
Accessibility for social media platformsAccessibility for social media platforms
Accessibility for social media platforms
 
Anatomy of an accessible carousel: everyone's responsible!
Anatomy of an accessible carousel: everyone's responsible!Anatomy of an accessible carousel: everyone's responsible!
Anatomy of an accessible carousel: everyone's responsible!
 
Understanding the implications of accessibility requirements on your project
Understanding the implications of accessibility requirements on your projectUnderstanding the implications of accessibility requirements on your project
Understanding the implications of accessibility requirements on your project
 
Maximising digital engagement and inclusion 2.0
Maximising digital engagement and inclusion 2.0Maximising digital engagement and inclusion 2.0
Maximising digital engagement and inclusion 2.0
 
Strategies for ensuring the accessibility of online content
Strategies for ensuring the accessibility of online contentStrategies for ensuring the accessibility of online content
Strategies for ensuring the accessibility of online content
 
Accessibility and the Cloud
Accessibility and the CloudAccessibility and the Cloud
Accessibility and the Cloud
 

Último

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
 
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
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life 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
 
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
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
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
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
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
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
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
 

Último (20)

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
 
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
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life 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
 
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
 
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
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
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
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Creating dynamic and accessible content in Drupal 7 using WAI-ARIA

  • 1. Creating dynamic and accessible content in Drupal 7 using WAI-ARIA Sarah Pulis (@sarahtp) Web Accessibility Evangelist DruaplCon | Content Authoring | 7 February 2013
  • 2. About me 2002 Ignorant 2002+ Educated and aware 2010 Commitment 2012 Champion Read about Making accessibility part of culture change: it's all in the attitude on Access iQ™. Image credit: Ruth Ellison and Kim Chatterjee
  • 3. • People who use screen readers turn off Javascript • You can’t have dynamic content on an accessible website • Accessible website are boring
  • 4. WAI-ARIA Accessible Rich Internet Applications (from the W3C Web Accessibility Initiative)
  • 5. Accessibility interoperability at a DOM Node without JavaScript Role States Actions Caret Data Selection Contract Text Assistive Hypertext UI Technology Value component Name Description UI Children Changes Relations From WAI-ARIA Primer
  • 6. Accessibility interoperability at a DOM Node with JavaScript ^Role ^States ^Actions Caret Data Selection Contract Text Assistive Hypertext UI Technology ^Value component Name Description UI Children ^Changes ^Relations From WAI-ARIA Primer
  • 7. WAI-ARIA WAI-ARIA roles Abstract, widget, document structure and landmark roles WAI-ARIA states and properties Widget, live region, drag-and-drop and relationship attributes
  • 8. What we are looking at today WAI-ARIA for page structure WAI-ARIA live regions WAI-ARIA for forms WAI-ARIA for widgets
  • 9. WAI-ARIA for page structure
  • 10.
  • 11. <div role=”banner”> <form role=”search”> ”complementary <div role=”main”> ”navigation” <div role= <div role= <div role=”form”> <div role=”application”> ” <div role=”contentinfo”>
  • 12. Differentiate landmarks with the same type Use aria-label to differentiate between regions with the same landmark type <div role=“navigation” aria-label=“main menu”> <div role=“navigation” aria-label=“sub menu”>
  • 13. Videos demonstrating landmark roles using NVDA available at Landmark roles - element list – NVDA and Landmark roles voiced by NVDA.
  • 14. Assistive technology support Jaws 11/12/13 has complete support. ChromeVox has complete support VoiceOver supports all landmarks except “form” NVDA supports all landmarks except “application” and “form” Window Eyes does not support ARIA landmarks Latest ARIA landmark role support data, The Paciello Group (Nov 2011)
  • 16. aria-required Use aria-required=“true” for required form fields <label for="name"> First Name</label>: <input name="name" id="name" aria-required="true"> <em>(required)</em>
  • 17. aria-describedby Use aria-describedby to provide supporting information for an input field <input type=“password" id=“pwd“ aria-describedby=“pwd-reqs“ /> <p id=“pwd-reqs”>Your password must be 8 characters in length and include one number</p>
  • 19. aria-label and aria-labelledby The purpose of aria-label and aria- labelledby are the same Use aria-labelledby if the label text is visible on the screen Use aria-label if the label text isn’t visible on the screen
  • 20. aria-labelledby <label id="label" for="time">Self destruct this page in </label> <input id="time" type="text" aria- labelledby="label time seconds" size="2" value="5"> <span id="seconds"> seconds</span> Example from WebAIM: http://webaim.org/presentations/2012/ahgaria/labelledby3
  • 22. ARIA live regions (priority) aria-live=“off” Updates are not announced to the user aria-live=“polite” Updates only announced if user is idle aria-live=“assertive” Updates are announced ASAP, but user is not interrupted
  • 23. ARIA live regions (relevance) aria-busy (values: true, false) AT will only announced changes once aria-busy=“false” aria-atomic (values: true, false) Read out only the change, or the entire live region aria-relevant (values: additions, removals, text) Relevant changes to live regions depends on value
  • 24. Video demonstrating ARIA live regions using NVDA on YouTube with captions.
  • 26. Video demonstrating dynamic menubar voiced by NVDA on YouTube with captions. Code from Accessible jQuery-ui Components Demonstration.
  • 28. Drupal 7 themes with WAI-ARIA Boron Genesis Panels 960gs From Drupal Watchdog – D7 Starter Tehemes
  • 29. Drupal accessibility Drupal groups Join the Accessibility Drupal Group! List of Drupal sites in the Disability Sector Accessible Drupal distros Web Accessibility Toolkit: Government of Canada aGov: PreviousNext
  • 30. ARIA validation ARIA attributes don’t validate in HTML4 Use the HTML5 DOCTYPE with ARIA markup Validate using the W3C Nu Markup Validation Service
  • 31. Take-aways Dynamic content no longer has to be inaccessible to assistive technologies Start using ARIA now (if you aren’t already) Easy wins (landmark roles, forms) It’s kinda fun!
  • 32. Don’t forget! Session evaluation Creating dynamic and accessible content in Drupal 7 using WAI-ARIA [http://bit.ly/XWc3cM]
  • 33. Slides and videos Slides from this presentation on Access iQ™ SlideShare Videos from this presentation on Access iQ™ YouTube channel
  • 34. Access iQ™ provides practical hands-on workshops that teach you how to implement accessibility in your projects. HTML and CSS techniques for building accessible websites – Sydney – teaching developers how to create accessible digital experiences. Implementing accessibility into your digital projects [custom workshop] – teaching your project team who does what in accessibility. accessiq.org/events
  • 35. W3C WAI-ARIA documents WAI-ARIA technical specification http://www.w3.org/TR/wai-aria/ WAI-ARIA Primer http://www.w3.org/TR/wai-aria-primer WAI-ARIA Authoring Practices http://www.w3.org/TR/wai-aria-practices
  • 36. More WAI-ARIA resources Using ARIA in HTML http://bit.ly/Qz3DHs Introduction to WAI-ARIA (Opera) http://bit.ly/116YOW The Paciello Group Blog http://www.paciellogroup.com/blog
  • 37. Even more WAI-ARIA resources Accessible jQuery-ui Components Demonstration http://bit.ly/12uew61 Yahoo! Accessibility code library http://bit.ly/12ueIC1 Mozilla developer network – ARIA http://mzl.la/XWgvZ1
  • 38. Level 3, 616-620 Harris St Ultimo NSW 2007 t: +61 2 8218 9320 e: knowhow@accessiq.org @accessiq accessiq.org Web accessibility know how

Notas do Editor

  1. Developed by the Protocols and Formats Working Group, which is part of the World Wide Web Consortium (W3C) Web Accessibility Initiative (WAI)ARIA is a W3C Candidate Recommendation on 18 Jan 2011
  2. A state is a dynamic property expressing characteristics of an object that may change in response to user action or automated processes. States do not affect the essential nature of the object, but represent data associated with the object or user interaction possibilities.
  3. A state is a dynamic property expressing characteristics of an object that may change in response to user action or automated processes. States do not affect the essential nature of the object, but represent data associated with the object or user interaction possibilities.
  4. Attributes that are essential to the nature of a given object, or that represent a data value associated with the object.
  5. Only use banner, contentinfo and main once within a document or application
  6. If the label text is visible on screen, authors SHOULD use aria-labelledby and SHOULD NOT use aria-label