SlideShare une entreprise Scribd logo
1  sur  43
Thomas F. Dinkel “Dink”
•
•
•
•
•
Seán Kelly
•
•
•
•
•
Outline
Intro
85% ?!?
Good code is a major part of WCAG 2.0
HTML is a standard
HTML - Hypertext Markup Language, a standardized system
for tagging text files to achieve font, colour, graphic, and
hyperlink effects on World Wide Web pages.
-- oxforddictionaries.com
Hypertext Markup Language (HTML) is
the standard markup language for creating
web pages and web applications.
-- wikipedia.org
HTML - HyperText Markup Language: a
set of standards, a variety of SGML,
used to tag the elements of a hypertext
document. It is the standard protocol for
formatting and displaying documents on
the World Wide Web.
-- dictionary.com
HTML is the standard markup
language for creating Web
pages.
-- w3schools.com
We all benefit from the standard
HTML
Specification
(W3C)
Browser
Developers
Assistive
Technology
Developers
Web Site /
Web Application
Web Browser Screen Reader
All
Your Users
(real people)
Web Application
Developers
The contract model with accessibility APIs
From the Web Accessibility Initiative’s “Accessible Rich Internet Applications”
http://www.w3.org/TR/wai-aria-1.1/#intro_ria_accessibility
FirefoxInternet Explorer 11
Edge
Safari
VoiceOver
JAWS
NVDA
TalkBack
Browsers and Assistive Technologies
Browser and Assistive Technology combinations (BrAT)
Sometimes, even when HTML is valid and follows the standard, users may get different
experiences with different BrATs (for example: IE11+JAWS verses Firefox + JAWS).
In our experience, good, clean, standard HTML always does better than bad code.
Browsers can fix-up bad HTML to some degree so that it looks right, but it can still be presented
incorrectly by different BrATs.
When things are a lot different between BrATs, there is often a code validation issue behind it.
Bad code example: a block breaking a block element
Bad code example: Bad parent-child relationship
Custom elements
•
•
Bad code example: custom element causing an unknown relationship
How strict should we be with custom attributes
•
•
•
•
Valid custom attributes
•
•
Good code example: custom attributes
•
•
Why isn’t HTML validation being done?
“It looks right in my browser”
But will that still be true after the next major browser update?
“With HTML5,
all HTML is valid”
HTML5 is very flexible,
but not that flexible.
“HTML validation is:
• too hard
• takes too much time
• plagued with false positives
“Most of the big player’s sites don’t pass”
Can you afford the same risk that they can?
“We’ve seen valid HTML
that isn’t accessible”
And we’ve seen invalid HTML that is.
“I don’t write HTML”
The JS framework we use generates the HTML,
and they must know what they’re doing.
HTML Validation Options
https://validator.w3.org/nu/
https://validator.github.io/validator/
http://users.skynet.be/mgueury/mozilla/
Things to Watch For
Other benefits of valid HTML
•
•
•
•
•
https://www.deque.com/products/axe/
https://wave.webaim.org/extension/
https://developer.paciellogroup.com/resources/wat/
http://squizlabs.github.io/HTML_CodeSniffer/
Accessibility Testing Tools
Accessibility Testing Tools
aXe
WCAG Requirement
AT Depends on Effective Keyboard Support
All Users Benefit from Effective Keyboard Support
Everything via Keyboard
Most-basic Keyboard Behaviors
https://webaim.org/techniques/keyboard/
https://www.w3.org/TR/2016/NOTE-WCAG20-TECHS-20161007/G202
https://www.w3.org/TR/wai-aria-practices-1.1/
Expected Keyboard Behaviors
Try it with a screen reader
Learn a little at a time
https://webaim.org/techniques/screenreader/
https://webaim.org/articles/screenreader_testing/
https://webaim.org/articles/jaws/
http://www.freedomscientific.com/Content/Documents/Manuals/JAWS/JAWS-Quick-Start-Guide.pdf
https://webaim.org/articles/nvda/
https://www.nvaccess.org/files/nvda/documentation/userGuide.html
https://help.apple.com/voiceover/info/guide/10.12/
Getting started with screen reader - Resources
Summary
1.
2.
3.
•
Benefits and Early Inclusion in Process
•
Thomas Dinkel
thomas.dinkel@optum.com
thomas.f.dinkel@gmail.com
@phrenishious
linkedin.com/in/thomas-dinkel-629a491/
Seán Kelly
sean_kelly@optum.com
sean.kelly.net@gmail.com
@sk55408
inkedin.com/in/seankellyweb/

