SlideShare a Scribd company logo
Different Phases Of
Accessibility Testing
Speakers
Sagar Barbhaya
Staff Software Engineer
Poonam Tathavadkar
Software Engineer 2
How Much Does It Actually Cost To Fix A Bug?
“ At first, the cost of fixing a bug at the requirements stage is
nominal, when everything is on the drawing board. But as the software
moves along in its life cycle the cost of fixing a bug increases
radically. We start at 1 times when we are at the initial development
stage when a bug is no more than a change in notion.
But at the design stage, the relative cost is 5 times what it was
compared to the requirements stage, and then ten times what it was
when it becomes code and on this goes until it the relative cost of a
bug fix is 150 times what it was originally.”
Mindset Changes
Shift Left
● What is Shift Left?
● Ownership end to end
● Accessibility, Performance, Security Testing
Basic Accessibility Tests
Requirements (Manual)
● Keyboard Only Operation
● Visual Testing with Screen Reader
● Meaningful alt text for images
● Visual Aria Testing
Tools And Plugins
Open Chrome - chrome.google.com/webstore
Search for accessibility and install the following plugins
1. Microsoft Accessibility Insights For Web
2. Axe by Deque
3. Chromelens
4. NoCoffee
5. Wave
● Evaluating multiple public websites at the same time
● Traverse through child pages
● Identifies issues based on severity - Critical v/s Serious
● Export evaluations
Worldspace Automation
Design
What Can Be Done?
STARK - Contrast plugin in Sketch
1. Color Contrast Requirements
2. Content Designers - Meaningful labels for
alt text, labels
3. Minute details - Hover, Focus States
4. Interaction Designers - Tab order
Development And Release
Linters Plugins Unit Testing Automation
Robust Accessible
Product
CI/CD
Build failures
Jenkins
Accessible Development
● Automation comes as a robust layer of added checks.
● But, while developing, there are some checks which can flag any
erroneous code.
● Examples - linters in React
Linters
Es6 + React
React Linter
● eslint-plugin-jsx-a11y - ESLint plugin, specifically for JSX and React.
● Reports any potential accessibility issues with the code. Comes baked
with a new React project (post 2017)
● Can be easily installed by adding a dependency in an existing
project's package.json file.
● Customizable rules
Quick installation
● Install the plugin using npm install
● Update the ESLint configuration
● add “jsx-a11y” to the “plugins” section
● Extend that plugin using
“extends” : [
“plugin: jsx-a11y/recommended”
]
Unit Testing
Cypress - Test Example
describe("Accordion", () => {
before(() => {
cy.visit("/");
});
cy.get("body")
.find("[role=region]")
.first()
.should("have.attr", "hidden");
// your tests here
});
Accessibility Automation
at Intuit
● Accessibility automation hub - one stop shop for integrations needed
with any platform
● Examples - Selenium, Webdriver JS, Webdriver IO
● Periodic check on accessibility health of the product
● Scalable - handle requests for multiple products across different
business units
Continuous Integration /
Deployment
Build System Failures
● Build systems like Jenkins is another touch point to integrate
accessibility checks
● Once automation checks for accessibility violations, builds like Jenkins
can be failed based on the automation result
● A red build will automatically raise flags before changes can be
pushed down the release pipeline.
@poonamst14
@sagar_barbhaya

More Related Content

What's hot

564 Class Notes July 27, 2010
564 Class Notes July 27, 2010564 Class Notes July 27, 2010
564 Class Notes July 27, 2010
Stephanie Magleby
 
OWASP San Antonio Meeting 10/2/20
OWASP San Antonio Meeting 10/2/20OWASP San Antonio Meeting 10/2/20
OWASP San Antonio Meeting 10/2/20
Denim Group
 

What's hot (20)

Accessibility Support Baseline: Balancing User Needs Against Test Effort
Accessibility Support Baseline: Balancing User Needs Against Test EffortAccessibility Support Baseline: Balancing User Needs Against Test Effort
Accessibility Support Baseline: Balancing User Needs Against Test Effort
 
The Tester’s Role: Balancing Technical Acumen and User Advocacy
The Tester’s Role: Balancing Technical Acumen and User AdvocacyThe Tester’s Role: Balancing Technical Acumen and User Advocacy
The Tester’s Role: Balancing Technical Acumen and User Advocacy
 
