SlideShare a Scribd company logo
Accessibility with AngularJS
Rostyslav Belmeha
Front-End Developer @SoftServe
David Walsh
“The unsung heroes of the
engineering world are accessibility
devs. Zero recognition but make the
web possible for so many”
Agenda
1. Accessibility: what and why
2. Key-principles of Accessibility
3. Accessibility with AngularJS
4. Accessibility Patterns
First Web-Site
link
Modern Web-Site
Web Accessibility
people with disabilities can perceive, understand, navigate and
People with some kind of
disability
20%
Kind of disabilities
Universal design
*Key-principles of Accessibility
Perceivable
Operable
Understandable
Robust
* by Web Content Accessibility Guidelines 2.0
Perceivable
the information that can get into the brain
Perceivable
Operable
interaction that a user can perform
Operable
Understandable
perform in a predictable ways
Understandable
Understandable
link, основные
link, все характеристики
voiceOver:
Robust
interpretation of content by various user agents or devices
Robust
Accessibility with AngularJS
ARIA
a way to add the missing semantics
indicator of type describing of characteristicscurrent interaction state
ARIA
roles states properties
roles states properties
aria-busy
aria-checked
aria-disabled
aria-expanded
aria-grabbed
aria-hidden
aria-invalid
aria-pressed
aria-selected
aria-activedescendant
aria-atomic
aria-autocomplete
aria-controls
aria-describedby
aria-dropeffect
aria-flowto
aria-label
aria-labelledby
aria-level
aria-live
aria-multiline
aria-multiselectable
aria-orientation
aria-owns
aria-posinset
aria-readonly
aria-relevant
aria-required
aria-setsize
aria-sort
aria-valuemax
aria-valuemin
aria-valuenow
aria-valuetext
alert
alertdialog
button
checkbox
combobox
dialog
gridcell
link
log
marquee
menuitem
menuitemcheckbox
menuitemradio
option
progressbar
radio
radiogroup
scrollbar
slider
… +30
Common problem
<div ng-click = "doStuff()">click me!</div>
Some Solution
<div tabindex=“0” role=“button” ng-click=“doStuff()”>
click me!
</div>
Best Solution
<button ng-click=“doStuff()”>click me!</button>
Common problem
<awesome-checkbox></awesome-checkbox>
Some Solution
<awesome-checkbox tabindex=“0” role=“checkbox”
aria-checked=“true”>
</awesome-checkbox>
Best Solution
<input type=“checkbox” ng-click=“checkVal()” />
ngAria
accessibility module in Angular 1.3+
Supported directives
ngModel
ngDisabled
ngShow
ngHide
ngClick
ngDblClick
ngMessages
DEMO
http://codepen.io/rbelmega/pen/KpGeJo
What about testing?
Protractor A11Y Plugin
Accessibility Developer Tools
Tenon.io
What will we test?
labels
roles
ARIA properties
interactions
color contrast
Steps:
Install Protractor
npm install -g protractor
webdriver-manager update
webdriver-manager start
Create config file and enable plugin
// Chrome Accessibility Dev Tools only:
exports.config = {
...
plugins: [{
chromeA11YDevTools: {
treatWarningsAsFailures: true
},
path: 'node_modules/protractor/plugins/accessibility'
}]
}
Write and run your tests
Steps:
Common Accessibility Patterns
Text alternatives
offscreen spans
aria-label or label elements
image alt attributes
figure/figcaption elements
HTML Semantics
use native elements
use ARIA
HTML Semantics
native elements
HTML Semantics
ARIA
Focus management
use tabindex
outline vs border
should never be lost
http://rbelmega.github.io/pacemaker-accessibility/#/demo/5
Announcing changes
notification with ARIA live region
http://codepen.io/rbelmega/pen/yNmbGQ
Color contrast and scale
legible content
usable interactive controls
configurable UI themes
Progressive enhancement
JS could be disabled
not latest version of browser
Questions?
Accessibility

More Related Content

Viewers also liked

3D Texturing in Animation
3D Texturing in Animation3D Texturing in Animation
3D Texturing in Animation
Hi-Tech Animation
 
Insights on National Records at Sub-Junior & Junior National Aquatic Champion...
Insights on National Records at Sub-Junior & Junior National Aquatic Champion...Insights on National Records at Sub-Junior & Junior National Aquatic Champion...
Insights on National Records at Sub-Junior & Junior National Aquatic Champion...
Swim India
 
Unkonwn Facts about Tom and Jerry Show
Unkonwn Facts about Tom and Jerry ShowUnkonwn Facts about Tom and Jerry Show
Unkonwn Facts about Tom and Jerry Show
Hi-Tech Animation
 