Contenu connexe

Tendances

Automated Testing – Web, Mobile, Desktop - Challenges and Successes
Automated Testing – Web, Mobile, Desktop - Challenges and SuccessesAutomated Testing – Web, Mobile, Desktop - Challenges and Successes
Automated Testing – Web, Mobile, Desktop - Challenges and SuccessesTed Drake
 
Awesome Test Automation Made Simple w/ Dave Haeffner
Awesome Test Automation Made Simple w/ Dave HaeffnerAwesome Test Automation Made Simple w/ Dave Haeffner
Awesome Test Automation Made Simple w/ Dave HaeffnerSauce Labs
 
Story Testing Approach for Enterprise Applications using Selenium Framework
Story Testing Approach for Enterprise Applications using Selenium FrameworkStory Testing Approach for Enterprise Applications using Selenium Framework
Story Testing Approach for Enterprise Applications using Selenium FrameworkOleksiy Rezchykov
 
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)Alvaro Sanchez-Mariscal
 
Your Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at ScaleYour Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at ScaleSauce Labs
 
Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Amazon Web Services
 
How to Get Started with Cypress
How to Get Started with CypressHow to Get Started with Cypress
How to Get Started with CypressApplitools
 
Automated Acceptance Tests in .NET
Automated Acceptance Tests in .NETAutomated Acceptance Tests in .NET
Automated Acceptance Tests in .NETWyn B. Van Devanter
 
Session on Testing Activities in Continuous Integration and Delivery as an Ex...
Session on Testing Activities in Continuous Integration and Delivery as an Ex...Session on Testing Activities in Continuous Integration and Delivery as an Ex...
Session on Testing Activities in Continuous Integration and Delivery as an Ex...Agile Testing Alliance
 
Getting Started with Selenium
Getting Started with SeleniumGetting Started with Selenium
Getting Started with SeleniumDave Haeffner
 
Peer Code Review: In a Nutshell
Peer Code Review: In a NutshellPeer Code Review: In a Nutshell
Peer Code Review: In a NutshellAtlassian
 
Make the Shift from Manual to Automation with Open Source
Make the Shift from Manual to Automation with Open SourceMake the Shift from Manual to Automation with Open Source
Make the Shift from Manual to Automation with Open SourcePerfecto by Perforce
 
Continuous delivery - tools and techniques
Continuous delivery - tools and techniquesContinuous delivery - tools and techniques
Continuous delivery - tools and techniquesMike McGarr
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous DeliveryMike McGarr
 
How to Use Selenium, Successfully
How to Use Selenium, SuccessfullyHow to Use Selenium, Successfully
How to Use Selenium, SuccessfullySauce Labs
 
DevSecCon Tel Aviv 2018 - Value driven threat modeling by Avi Douglen
DevSecCon Tel Aviv 2018 - Value driven threat modeling by Avi DouglenDevSecCon Tel Aviv 2018 - Value driven threat modeling by Avi Douglen
DevSecCon Tel Aviv 2018 - Value driven threat modeling by Avi DouglenDevSecCon
 
Behat bdd training (php) course slides pdf
Behat bdd training (php) course slides pdfBehat bdd training (php) course slides pdf
Behat bdd training (php) course slides pdfseleniumbootcamp
 