Testing Comes into its Own in DevOps by Jack Maher
Testing Comes into its Own in DevOps by Jack MaherTesting Comes into its Own in DevOps by Jack Maher
Testing Comes into its Own in DevOps by Jack Maher
 
Tips from the trenches Accessibility Testing
Tips from the trenches Accessibility TestingTips from the trenches Accessibility Testing
Tips from the trenches Accessibility Testing
 
Building a Great AEM Team: Time Warner Cable's Journey
Building a Great AEM Team: Time Warner Cable's JourneyBuilding a Great AEM Team: Time Warner Cable's Journey
Building a Great AEM Team: Time Warner Cable's Journey
 
The Future of Web Apps
The Future of Web AppsThe Future of Web Apps
The Future of Web Apps
 
Automated Testing Using Selenium
Automated Testing Using SeleniumAutomated Testing Using Selenium
Automated Testing Using Selenium
 
Agile Testing Dilemmas
Agile Testing DilemmasAgile Testing Dilemmas
Agile Testing Dilemmas
 
A call to JS Developers - Let’s stop trying to impress each other and start b...
A call to JS Developers - Let’s stop trying to impress each other and start b...A call to JS Developers - Let’s stop trying to impress each other and start b...
A call to JS Developers - Let’s stop trying to impress each other and start b...
 
Zen and the art of Security Testing
Zen and the art of Security TestingZen and the art of Security Testing
Zen and the art of Security Testing
 
Enhancing your Test automation Scenario Coverage Using Selenium by Eran Kinsb...
Enhancing your Test automation Scenario Coverage Using Selenium by Eran Kinsb...Enhancing your Test automation Scenario Coverage Using Selenium by Eran Kinsb...
Enhancing your Test automation Scenario Coverage Using Selenium by Eran Kinsb...
 
Acceptance- and Behavior-Driven Development with Cucumber: Three Case Studies
Acceptance- and Behavior-Driven Development with Cucumber: Three Case StudiesAcceptance- and Behavior-Driven Development with Cucumber: Three Case Studies
Acceptance- and Behavior-Driven Development with Cucumber: Three Case Studies
 
The 7 minute accessibility assessment and app rating system
The 7 minute accessibility assessment and app rating systemThe 7 minute accessibility assessment and app rating system
The 7 minute accessibility assessment and app rating system
 
From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...
From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...
From Zero to 2.7 Million - How Verizon Media Embraced Open Source to Accelera...
 
The Evolution of Test Automation for DevOps
The Evolution of Test Automation for DevOpsThe Evolution of Test Automation for DevOps
The Evolution of Test Automation for DevOps
 
Long-term Impact of Log4J
Long-term Impact of Log4JLong-term Impact of Log4J
Long-term Impact of Log4J
 
564 Class Notes July 27, 2010
564 Class Notes July 27, 2010564 Class Notes July 27, 2010
564 Class Notes July 27, 2010
 
OWASP San Antonio Meeting 10/2/20
OWASP San Antonio Meeting 10/2/20OWASP San Antonio Meeting 10/2/20
OWASP San Antonio Meeting 10/2/20
 
Design Types
Design TypesDesign Types
Design Types
 
Integrate Your Test Automation Tools for More Power
Integrate Your Test Automation Tools for More PowerIntegrate Your Test Automation Tools for More Power
Integrate Your Test Automation Tools for More Power
 

Similar to Different phases of accessibility testing

Similar to Different phases of accessibility testing (20)

Shift left-csun-sagar-barbhaya
Shift left-csun-sagar-barbhayaShift left-csun-sagar-barbhaya
Shift left-csun-sagar-barbhaya
 
Test parallelization using Jenkins
Test parallelization using JenkinsTest parallelization using Jenkins
Test parallelization using Jenkins
 
Continuous Delivery - Voxxed Days Cluj-Napoca 2017
Continuous Delivery - Voxxed Days Cluj-Napoca 2017Continuous Delivery - Voxxed Days Cluj-Napoca 2017
Continuous Delivery - Voxxed Days Cluj-Napoca 2017
 