Best Animator in India
Best Animator in IndiaBest Animator in India
Best Animator in India
Hi-Tech Animation
 
Refinery stream modeling walkthrough
Refinery stream modeling walkthroughRefinery stream modeling walkthrough
Refinery stream modeling walkthrough
morinsteve_capstone
 
Video Editing Process
Video Editing ProcessVideo Editing Process
Video Editing Process
Hi-Tech Animation
 
MINERAL PROCESSING (2)
MINERAL PROCESSING (2)MINERAL PROCESSING (2)
MINERAL PROCESSING (2)
Anus KK
 

Viewers also liked (7)

3D Texturing in Animation
3D Texturing in Animation3D Texturing in Animation
3D Texturing in Animation
 
Insights on National Records at Sub-Junior & Junior National Aquatic Champion...
Insights on National Records at Sub-Junior & Junior National Aquatic Champion...Insights on National Records at Sub-Junior & Junior National Aquatic Champion...
Insights on National Records at Sub-Junior & Junior National Aquatic Champion...
 
Unkonwn Facts about Tom and Jerry Show
Unkonwn Facts about Tom and Jerry ShowUnkonwn Facts about Tom and Jerry Show
Unkonwn Facts about Tom and Jerry Show
 
Best Animator in India
Best Animator in IndiaBest Animator in India
Best Animator in India
 
Refinery stream modeling walkthrough
Refinery stream modeling walkthroughRefinery stream modeling walkthrough
Refinery stream modeling walkthrough
 
Video Editing Process
Video Editing ProcessVideo Editing Process
Video Editing Process
 
MINERAL PROCESSING (2)
MINERAL PROCESSING (2)MINERAL PROCESSING (2)
MINERAL PROCESSING (2)
 

Similar to Accessibility

A Half Day Workshop on Building Accessible Websites For People With Disabilities
A Half Day Workshop on Building Accessible Websites For People With DisabilitiesA Half Day Workshop on Building Accessible Websites For People With Disabilities
A Half Day Workshop on Building Accessible Websites For People With Disabilities
Aayush Shrestha
 
Web topic 23 web accessibility
Web topic 23  web accessibilityWeb topic 23  web accessibility
Web topic 23 web accessibility
CK Yang
 
Role of-engineering-best-practices-to-create-an-inclusive-web final-1
Role of-engineering-best-practices-to-create-an-inclusive-web final-1Role of-engineering-best-practices-to-create-an-inclusive-web final-1
Role of-engineering-best-practices-to-create-an-inclusive-web final-1
Srinivasu Chakravarthula
 
Lightning Talks by Globant - Accessibility for everyone testing tools
Lightning Talks by Globant - Accessibility for everyone testing toolsLightning Talks by Globant - Accessibility for everyone testing tools
Lightning Talks by Globant - Accessibility for everyone testing tools
Globant
 
Web accessibility Development Tools In Action
Web accessibility Development Tools In ActionWeb accessibility Development Tools In Action
Web accessibility Development Tools In Action
Sean Yo
 
Wordcamp buffalo
Wordcamp buffaloWordcamp buffalo
Wordcamp buffalo
thegeniusca
 
Tools And Techniques For Evaluating Accessibility
Tools And Techniques For Evaluating AccessibilityTools And Techniques For Evaluating Accessibility
Tools And Techniques For Evaluating Accessibility
Rachel Cherry
 
Rich internet application accessibility - a quick overview
Rich internet application accessibility - a quick overviewRich internet application accessibility - a quick overview
Rich internet application accessibility - a quick overview
David Sloan
 
Web accessibiilty and Drupal
Web accessibiilty and DrupalWeb accessibiilty and Drupal
Web accessibiilty and Drupal
Théodore Biadala
 
Web Accessibility Demystified, by Penny Harding, Hannon Hill Corporation
Web Accessibility Demystified, by Penny Harding, Hannon Hill CorporationWeb Accessibility Demystified, by Penny Harding, Hannon Hill Corporation
Web Accessibility Demystified, by Penny Harding, Hannon Hill Corporation
hannonhill
 
The Impact of Accessibility
The Impact of AccessibilityThe Impact of Accessibility
The Impact of Accessibility
Josh Amer
 
Web accessibility is everyone's job
Web accessibility is everyone's jobWeb accessibility is everyone's job
Web accessibility is everyone's job
Remya Ramesh
 
The Ultimate Guide to Mastering Full
The Ultimate Guide to Mastering FullThe Ultimate Guide to Mastering Full
The Ultimate Guide to Mastering Full
AdequateInfosoft1
 
Accessibility Workshop
Accessibility WorkshopAccessibility Workshop
Accessibility Workshop
Lar Veale
 