DevSecCon Singapore 2018 - Remove developers’ shameful secrets or simply rem...
DevSecCon Singapore 2018 -  Remove developers’ shameful secrets or simply rem...DevSecCon Singapore 2018 -  Remove developers’ shameful secrets or simply rem...
DevSecCon Singapore 2018 - Remove developers’ shameful secrets or simply rem...DevSecCon
 
Testing for Logic App Solutions | Integration Monday
Testing for Logic App Solutions | Integration MondayTesting for Logic App Solutions | Integration Monday
Testing for Logic App Solutions | Integration MondayBizTalk360
 

Tendances (20)

Automated Testing – Web, Mobile, Desktop - Challenges and Successes
Automated Testing – Web, Mobile, Desktop - Challenges and SuccessesAutomated Testing – Web, Mobile, Desktop - Challenges and Successes
Automated Testing – Web, Mobile, Desktop - Challenges and Successes
 
Awesome Test Automation Made Simple w/ Dave Haeffner
Awesome Test Automation Made Simple w/ Dave HaeffnerAwesome Test Automation Made Simple w/ Dave Haeffner
Awesome Test Automation Made Simple w/ Dave Haeffner
 
Story Testing Approach for Enterprise Applications using Selenium Framework
Story Testing Approach for Enterprise Applications using Selenium FrameworkStory Testing Approach for Enterprise Applications using Selenium Framework
Story Testing Approach for Enterprise Applications using Selenium Framework
 
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
 
Your Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at ScaleYour Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at Scale
 
Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration Continuous Delivery, Continuous Integration
Continuous Delivery, Continuous Integration
 
How to Get Started with Cypress
How to Get Started with CypressHow to Get Started with Cypress
How to Get Started with Cypress
 
Automated Acceptance Tests in .NET
Automated Acceptance Tests in .NETAutomated Acceptance Tests in .NET
Automated Acceptance Tests in .NET
 
Session on Testing Activities in Continuous Integration and Delivery as an Ex...
Session on Testing Activities in Continuous Integration and Delivery as an Ex...Session on Testing Activities in Continuous Integration and Delivery as an Ex...
Session on Testing Activities in Continuous Integration and Delivery as an Ex...
 
Getting Started with Selenium
Getting Started with SeleniumGetting Started with Selenium
Getting Started with Selenium
 
Peer Code Review: In a Nutshell
Peer Code Review: In a NutshellPeer Code Review: In a Nutshell
Peer Code Review: In a Nutshell
 
Make the Shift from Manual to Automation with Open Source
Make the Shift from Manual to Automation with Open SourceMake the Shift from Manual to Automation with Open Source
Make the Shift from Manual to Automation with Open Source
 
Continuous delivery - tools and techniques
Continuous delivery - tools and techniquesContinuous delivery - tools and techniques
Continuous delivery - tools and techniques
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
How to Use Selenium, Successfully
How to Use Selenium, SuccessfullyHow to Use Selenium, Successfully
How to Use Selenium, Successfully
 
DevSecCon Tel Aviv 2018 - Value driven threat modeling by Avi Douglen
DevSecCon Tel Aviv 2018 - Value driven threat modeling by Avi DouglenDevSecCon Tel Aviv 2018 - Value driven threat modeling by Avi Douglen
DevSecCon Tel Aviv 2018 - Value driven threat modeling by Avi Douglen
 
Behat bdd training (php) course slides pdf
Behat bdd training (php) course slides pdfBehat bdd training (php) course slides pdf
Behat bdd training (php) course slides pdf
 
DevSecCon Singapore 2018 - Remove developers’ shameful secrets or simply rem...
DevSecCon Singapore 2018 -  Remove developers’ shameful secrets or simply rem...DevSecCon Singapore 2018 -  Remove developers’ shameful secrets or simply rem...
DevSecCon Singapore 2018 - Remove developers’ shameful secrets or simply rem...
 
Testing for Logic App Solutions | Integration Monday
Testing for Logic App Solutions | Integration MondayTesting for Logic App Solutions | Integration Monday
Testing for Logic App Solutions | Integration Monday
 