varun JENKINS.pptx
varun JENKINS.pptxvarun JENKINS.pptx
varun JENKINS.pptx
 
Test automation proposal
Test automation proposalTest automation proposal
Test automation proposal
 
Continuous delivery in Qbon
Continuous delivery  in QbonContinuous delivery  in Qbon
Continuous delivery in Qbon
 
Continuous integration with Jenkins
Continuous integration with JenkinsContinuous integration with Jenkins
Continuous integration with Jenkins
 
Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013
 
Jenkins
JenkinsJenkins
Jenkins
 
Seminar continuous delivery 19092013
Seminar continuous delivery 19092013Seminar continuous delivery 19092013
Seminar continuous delivery 19092013
 
Continuous Integration at T3CON08
Continuous Integration at T3CON08Continuous Integration at T3CON08
Continuous Integration at T3CON08
 
Learn Selenium - Online Guide
Learn Selenium - Online GuideLearn Selenium - Online Guide
Learn Selenium - Online Guide
 
Application Lifecycle Management
Application Lifecycle ManagementApplication Lifecycle Management
Application Lifecycle Management
 
Use Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test AutomationUse Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test Automation
 
DevOps - Boldly Go for Distro
DevOps - Boldly Go for DistroDevOps - Boldly Go for Distro
DevOps - Boldly Go for Distro
 
Karim Fanadka
Karim FanadkaKarim Fanadka
Karim Fanadka
 
Principles and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at EtsyPrinciples and Practices in Continuous Deployment at Etsy
Principles and Practices in Continuous Deployment at Etsy
 
Continuous integration using jenkins
Continuous integration using jenkinsContinuous integration using jenkins
Continuous integration using jenkins
 
Agile Engineering Sparker GLASScon 2015
Agile Engineering Sparker GLASScon 2015Agile Engineering Sparker GLASScon 2015
Agile Engineering Sparker GLASScon 2015
 
Continous integration and delivery for single page applications
Continous integration and delivery for single page applicationsContinous integration and delivery for single page applications
Continous integration and delivery for single page applications
 

Recently uploaded

Automobile Management System Project Report.pdf
Automobile Management System Project Report.pdfAutomobile Management System Project Report.pdf
Automobile Management System Project Report.pdf
Kamal Acharya
 
Online blood donation management system project.pdf
Online blood donation management system project.pdfOnline blood donation management system project.pdf
Online blood donation management system project.pdf
Kamal Acharya
 
Digital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdfDigital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdf
AbrahamGadissa
 
Laundry management system project report.pdf
Laundry management system project report.pdfLaundry management system project report.pdf
Laundry management system project report.pdf
Kamal Acharya
 
Antenna efficency lecture course chapter 3.pdf
Antenna  efficency lecture course chapter 3.pdfAntenna  efficency lecture course chapter 3.pdf
Antenna efficency lecture course chapter 3.pdf
AbrahamGadissa
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
R&R Consult
 
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical SolutionsRS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
Atif Razi
 

Recently uploaded (20)

fluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answerfluid mechanics gate notes . gate all pyqs answer
fluid mechanics gate notes . gate all pyqs answer
 
Automobile Management System Project Report.pdf
Automobile Management System Project Report.pdfAutomobile Management System Project Report.pdf
Automobile Management System Project Report.pdf
 
Natalia Rutkowska - BIM School Course in Kraków
Natalia Rutkowska - BIM School Course in KrakówNatalia Rutkowska - BIM School Course in Kraków
Natalia Rutkowska - BIM School Course in Kraków
 
shape functions of 1D and 2 D rectangular elements.pptx
shape functions of 1D and 2 D rectangular elements.pptxshape functions of 1D and 2 D rectangular elements.pptx
shape functions of 1D and 2 D rectangular elements.pptx
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
Courier management system project report.pdf
Courier management system project report.pdfCourier management system project report.pdf
Courier management system project report.pdf
 
Online blood donation management system project.pdf
Online blood donation management system project.pdfOnline blood donation management system project.pdf
Online blood donation management system project.pdf
 
Digital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdfDigital Signal Processing Lecture notes n.pdf
Digital Signal Processing Lecture notes n.pdf
 