World Usability Day 2012 ARIA
World Usability Day 2012 ARIA World Usability Day 2012 ARIA
World Usability Day 2012 ARIA
Ted Gies
 
Wave training
Wave trainingWave training
Wave training
Sean Yo
 
Ideas 5 - Roger Hudson - Understanding WCAG 2.0
Ideas 5 - Roger Hudson - Understanding WCAG 2.0Ideas 5 - Roger Hudson - Understanding WCAG 2.0
Ideas 5 - Roger Hudson - Understanding WCAG 2.0
awia
 
Node.js Web Development.pdf
Node.js Web Development.pdfNode.js Web Development.pdf
Node.js Web Development.pdf
Fariha Tasnim
 
Comrade Web Accessibility 101
Comrade Web Accessibility 101Comrade Web Accessibility 101
Comrade Web Accessibility 101
Comrade
 
Wipa Seminar WCAG 2.0
Wipa Seminar WCAG 2.0Wipa Seminar WCAG 2.0
Wipa Seminar WCAG 2.0
Roger Hudson
 

Similar to Accessibility (20)

A Half Day Workshop on Building Accessible Websites For People With Disabilities
A Half Day Workshop on Building Accessible Websites For People With DisabilitiesA Half Day Workshop on Building Accessible Websites For People With Disabilities
A Half Day Workshop on Building Accessible Websites For People With Disabilities
 
Web topic 23 web accessibility
Web topic 23  web accessibilityWeb topic 23  web accessibility
Web topic 23 web accessibility
 
Role of-engineering-best-practices-to-create-an-inclusive-web final-1
Role of-engineering-best-practices-to-create-an-inclusive-web final-1Role of-engineering-best-practices-to-create-an-inclusive-web final-1
Role of-engineering-best-practices-to-create-an-inclusive-web final-1
 
Lightning Talks by Globant - Accessibility for everyone testing tools
Lightning Talks by Globant - Accessibility for everyone testing toolsLightning Talks by Globant - Accessibility for everyone testing tools
Lightning Talks by Globant - Accessibility for everyone testing tools
 
Web accessibility Development Tools In Action
Web accessibility Development Tools In ActionWeb accessibility Development Tools In Action
Web accessibility Development Tools In Action
 
Wordcamp buffalo
Wordcamp buffaloWordcamp buffalo
Wordcamp buffalo
 
Tools And Techniques For Evaluating Accessibility
Tools And Techniques For Evaluating AccessibilityTools And Techniques For Evaluating Accessibility
Tools And Techniques For Evaluating Accessibility
 
Rich internet application accessibility - a quick overview
Rich internet application accessibility - a quick overviewRich internet application accessibility - a quick overview
Rich internet application accessibility - a quick overview
 
Web accessibiilty and Drupal
Web accessibiilty and DrupalWeb accessibiilty and Drupal
Web accessibiilty and Drupal
 
Web Accessibility Demystified, by Penny Harding, Hannon Hill Corporation
Web Accessibility Demystified, by Penny Harding, Hannon Hill CorporationWeb Accessibility Demystified, by Penny Harding, Hannon Hill Corporation
Web Accessibility Demystified, by Penny Harding, Hannon Hill Corporation
 
The Impact of Accessibility
The Impact of AccessibilityThe Impact of Accessibility
The Impact of Accessibility
 
Web accessibility is everyone's job
Web accessibility is everyone's jobWeb accessibility is everyone's job
Web accessibility is everyone's job
 
The Ultimate Guide to Mastering Full
The Ultimate Guide to Mastering FullThe Ultimate Guide to Mastering Full
The Ultimate Guide to Mastering Full
 
Accessibility Workshop
Accessibility WorkshopAccessibility Workshop
Accessibility Workshop
 
World Usability Day 2012 ARIA
World Usability Day 2012 ARIA World Usability Day 2012 ARIA
World Usability Day 2012 ARIA
 
Wave training
Wave trainingWave training
Wave training
 
Ideas 5 - Roger Hudson - Understanding WCAG 2.0
Ideas 5 - Roger Hudson - Understanding WCAG 2.0Ideas 5 - Roger Hudson - Understanding WCAG 2.0
Ideas 5 - Roger Hudson - Understanding WCAG 2.0
 
Node.js Web Development.pdf
Node.js Web Development.pdfNode.js Web Development.pdf
Node.js Web Development.pdf
 
Comrade Web Accessibility 101
Comrade Web Accessibility 101Comrade Web Accessibility 101
Comrade Web Accessibility 101
 
Wipa Seminar WCAG 2.0
Wipa Seminar WCAG 2.0Wipa Seminar WCAG 2.0
Wipa Seminar WCAG 2.0
 

Accessibility