BDD for APIs
BDD for APIsBDD for APIs
BDD for APIs
 

Similaire à Three Developer Behaviors to Eliminate 85 Percent of Accessibility Defects

Mind Your lang — Accessibility Camp Toronto 2016
Mind Your lang — Accessibility Camp Toronto 2016Mind Your lang — Accessibility Camp Toronto 2016
Mind Your lang — Accessibility Camp Toronto 2016Adrian Roselli
 
HTML5, How to rethink your web strategy
HTML5, How to rethink your web strategyHTML5, How to rethink your web strategy
HTML5, How to rethink your web strategyFabernovel
 
Mind Your Lang — London Web Standards
Mind Your Lang — London Web StandardsMind Your Lang — London Web Standards
Mind Your Lang — London Web StandardsAdrian Roselli
 
Delhi student's day
Delhi student's dayDelhi student's day
Delhi student's dayAnkur Mishra
 
HTML validation, microformats, jQuery
HTML validation, microformats, jQueryHTML validation, microformats, jQuery
HTML validation, microformats, jQueryJeffrey Barke
 
LIS3353 SP12 Week 8
LIS3353 SP12 Week 8LIS3353 SP12 Week 8
LIS3353 SP12 Week 8Amanda Case
 
Web accessibility for APEX developers
Web accessibility for APEX developersWeb accessibility for APEX developers
Web accessibility for APEX developersSergei Martens
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...ijceronline
 
Chapter 2 introduction to html5
Chapter 2 introduction to html5Chapter 2 introduction to html5
Chapter 2 introduction to html5nobel mujuji
 
Publishing API documentation -- Presentation
Publishing API documentation -- PresentationPublishing API documentation -- Presentation
Publishing API documentation -- PresentationTom Johnson
 
Michael(tm) Smith: HTML5 at Web Directions South 2008
Michael(tm) Smith: HTML5 at Web Directions South 2008Michael(tm) Smith: HTML5 at Web Directions South 2008
Michael(tm) Smith: HTML5 at Web Directions South 2008Michael(tm) Smith
 

Similaire à Three Developer Behaviors to Eliminate 85 Percent of Accessibility Defects (20)

HTML standards
HTML standardsHTML standards
HTML standards
 
wt mod1.pdf
wt mod1.pdfwt mod1.pdf
wt mod1.pdf
 
Lecture 9 Professional Practices
Lecture 9 Professional PracticesLecture 9 Professional Practices
Lecture 9 Professional Practices
 
HTML 5
HTML 5HTML 5
HTML 5
 
Mind Your lang — Accessibility Camp Toronto 2016
Mind Your lang — Accessibility Camp Toronto 2016Mind Your lang — Accessibility Camp Toronto 2016
Mind Your lang — Accessibility Camp Toronto 2016
 
html5 project.pptx
html5 project.pptxhtml5 project.pptx
html5 project.pptx
 
HTML5, How to rethink your web strategy
HTML5, How to rethink your web strategyHTML5, How to rethink your web strategy
HTML5, How to rethink your web strategy
 
Mind Your Lang — London Web Standards
Mind Your Lang — London Web StandardsMind Your Lang — London Web Standards
Mind Your Lang — London Web Standards
 
Delhi student's day
Delhi student's dayDelhi student's day
Delhi student's day
 
HTML validation, microformats, jQuery
HTML validation, microformats, jQueryHTML validation, microformats, jQuery
HTML validation, microformats, jQuery
 
LIS3353 SP12 Week 8
LIS3353 SP12 Week 8LIS3353 SP12 Week 8
LIS3353 SP12 Week 8
 
Web accessibility for APEX developers
Web accessibility for APEX developersWeb accessibility for APEX developers
Web accessibility for APEX developers
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
 
Chapter 2 introduction to html5
Chapter 2 introduction to html5Chapter 2 introduction to html5
Chapter 2 introduction to html5
 