Halogenation process of chemical process industries
Halogenation process of chemical process industriesHalogenation process of chemical process industries
Halogenation process of chemical process industries
 
Laundry management system project report.pdf
Laundry management system project report.pdfLaundry management system project report.pdf
Laundry management system project report.pdf
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
 
Antenna efficency lecture course chapter 3.pdf
Antenna  efficency lecture course chapter 3.pdfAntenna  efficency lecture course chapter 3.pdf
Antenna efficency lecture course chapter 3.pdf
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
Student information management system project report ii.pdf
Student information management system project report ii.pdfStudent information management system project report ii.pdf
Student information management system project report ii.pdf
 
fundamentals of drawing and isometric and orthographic projection
fundamentals of drawing and isometric and orthographic projectionfundamentals of drawing and isometric and orthographic projection
fundamentals of drawing and isometric and orthographic projection
 
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical SolutionsRS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
RS Khurmi Machine Design Clutch and Brake Exercise Numerical Solutions
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 

Different phases of accessibility testing

  • 2. Speakers Sagar Barbhaya Staff Software Engineer Poonam Tathavadkar Software Engineer 2
  • 3. How Much Does It Actually Cost To Fix A Bug? “ At first, the cost of fixing a bug at the requirements stage is nominal, when everything is on the drawing board. But as the software moves along in its life cycle the cost of fixing a bug increases radically. We start at 1 times when we are at the initial development stage when a bug is no more than a change in notion. But at the design stage, the relative cost is 5 times what it was compared to the requirements stage, and then ten times what it was when it becomes code and on this goes until it the relative cost of a bug fix is 150 times what it was originally.”
  • 4.
  • 5.
  • 7. Shift Left ● What is Shift Left? ● Ownership end to end ● Accessibility, Performance, Security Testing
  • 8. Basic Accessibility Tests Requirements (Manual) ● Keyboard Only Operation ● Visual Testing with Screen Reader ● Meaningful alt text for images ● Visual Aria Testing
  • 10. Open Chrome - chrome.google.com/webstore Search for accessibility and install the following plugins 1. Microsoft Accessibility Insights For Web 2. Axe by Deque 3. Chromelens 4. NoCoffee 5. Wave
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. ● Evaluating multiple public websites at the same time ● Traverse through child pages ● Identifies issues based on severity - Critical v/s Serious ● Export evaluations Worldspace Automation
  • 16.
  • 17.
  • 18.
  • 20. What Can Be Done? STARK - Contrast plugin in Sketch 1. Color Contrast Requirements 2. Content Designers - Meaningful labels for alt text, labels 3. Minute details - Hover, Focus States 4. Interaction Designers - Tab order
  • 22. Linters Plugins Unit Testing Automation Robust Accessible Product CI/CD Build failures Jenkins
  • 23. Accessible Development ● Automation comes as a robust layer of added checks. ● But, while developing, there are some checks which can flag any erroneous code. ● Examples - linters in React
  • 26. React Linter ● eslint-plugin-jsx-a11y - ESLint plugin, specifically for JSX and React. ● Reports any potential accessibility issues with the code. Comes baked with a new React project (post 2017) ● Can be easily installed by adding a dependency in an existing project's package.json file. ● Customizable rules
  • 27. Quick installation ● Install the plugin using npm install ● Update the ESLint configuration ● add “jsx-a11y” to the “plugins” section ● Extend that plugin using “extends” : [ “plugin: jsx-a11y/recommended” ]
  • 29. Cypress - Test Example describe("Accordion", () => { before(() => { cy.visit("/"); }); cy.get("body") .find("[role=region]") .first() .should("have.attr", "hidden"); // your tests here });
  • 30.
  • 31. Accessibility Automation at Intuit ● Accessibility automation hub - one stop shop for integrations needed with any platform ● Examples - Selenium, Webdriver JS, Webdriver IO ● Periodic check on accessibility health of the product ● Scalable - handle requests for multiple products across different business units
  • 33. Build System Failures ● Build systems like Jenkins is another touch point to integrate accessibility checks ● Once automation checks for accessibility violations, builds like Jenkins can be failed based on the automation result ● A red build will automatically raise flags before changes can be pushed down the release pipeline.