HTML.pptx
HTML.pptxHTML.pptx
HTML.pptx
 
mst_unit1.pptx
mst_unit1.pptxmst_unit1.pptx
mst_unit1.pptx
 
Module 3
Module 3Module 3
Module 3
 
Fundamentals of HTML5
Fundamentals of HTML5Fundamentals of HTML5
Fundamentals of HTML5
 
Publishing API documentation -- Presentation
Publishing API documentation -- PresentationPublishing API documentation -- Presentation
Publishing API documentation -- Presentation
 
Michael(tm) Smith: HTML5 at Web Directions South 2008
Michael(tm) Smith: HTML5 at Web Directions South 2008Michael(tm) Smith: HTML5 at Web Directions South 2008
Michael(tm) Smith: HTML5 at Web Directions South 2008
 

Plus de Sean Kelly

Accessibility Testing: Mileage May Vary
Accessibility Testing: Mileage May Vary Accessibility Testing: Mileage May Vary
Accessibility Testing: Mileage May Vary Sean Kelly
 
How WCAG helps people with cognitive impairments
How WCAG helps people with cognitive impairmentsHow WCAG helps people with cognitive impairments
How WCAG helps people with cognitive impairmentsSean Kelly
 
How WCAG helps people with cognitive impairments
How  WCAG helps people with cognitive  impairmentsHow  WCAG helps people with cognitive  impairments
How WCAG helps people with cognitive impairmentsSean Kelly
 
What to Fix-First: Accessibility Remediation Order Matters
What to Fix-First: Accessibility Remediation Order MattersWhat to Fix-First: Accessibility Remediation Order Matters
What to Fix-First: Accessibility Remediation Order MattersSean Kelly
 
Accessibility Testing: Mileage May Vary
Accessibility Testing: Mileage May VaryAccessibility Testing: Mileage May Vary
Accessibility Testing: Mileage May VarySean Kelly
 
What to Fix First? Remediation Order Matters
What to Fix First? Remediation Order Matters What to Fix First? Remediation Order Matters
What to Fix First? Remediation Order Matters Sean Kelly
 
Three Developer Behaviors to Reduce Accessibility Defects
Three Developer Behaviors to Reduce Accessibility DefectsThree Developer Behaviors to Reduce Accessibility Defects
Three Developer Behaviors to Reduce Accessibility DefectsSean Kelly
 
CSUN 2017 Success Criteria: Dependencies and Prioritization
CSUN 2017 Success Criteria: Dependencies and PrioritizationCSUN 2017 Success Criteria: Dependencies and Prioritization
CSUN 2017 Success Criteria: Dependencies and PrioritizationSean Kelly
 

Plus de Sean Kelly (8)

Accessibility Testing: Mileage May Vary
Accessibility Testing: Mileage May Vary Accessibility Testing: Mileage May Vary
Accessibility Testing: Mileage May Vary
 
How WCAG helps people with cognitive impairments
How WCAG helps people with cognitive impairmentsHow WCAG helps people with cognitive impairments
How WCAG helps people with cognitive impairments
 
How WCAG helps people with cognitive impairments
How  WCAG helps people with cognitive  impairmentsHow  WCAG helps people with cognitive  impairments
How WCAG helps people with cognitive impairments
 
What to Fix-First: Accessibility Remediation Order Matters
What to Fix-First: Accessibility Remediation Order MattersWhat to Fix-First: Accessibility Remediation Order Matters
What to Fix-First: Accessibility Remediation Order Matters
 
Accessibility Testing: Mileage May Vary
Accessibility Testing: Mileage May VaryAccessibility Testing: Mileage May Vary
Accessibility Testing: Mileage May Vary
 
What to Fix First? Remediation Order Matters
What to Fix First? Remediation Order Matters What to Fix First? Remediation Order Matters
What to Fix First? Remediation Order Matters
 
Three Developer Behaviors to Reduce Accessibility Defects
Three Developer Behaviors to Reduce Accessibility DefectsThree Developer Behaviors to Reduce Accessibility Defects
Three Developer Behaviors to Reduce Accessibility Defects
 
CSUN 2017 Success Criteria: Dependencies and Prioritization
CSUN 2017 Success Criteria: Dependencies and PrioritizationCSUN 2017 Success Criteria: Dependencies and Prioritization
CSUN 2017 Success Criteria: Dependencies and Prioritization
 

Dernier

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 

Three Developer Behaviors to Eliminate 85 Percent of Accessibility Defects

Notes de l'éditeur

  1. Sean
  2. Thomas First time at CSUN and my first time presenting. Terrible with names and faces, no official diagnosis for it, but trust me, I’m really bad so always, please feel free to approach me and (re)introduce yourself. Legally blind in one eye since birth. Early stages of glaucoma in the other.
  3. Sean
  4. Sean
  5. Sean
  6. Sean Three projects tracked over a number of months with some variation of how defects were tracked Two were already under way and did not have accessibility oversight from the start. All were created by teams with little or no accessibility experience. In each case at least 85% of the accessibility defects created were 100% preventable with these three behaviors. It is worth noting that the “bonus” behavior (screen reader testing) was not part of the 85% calculation but would have prevented some additional errors of a similarly basic nature.
  7. Thomas We want our developers to perform HTML validation.
  8. Thomas We want them to do this because it is a part of WCAG: Of the four P. O. U. R. principals, one is pretty much all about following the standards and focuses on compatibility with many platforms.
  9. Thomas We want them to do it, because HTML is “a standard” Here we’re showing definitions of “HTML” from a bunch of different sources: W3schools, dictionary.com, Wikipedia and OxfordDictionaries.com http://www.w3.org/standards/faq#std W3C publishes documents that define Web technologies. These documents follow a process designed to promote consensus, fairness, public accountability, and quality. At the end of this process, W3C publishes Recommendations, which are considered Web standards.
  10. Thomas This diagram shows a number of the various participants involved in the standard; it starts with the HTML specification, and ending with the end user. Participating in the standard, means we all promise to use it consistently. If we do, we all win. This slide shows a flow chart that starts with the HTML Specification and passes through a number of participants and products before making its way to “your users”. (One line) The HTML standard starts with the specification made by the W3C—which we can all help contribute to. Based on that standard, Browser Developers build browsers that will know what to do with the stuff in the specification. Based on the specification, Assistive Technology developers build tools know what to do with what is in the browser and the HTML specification. (Two lines) Again, we start with the HTML standard, Based on the standard, Web Developers also know how to write HTML. Web developers use standard HTML to create documents that make up their web site / application. (Three lines) So when an HTML document gets parsed by the browser, UI elements are displayed in a consistent way. Then when what is in the browser gets interpreted by the screen reader, it be presented in a consistent way as well. Finally, when it gets to the user (remember, they are the whole reason we’re doing all of this in the first place): It will meet all user’s every expectation and they will love you for it. The point is, we all need this shared understanding to help make things work as expected.
  11. Thomas The Web Accessibility Initiative’s “contract model” diagram; an image found on the “Accessible Rich Internet Applications” This is a closer look at the pieces of an HTML document that come together in the browser and how their meaning is shared with assistive technologies through the “accessibility API”.
  12. Thomas We want our stuff to work in the browsers our users use, not just the ones our developers use. We want our stuff to work in new browsers, not just the ones we have today. When a new device or browser comes out, as long as it follows standards we all agree to, it should work as expected. It’s not only about the browsers though, for accessibility, we need to take it a step further: We want our stuff to work with the assistive technologies that our users use. Browsers: Internet Explorer 11 – Microsoft Firefox – Mozilla Safari – Apple Chrome – Google Edge – Microsoft Assistive Technologies: JAWS – Freedom Scientific VoiceOver – Apple TalkBack – Google Dragon Naturally Speaking ZoomText NVDA – NV Access
  13. Thomas The term “BrAT” is our abbreviation for Browser and Assistive Technology combination.
  14. Thomas
  15. Thomas
  16. Thomas Are custom elements valid HTML? We can’t consider them valid yet the validator doesn’t know anything about the custom element; so it treats it like a SPAN. If the custom element contains a block element, it breaks.
  17. Thomas
  18. Thomas Notes: One of the worst examples I’ve ever seen of this was “title” on a custom dialog.
  19. Thomas
  20. Thomas
  21. Thomas https://validator.w3.org/docs/why.html Too hard / takes too much time The same could be said of “real” programming languages that are less forgiving. Many DEVs still take it a step further and do unit testing on their back-end code. HTML code quality needs to be a job requirement. Why not with HTML? Because web browsers are too forgiving. “It works in the browser I tested it with” That’s like saying: “This house is great as long as you’re less than four feet tall” Or: “It’s a good porch as long as only one person stands on it at a time” We want our web apps to work the same on as many devices/browsers as possible WCAG says “Robust” Many of the big-players’ pages don’t pass validation Maybe they can afford the risk Some valid HTML doesn’t work; some invalid HTML is accessible. It is more often the case where pages work more reliably in more BrATs when using standard, valid HTML The JS framework we’re using generates the HTML, they must know what they’re doing I hope that happens soon. We’ve heard “We can’t control the HTML that is being generated.” but have found this to be generally false.
  22. Thomas
  23. Thomas State and dynamic content changes example: Page with a form loads: run validation Try to submit the form with no values entered and error messages are displayed: run validation Fix all the errors so all the fields look valid: run validation again.
  24. Thomas
  25. Sean
  26. Sean Page at a time Several options with similar coverage Very different ways of displaying output Site scanning Varying capabilities and maturity levels Shop carefully! Different packages might be very different fit-wise for different organization’s environments
  27. Sean For these tools to do their best work, make sure you’ve done HTML validation first! What, more about HTML validation? Yes! One-third Different numbers that one hears usually vary from about one-fifth to just over one-third (~20-35%). Depends on how one measures and who one asks more than which tool is used. What this means: Type of issues (categorized WCAG Success Criteria, Techniques/Violations/etc. or customized checklists) vs the number of issues including multiple instances of the same issue Why this comparatively small fraction is important and useful—many issues that are automatically detected are: especially tedious or time-consuming to examine in the code Items that will be a speed bump for other testing (e.g., ARIA issues)
  28. Sean
  29. Sean
  30. Sean
  31. Sean Empathy piece—understanding how keyboard-only users navigate pages. In addition to the keyboard, voice controls or different hardware my be used. Imagine missing navigation skip links or long menus for someone using a sip-and-puff switch.
  32. Sean Also remember that we’re not just doing this for people with disabilities…
  33. Sean While one needs to be able to perform the same task with a keyboard as one does with a mouse, some variation in how tasks are performed is often acceptable. For example, with a mouse, you can highlight some text, and drag and drop it to a new place in a document. It is an acceptable keyboard-equivalent to be able to highlight some text, cut it and then paste it to its new spot. Other examples: In a pick-list Moving a floating panel or dialog
  34. Sean
  35. Sean
  36. Thomas
  37. Thomas
  38. Thomas Learn to do each of these incrementally; don’t expect developers to learn this all at once or they will be set up to fail. Name: You should be able tell what the purpose of the element is. The name doesn’t need to contain the role, because: Just like designers wouldn’t like it if you put the word “button” on every button… Role Native, semantic elements all know what their role is, it sets the expectation for how the element should behave. States / Properties Some elements include lots of important details, like “checked” or “disabled” or “has submenu” or “collapsed” Additional descriptive information Sometimes we include helpful, instructive text to an element… such as input tips and error messages on form fields. Sometimes the AT will tell you how to interact with a specific element
  39. Thomas
  40. Thomas
  41. Thomas
  42. Sean
  43. Sean