SlideShare a Scribd company logo
1 of 109
Download to read offline
Rachel Cherry
@bamadesigner

bamadesigner.com
wpcampus.org
HOW TO ENGINEER
ACCESSIBLE
WEBSITES
#heweb18 @bamadesigner
• Intro to accessibility and why it’s important
• Overview of WCAG accessibility standards
• ARIA and how to best implement for assistive technology
• How to add accessibility testing to your development workflow
• Common markup errors and how they affect users
• Easy accessibility fixes that make a big impact
This workshop will cover:
Everything from this workshop:
https://bamadesigner.com/heweb18
#heweb18 @bamadesigner
Web accessibility refers to 

the inclusive practice of 

removing barriers that prevent
interaction with, or access to,
websites by people with disabilities.
#heweb18 @bamadesigner
Data shows 1 in 5 people have a disability. 

You could be excluding 20% 

of your students (and humanity) from
access to education and information.
Why is accessibility important?
#heweb18 @bamadesigner
Indifference:
- lack of interest, concern, or sympathy. unimportance.
Ignorance:
- lack of knowledge or information
Why do we publish inaccessible websites?
#heweb18 @bamadesigner
The web, by default, is accessible.
#heweb18 @bamadesigner
The web, by default, is accessible.
If your web site is inaccessible,
its because you made it that way.
#heweb18 @bamadesigner
Accessibility is not add-on functionality.
#heweb18 @bamadesigner
Accessibility is an inclusive practice 

which creates a high quality UX for all.
#heweb18 @bamadesigner
Accessibility is:
#heweb18 @bamadesigner
Accessibility is:
understanding diverse needs
VISUAL HEARING
MOTOR COGNITIVE
Deafness and hard-of-hearingBlindness, low vision, 

color-blindness
Inability to use a mouse, 

slow response time, 

limited fine motor control
Learning disabilities,
inability to remember or
focus on large amounts
of information
Everyone uses technology

DIFFERENTLY.
#heweb18
#heweb18 @bamadesigner
Accessibility is:
understanding diverse needs
thoughtful design/UX
#heweb18 @bamadesigner
To provide accessible technology, 

we have to consider diverse
needs during every step of a
project.
#heweb18 @bamadesigner
Working together during every step:
PLANNING CONTENT
DESIGN (UI/UX) ENGINEERING
MAINTENANCE
DEAN DECIDES THEY 

WANT A SLIDER
#heweb18 @bamadesigner
Much easier and cheaper 

to design for (and maintain)
accessibility during your project
than to handle after the fact.
#heweb18 @bamadesigner
Accessibility is:
understanding diverse needs
thoughtful design/UX
building with valid markup
#heweb18 @bamadesigner
• Study how the web works
• Learn web standards, valid HTML
• Learn WCAG, find accessibility courses
Will help you understand common barriers,

which will help you unlearn poor practices
Most important for engineers?
Education
Quality

Assurance
#heweb18 @bamadesigner
• Use tools to validate HTML markup
• Test for keyboard only, screen readers, etc.
• User testing is better than software
•Test constantly while in development
•Test often once its published
Most important steps for engineers?
Education
Quality

Assurance
#heweb18 @bamadesigner
Accessibility is:
understanding diverse needs
thoughtful design/UX
building with valid markup
<body>
<h1>How to engineer accessible websites</h1>
<p>When your website is accessible, everyone can consume your information
freely. Visually-impaired users can visit your website using a screen reader.</p>
<h3>This workshop will cover:</h3>
<ul>
<li>Intro to accessibility, universal design, and why it’s important</li>
<li>Overview of WCAG accessibility standards</li>
</ul>
</body>
<body>
<h1>How to engineer accessible websites</h1>
<p>When your website is accessible, everyone can consume your information
freely. Visually-impaired users can visit your website using a screen reader.</p>
<h2>This workshop will cover:</h2>
<ul>
<li>Intro to accessibility, universal design, and why it’s important</li>
<li>Overview of WCAG accessibility standards</li>
</ul>
</body>
• Web accessibility is more prominent in higher education 

because the only laws that exist are for
organizations that receive federal funding.
Legal implications
The only laws that exist are for
organizations that receive federal funding.
Requires all electronic and information technology developed,
procured, maintained, or used by federal agencies to be accessible.
• Including computer hardware and software, websites, phone
systems, and copiers.
• From 2000 to 2018, Section 508 had its own standards.
Federal law: Section 508
As of January 2018, Section 508 said “nevermind” and
declared that websites have to meet WCAG 2.0 AA.
• Much less confusing!
Federal law: Section 508
Do universities get sued?
Other businesses and organizations are not required by law,
but still receive civil suits. To name a few:
What about other businesses?
• Web Accessibility Laws & Policies
• https://www.w3.org/WAI/policies/
• Introduction to Laws Throughout the World
• https://webaim.org/articles/laws/world/
What about other countries?
The Web Content Accessibility Guidelines (WCAG) are
published by the Web Accessibility Initiative (WAI) of the
World Wide Web Consortium (W3C).
• WCAG has 3 levels: A, AA, and AAA
• WCAG version 2.0 AA is the industry standard
• Version 2.0 was published in December 2008
• WCAG released version 2.1 in June 2018
Web accessibility standards:
WCAG 2.0 Quick Reference

https://www.w3.org/WAI/WCAG20/quickref/
Walks you through techniques and failures!
WCAG 2.0 Checklists:

• http://webaim.org/standards/wcag/checklist
• https://a11yproject.com/checklist
• https://www.wuhcag.com/wcag-checklist/
• Create your own!
#heweb18 @bamadesigner
The four principles of accessibility:
• Perceivable
• Operable
• Understandable
• Robust
#heweb18 @bamadesigner
Perceivable:
Information (and user interface components) 

must be presentable to users in ways they can perceive.
Must be available to the senses either through the
browser or through assistive technologies (e.g. screen
readers, screen enlargers, etc.)
Perceivable:
•Provide text alternatives for non-text content,
like images, video, and audio
•Offer captions, transcripts, and audio
descriptions for audio and video
•Design content to be easy to read and listened
to, e.g. good contrast, volume control
#heweb18 @bamadesigner
Operable:
User interface components and navigation cannot
require interaction that a user cannot perform.
Users can interact with all functionality using either the
mouse, keyboard, or an assistive device.
Operable:
•All functionality should be available using a keyboard
•There should be enough time to read content and
perform functionality
•Avoid designing content that might cause seizures
•Help users navigate and find content
#heweb18 @bamadesigner
Understandable:
Users must be able to understand the information
as well as the operation of the user interface.
Content is clear and limits confusion and ambiguity.

#heweb18 @bamadesigner
•Write easy-to-read text with assistive technologies in mind
•Design content and the interface to behave in 

predictable ways
•Help users to avoid and correct mistakes when 

entering input
Understandable:
Robust:
Content must be robust enough that it can be
interpreted reliably by as many web browsers and
agents as possible, including assistive technologies.
Users must be able to access the content as
technologies advance.
Pages without proper heading structure/order
• Are your headers in order? h1, h2, h3, etc.
• Allows content to be readable without a stylesheet,
for those who do not navigate visually.
Common website barriers:
Non-text content without a text equivalent
• Provide alt attributes or captions for images
• Provide captions and audio descriptions for videos
• Provide transcripts for audio recordings
Common website barriers:
Without alternative text, life-saving information in this 

graphic is not available to visually impaired users.
.screen-reader-text {

clip: rect(1px, 1px, 1px, 1px);
clip-path: polygon(0 0, 0 0, 0 0, 0 0);
position: absolute !important;
white-space: nowrap;
height: 1px;
width: 1px;
overflow: hidden;
}
How to hide content visually:
The point of providing a text
equivalent is to convey the same
information and context as people 

who can see the image.
DO NOT: Simply write “red car”.
DO: Ask yourself “why is this picture 

of a red car on the page?
PRO TIP for writing image alt text:
Being unable to access functionality by keyboard
• Can you access all actions, functionality and content?
• Can you open “popups”, interact with them, close them?
• Does any functionality have keyboard trap?
Common website barriers:
Unable to visually determine if an element has focus
• If someone is navigating your site by keyboard, 

could they determine where they are on the page?
• Could they determine which form field has focus?
• Could they determine if a button can be pressed?
Common website barriers:
NEVER: Remove :focus CSS styles
EASY FIX: 

Search your CSS for usage of :hover.
Test those elements on your site and
make sure there are equivalent :focus
styles.
PRO TIP to ensure element focus:
PRO TIP to ensure element focus:
button {
background-color: #d8d8d8;
color: #222;
&:focus,
&:hover {
background: #222;
color: #fff;
}
}
Unable to skip large blocks of repeatable content
• The most common barriers for guests are having to tab
through the header and menu on every page.
• Do you use ARIA to help label sections of your page?
Common website barriers:
<a id=“skip” href="#content">Skip to Main Content</a>
#skip {
position: absolute;
left: -10000px;
top: auto;
width: 1px;
height: 1px;
overflow: hidden;
}
#skip:focus {
position: static;
width: auto;
height: auto;
}
How to provide “Skip to content”:
Actions without defined purpose or context
• Do your actions (links and buttons) provide clear context
about what’s going to happen? Never use “click here”.
• Is the HTML markup for your actions valid?
• Are you using a link when you should be using a button?
Common website barriers:
Using color to convey information / insufficient contrast
• Is there clear contrast between the color of your text 

and its background color? Minimum: 4.5:1
• If a guest is color blind, would they have the same
experience as any other guest?
Common website barriers:
Web accessibility means that
people with disabilities can
perceive, understand, navigate,
interact with, and contribute to
the Web.
If color is the only method for conveying a link:
The link is invisible to those who can’t see blue:
Web accessibility means that
people with disabilities can
perceive, understand, navigate,
interact with, and contribute to
the Web.
Web accessibility means that
people with disabilities can
perceive, understand, navigate,
interact with, and contribute to
the Web.
If a different color AND an underline is used:
Then the link would become visible:
Web accessibility means that
people with disabilities can
perceive, understand, navigate,
interact with, and contribute to
the Web.
While not an official standard,
responsive web design is important
to ensure your site can be viewed on
assistive devices of various sizes.
Other considerations:
Another important consideration is
download speeds/order to ensure
access to those who don’t have
access to high speed Internet.
Other considerations:
Be mindful of your language. Avoid
sentences like “See our home page for 

more information”. Use non-sensory language
instead, e.g. “Visit our home page”.
Other considerations:
<body>
<h1>How to engineer accessible websites</h1>
<p>When your website is accessible, everyone can consume
your information freely.</p>
<frame src=“ad.html" style="border:none;"></frame>
</body>
<body>
<h1>How to engineer accessible websites</h1>
<p>When your website is accessible, everyone can consume
your information freely.</p>
<iframe src=“ad.html" style="border:none;"></iframe>
</body>
<body>
<h1>How to engineer accessible websites</h1>
<p>When your website is accessible, everyone can consume
your information freely.</p>
<iframe src=“ad.html" style=“border:none;" 

title=“Advertisement”></iframe>
</body>
CHALLENGE!
It’s time for a good ole’ fashioned
#heweb18 #youbetterwork
1.Open your web pages
2.Navigate to every action element on the page
3.Interact with all functionality on the page
4.BUT YOU CAN’T USE YOUR MOUSE
5.Document any issues.
Challenge #1
#heweb18 @bamadesigner
Spec created to improve accessibility
of applications by providing extra
information to screen readers via
HTML attributes.
ARIA (Accessible Rich Internet Applications)
#heweb18 @bamadesigner
Defines what an element is or does.
Main features in ARIA: Roles
•role=“navigation” (<nav>)
•role=“complementary” (<aside>)
•role=“banner”
•role=“search”
•role=“tabgroup"
#heweb18 @bamadesigner
<form role=“search”></form>
Main features in ARIA: Roles
#heweb18 @bamadesigner
Define properties of elements, which can be
used to give them extra meaning or semantics.
Main features in ARIA: Properties
• aria-required=“true"
• aria-labelledby=“label"
• aria-current=“page”
#heweb18 @bamadesigner
ARIA can add extra labels and descriptive text that 

is only exposed to assistive technology APIs.
<button aria-label=“Confirm your membership">Confirm</button>
Main features in ARIA: Properties
#heweb18 @bamadesigner
Special properties that define the current
conditions of elements.
3 main features in ARIA: States
• aria-hidden=“true"
• aria-disabled=“true”
• aria-live=“true"
#heweb18 @bamadesigner
ARIA can make parts of your page "live", so they
inform assistive technology when they change.
<div aria-live="true">
  <p>I’m a live feed of alerts for an event that 

needs to update every 30 seconds.
</div>
3 main features in ARIA: States
ARIA example:
<div role="contentinfo">
<p>HighEdWeb 2018 is the annual conference of the Higher Education
Web Professionals Association, created by and for higher education
professionals exploring the unique digital issues facing colleges and
universities.</p>
</div>
<div role="alert">
<p>It’s a day ending in “y” so the weather is beautiful outside.</p>
</div>
<body>
<h1>How to engineer accessible websites</h1>
<p>When your website is accessible, everyone can consume
your information freely.</p>
<iframe src=“analytics.html” title=“Analytics” 

aria-hidden=“true”></iframe>
</body>
an accessibility evaluation tool from WebAIM
http://wave.webaim.org
• Free in-browser testing
• Free Chrome extension
• Premium API
TESTS FOR: WCAG 2.0 A/AA
an accessibility visualization toolkit
http://khan.github.io/tota11y
• Alt text and confusing link text
• Color contrast
• Heading structure
• Form labels
• ARIA landmarks
TESTS FOR:
• Javascript file that
places button on site
• Free Chrome
extension
client-side script that checks HTML source code
and detects violations of a defined coding standard
http://squizlabs.github.io/HTML_CodeSniffer
• Copy/paste code for quick testing
• Free bookmarklet for in-browser testing
TESTS FOR: WCAG 2.0 A/AA/AAA
an automated accessibility testing library
http://pa11y.org
• WCAG 2.0 A/AA/AAA
TESTS FOR:
• Web dashboard
• JSON web service
• Command line
PROVIDES:
Javascript library that executes automated accessibility
testing inside your testing framework or browser of choice
http://www.deque.com/products/axe
• Free Javascript library
• Free Chrome extension
Material Design:

Color Tool
https://material.io/color/
Allows you to measure 

the accessibility level of 

any color combination.
wA11y - The Web Accessibility Toolbox

https://wordpress.org/plugins/wa11y/
WORDPRESS PLUGINS
WORDPRESS PLUGINS
BROWSER TOOLS
BROWSER TOOLS
BROWSER TOOLS
Take advantage of 

in-browser testing tools to
evaluate product demos
before you purchase.
ACCESSIBILITY PRO TIP:
#heweb18
1.Open https://bamadesigner.com/heweb18
2.Install at least 2 different tools
3.Use them to test your web pages
4.Document common and surprising issues
Challenge #2
1.Fix at least one accessibility issue.
2.Add at least one ARIA role, property, and state.
Challenge #3
So what’s required 

to engineer accessible
websites?
#a11y
#1:

Learn/follow web standards.
Learn/follow WCAG.
#a11y
#2:

Understand user needs
and common barriers.
#a11y
#3:

Use valid HTML markup.
#a11y
#4:

Learn/use ARIA to fill gaps.
#a11y
#5:

Test constantly while building.
Test often once published.
#a11y
#6:

Priority on user testing.
#a11y
#heweb18 @bamadesigner
When you plan for accessibility,
YOU WON’T WORK HARDER.
YOU’LL WORK SMARTER.
Everything from this workshop:
https://bamadesigner.com/heweb18
A community and conference for web
professionals, educators and people
dedicated to the confluence of
WordPress in higher education.
https://wpcampus.org

@wpcampusorg / #WPCampus
I HAVE
SWAG!
ANY
QUESTIONS?
#heweb18
Rachel Cherry
@bamadesigner

bamadesigner.com
wpcampus.org

More Related Content

What's hot

Household Insurance Sector Spotlight webinar April 2014
Household Insurance Sector Spotlight webinar April 2014Household Insurance Sector Spotlight webinar April 2014
Household Insurance Sector Spotlight webinar April 2014
AbilityNet
 
Getting Started With Web Accessibility
Getting Started With Web AccessibilityGetting Started With Web Accessibility
Getting Started With Web Accessibility
Sean Yo
 

What's hot (20)

Inclusive design: real accessibility for everyone
Inclusive design: real accessibility for everyoneInclusive design: real accessibility for everyone
Inclusive design: real accessibility for everyone
 
Web accessibility testing methodologies, tools and tips
Web accessibility testing methodologies, tools and tipsWeb accessibility testing methodologies, tools and tips
Web accessibility testing methodologies, tools and tips
 
WordPress and Web Accessibility - 2013
WordPress and Web Accessibility - 2013WordPress and Web Accessibility - 2013
WordPress and Web Accessibility - 2013
 
The power of accessibility (November, 2018)
The power of accessibility (November, 2018)The power of accessibility (November, 2018)
The power of accessibility (November, 2018)
 
Quick Web Accessibility - Sensory Therapy Gardens Manual
Quick Web Accessibility - Sensory Therapy Gardens ManualQuick Web Accessibility - Sensory Therapy Gardens Manual
Quick Web Accessibility - Sensory Therapy Gardens Manual
 
Web Accessibility Testing With Axe
Web Accessibility Testing With AxeWeb Accessibility Testing With Axe
Web Accessibility Testing With Axe
 
A11y presentation-2017
A11y presentation-2017A11y presentation-2017
A11y presentation-2017
 
Practical First Steps for Achieving Web Accessibility and Avoiding Liability
Practical First Steps for Achieving Web Accessibility and Avoiding Liability Practical First Steps for Achieving Web Accessibility and Avoiding Liability
Practical First Steps for Achieving Web Accessibility and Avoiding Liability
 
Responsive Design Overview for UB CIT
Responsive Design Overview for UB CITResponsive Design Overview for UB CIT
Responsive Design Overview for UB CIT
 
Web Accessibility: Showing your users you care
Web Accessibility: Showing your users you careWeb Accessibility: Showing your users you care
Web Accessibility: Showing your users you care
 
Building websites for all
Building websites for allBuilding websites for all
Building websites for all
 
How to run accessible online meetings - AbilityNet Live event, April 2020
How to run accessible online meetings - AbilityNet Live event, April 2020How to run accessible online meetings - AbilityNet Live event, April 2020
How to run accessible online meetings - AbilityNet Live event, April 2020
 
Household Insurance Sector Spotlight webinar April 2014
Household Insurance Sector Spotlight webinar April 2014Household Insurance Sector Spotlight webinar April 2014
Household Insurance Sector Spotlight webinar April 2014
 
Plan For Accessibility - TODCon 2008
Plan For Accessibility - TODCon 2008Plan For Accessibility - TODCon 2008
Plan For Accessibility - TODCon 2008
 
ARIA Techniques for Accessible Web Forms
ARIA Techniques for Accessible Web FormsARIA Techniques for Accessible Web Forms
ARIA Techniques for Accessible Web Forms
 
Accessibility patterns testable requirements during early design
Accessibility patterns testable requirements during early designAccessibility patterns testable requirements during early design
Accessibility patterns testable requirements during early design
 
Responsive Web Design - more than just a buzzword
Responsive Web Design - more than just a buzzwordResponsive Web Design - more than just a buzzword
Responsive Web Design - more than just a buzzword
 
Getting Started With Web Accessibility
Getting Started With Web AccessibilityGetting Started With Web Accessibility
Getting Started With Web Accessibility
 
Early prevention of accessibility issues with mockup & wireframe reviews
Early prevention of accessibility issues with mockup & wireframe reviewsEarly prevention of accessibility issues with mockup & wireframe reviews
Early prevention of accessibility issues with mockup & wireframe reviews
 
Accessibility, SEO and Joomla
Accessibility, SEO and JoomlaAccessibility, SEO and Joomla
Accessibility, SEO and Joomla
 

Similar to How to engineer accessible websites

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
 
Twin Redheaded Stepchildren of a Different Mother: The Usability of Accessibi...
Twin Redheaded Stepchildren of a Different Mother: The Usability of Accessibi...Twin Redheaded Stepchildren of a Different Mother: The Usability of Accessibi...
Twin Redheaded Stepchildren of a Different Mother: The Usability of Accessibi...
Dylan Wilbanks
 

Similar to How to engineer accessible websites (20)

Marketing Without Barriers: Considering Digital Accessibility for Customers a...
Marketing Without Barriers: Considering Digital Accessibility for Customers a...Marketing Without Barriers: Considering Digital Accessibility for Customers a...
Marketing Without Barriers: Considering Digital Accessibility for Customers a...
 
How to create accessible websites - WordCamp Boston
How to create accessible websites - WordCamp BostonHow to create accessible websites - WordCamp Boston
How to create accessible websites - WordCamp Boston
 
Understanding and Supporting Web Accessibility
Understanding and Supporting Web AccessibilityUnderstanding and Supporting Web Accessibility
Understanding and Supporting Web Accessibility
 
Tools And Techniques For Evaluating Accessibility
Tools And Techniques For Evaluating AccessibilityTools And Techniques For Evaluating Accessibility
Tools And Techniques For Evaluating Accessibility
 
Accessibility And 508 Compliance In 2009
Accessibility And 508 Compliance In 2009Accessibility And 508 Compliance In 2009
Accessibility And 508 Compliance In 2009
 
Accessible Web Design
Accessible Web DesignAccessible Web Design
Accessible Web Design
 
Accessibility for Fun and Profit
Accessibility for Fun and ProfitAccessibility for Fun and Profit
Accessibility for Fun and Profit
 
Do you have a website? Do you want to get sued?
Do you have a website?  Do you want to get sued?Do you have a website?  Do you want to get sued?
Do you have a website? Do you want to get sued?
 
Website Accessibility Workshop
Website Accessibility WorkshopWebsite Accessibility Workshop
Website Accessibility Workshop
 
What’s Next with Accessibility?
What’s Next with Accessibility?What’s Next with Accessibility?
What’s Next with Accessibility?
 
Web accessibility webinar 53017
Web accessibility webinar 53017Web accessibility webinar 53017
Web accessibility webinar 53017
 
Web Content Accessibility Guidelines
Web Content Accessibility GuidelinesWeb Content Accessibility Guidelines
Web Content Accessibility Guidelines
 
Accessible thinking in your IA
Accessible thinking in your IAAccessible thinking in your IA
Accessible thinking in your IA
 
Build Accessibly - Community Day 2012
Build Accessibly - Community Day 2012Build Accessibly - Community Day 2012
Build Accessibly - Community Day 2012
 
ATAGTR2017 SPEAKING EYE for differently abled people to see the web content
ATAGTR2017 SPEAKING EYE for differently abled people to see the web contentATAGTR2017 SPEAKING EYE for differently abled people to see the web content
ATAGTR2017 SPEAKING EYE for differently abled people to see the web content
 
Introduction web tech
Introduction web techIntroduction web tech
Introduction web tech
 
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
 
Tear Down This Wall! Removing Boundaries to Create an Accessible Website
Tear Down This Wall! Removing Boundaries to Create an Accessible WebsiteTear Down This Wall! Removing Boundaries to Create an Accessible Website
Tear Down This Wall! Removing Boundaries to Create an Accessible Website
 
Web Accessibility Overview
Web Accessibility OverviewWeb Accessibility Overview
Web Accessibility Overview
 
Twin Redheaded Stepchildren of a Different Mother: The Usability of Accessibi...
Twin Redheaded Stepchildren of a Different Mother: The Usability of Accessibi...Twin Redheaded Stepchildren of a Different Mother: The Usability of Accessibi...
Twin Redheaded Stepchildren of a Different Mother: The Usability of Accessibi...
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
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
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

How to engineer accessible websites

  • 2. #heweb18 @bamadesigner • Intro to accessibility and why it’s important • Overview of WCAG accessibility standards • ARIA and how to best implement for assistive technology • How to add accessibility testing to your development workflow • Common markup errors and how they affect users • Easy accessibility fixes that make a big impact This workshop will cover:
  • 3. Everything from this workshop: https://bamadesigner.com/heweb18
  • 4. #heweb18 @bamadesigner Web accessibility refers to 
 the inclusive practice of 
 removing barriers that prevent interaction with, or access to, websites by people with disabilities.
  • 5. #heweb18 @bamadesigner Data shows 1 in 5 people have a disability. 
 You could be excluding 20% 
 of your students (and humanity) from access to education and information. Why is accessibility important?
  • 6. #heweb18 @bamadesigner Indifference: - lack of interest, concern, or sympathy. unimportance. Ignorance: - lack of knowledge or information Why do we publish inaccessible websites?
  • 7. #heweb18 @bamadesigner The web, by default, is accessible.
  • 8.
  • 9. #heweb18 @bamadesigner The web, by default, is accessible. If your web site is inaccessible, its because you made it that way.
  • 10.
  • 11. #heweb18 @bamadesigner Accessibility is not add-on functionality.
  • 12. #heweb18 @bamadesigner Accessibility is an inclusive practice 
 which creates a high quality UX for all.
  • 15. VISUAL HEARING MOTOR COGNITIVE Deafness and hard-of-hearingBlindness, low vision, 
 color-blindness Inability to use a mouse, 
 slow response time, 
 limited fine motor control Learning disabilities, inability to remember or focus on large amounts of information
  • 17. #heweb18 @bamadesigner Accessibility is: understanding diverse needs thoughtful design/UX
  • 18. #heweb18 @bamadesigner To provide accessible technology, 
 we have to consider diverse needs during every step of a project.
  • 19. #heweb18 @bamadesigner Working together during every step: PLANNING CONTENT DESIGN (UI/UX) ENGINEERING MAINTENANCE DEAN DECIDES THEY 
 WANT A SLIDER
  • 20.
  • 21.
  • 22. #heweb18 @bamadesigner Much easier and cheaper 
 to design for (and maintain) accessibility during your project than to handle after the fact.
  • 23. #heweb18 @bamadesigner Accessibility is: understanding diverse needs thoughtful design/UX building with valid markup
  • 24. #heweb18 @bamadesigner • Study how the web works • Learn web standards, valid HTML • Learn WCAG, find accessibility courses Will help you understand common barriers,
 which will help you unlearn poor practices Most important for engineers? Education Quality
 Assurance
  • 25. #heweb18 @bamadesigner • Use tools to validate HTML markup • Test for keyboard only, screen readers, etc. • User testing is better than software •Test constantly while in development •Test often once its published Most important steps for engineers? Education Quality
 Assurance
  • 26. #heweb18 @bamadesigner Accessibility is: understanding diverse needs thoughtful design/UX building with valid markup
  • 27.
  • 28. <body> <h1>How to engineer accessible websites</h1> <p>When your website is accessible, everyone can consume your information freely. Visually-impaired users can visit your website using a screen reader.</p> <h3>This workshop will cover:</h3> <ul> <li>Intro to accessibility, universal design, and why it’s important</li> <li>Overview of WCAG accessibility standards</li> </ul> </body>
  • 29. <body> <h1>How to engineer accessible websites</h1> <p>When your website is accessible, everyone can consume your information freely. Visually-impaired users can visit your website using a screen reader.</p> <h2>This workshop will cover:</h2> <ul> <li>Intro to accessibility, universal design, and why it’s important</li> <li>Overview of WCAG accessibility standards</li> </ul> </body>
  • 30. • Web accessibility is more prominent in higher education 
 because the only laws that exist are for organizations that receive federal funding. Legal implications
  • 31. The only laws that exist are for organizations that receive federal funding.
  • 32. Requires all electronic and information technology developed, procured, maintained, or used by federal agencies to be accessible. • Including computer hardware and software, websites, phone systems, and copiers. • From 2000 to 2018, Section 508 had its own standards. Federal law: Section 508
  • 33. As of January 2018, Section 508 said “nevermind” and declared that websites have to meet WCAG 2.0 AA. • Much less confusing! Federal law: Section 508
  • 35. Other businesses and organizations are not required by law, but still receive civil suits. To name a few: What about other businesses?
  • 36. • Web Accessibility Laws & Policies • https://www.w3.org/WAI/policies/ • Introduction to Laws Throughout the World • https://webaim.org/articles/laws/world/ What about other countries?
  • 37. The Web Content Accessibility Guidelines (WCAG) are published by the Web Accessibility Initiative (WAI) of the World Wide Web Consortium (W3C). • WCAG has 3 levels: A, AA, and AAA • WCAG version 2.0 AA is the industry standard • Version 2.0 was published in December 2008 • WCAG released version 2.1 in June 2018 Web accessibility standards:
  • 38. WCAG 2.0 Quick Reference https://www.w3.org/WAI/WCAG20/quickref/ Walks you through techniques and failures!
  • 39.
  • 40. WCAG 2.0 Checklists: • http://webaim.org/standards/wcag/checklist • https://a11yproject.com/checklist • https://www.wuhcag.com/wcag-checklist/ • Create your own!
  • 41. #heweb18 @bamadesigner The four principles of accessibility: • Perceivable • Operable • Understandable • Robust
  • 42. #heweb18 @bamadesigner Perceivable: Information (and user interface components) 
 must be presentable to users in ways they can perceive. Must be available to the senses either through the browser or through assistive technologies (e.g. screen readers, screen enlargers, etc.)
  • 43. Perceivable: •Provide text alternatives for non-text content, like images, video, and audio •Offer captions, transcripts, and audio descriptions for audio and video •Design content to be easy to read and listened to, e.g. good contrast, volume control
  • 44. #heweb18 @bamadesigner Operable: User interface components and navigation cannot require interaction that a user cannot perform. Users can interact with all functionality using either the mouse, keyboard, or an assistive device.
  • 45. Operable: •All functionality should be available using a keyboard •There should be enough time to read content and perform functionality •Avoid designing content that might cause seizures •Help users navigate and find content
  • 46. #heweb18 @bamadesigner Understandable: Users must be able to understand the information as well as the operation of the user interface. Content is clear and limits confusion and ambiguity.

  • 47. #heweb18 @bamadesigner •Write easy-to-read text with assistive technologies in mind •Design content and the interface to behave in 
 predictable ways •Help users to avoid and correct mistakes when 
 entering input Understandable:
  • 48. Robust: Content must be robust enough that it can be interpreted reliably by as many web browsers and agents as possible, including assistive technologies. Users must be able to access the content as technologies advance.
  • 49. Pages without proper heading structure/order • Are your headers in order? h1, h2, h3, etc. • Allows content to be readable without a stylesheet, for those who do not navigate visually. Common website barriers:
  • 50. Non-text content without a text equivalent • Provide alt attributes or captions for images • Provide captions and audio descriptions for videos • Provide transcripts for audio recordings Common website barriers:
  • 51. Without alternative text, life-saving information in this 
 graphic is not available to visually impaired users.
  • 52. .screen-reader-text {
 clip: rect(1px, 1px, 1px, 1px); clip-path: polygon(0 0, 0 0, 0 0, 0 0); position: absolute !important; white-space: nowrap; height: 1px; width: 1px; overflow: hidden; } How to hide content visually:
  • 53. The point of providing a text equivalent is to convey the same information and context as people 
 who can see the image. DO NOT: Simply write “red car”. DO: Ask yourself “why is this picture 
 of a red car on the page? PRO TIP for writing image alt text:
  • 54. Being unable to access functionality by keyboard • Can you access all actions, functionality and content? • Can you open “popups”, interact with them, close them? • Does any functionality have keyboard trap? Common website barriers:
  • 55. Unable to visually determine if an element has focus • If someone is navigating your site by keyboard, 
 could they determine where they are on the page? • Could they determine which form field has focus? • Could they determine if a button can be pressed? Common website barriers:
  • 56. NEVER: Remove :focus CSS styles EASY FIX: 
 Search your CSS for usage of :hover. Test those elements on your site and make sure there are equivalent :focus styles. PRO TIP to ensure element focus:
  • 57. PRO TIP to ensure element focus: button { background-color: #d8d8d8; color: #222; &:focus, &:hover { background: #222; color: #fff; } }
  • 58. Unable to skip large blocks of repeatable content • The most common barriers for guests are having to tab through the header and menu on every page. • Do you use ARIA to help label sections of your page? Common website barriers:
  • 59. <a id=“skip” href="#content">Skip to Main Content</a> #skip { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; } #skip:focus { position: static; width: auto; height: auto; } How to provide “Skip to content”:
  • 60. Actions without defined purpose or context • Do your actions (links and buttons) provide clear context about what’s going to happen? Never use “click here”. • Is the HTML markup for your actions valid? • Are you using a link when you should be using a button? Common website barriers:
  • 61. Using color to convey information / insufficient contrast • Is there clear contrast between the color of your text 
 and its background color? Minimum: 4.5:1 • If a guest is color blind, would they have the same experience as any other guest? Common website barriers:
  • 62. Web accessibility means that people with disabilities can perceive, understand, navigate, interact with, and contribute to the Web. If color is the only method for conveying a link:
  • 63. The link is invisible to those who can’t see blue: Web accessibility means that people with disabilities can perceive, understand, navigate, interact with, and contribute to the Web.
  • 64. Web accessibility means that people with disabilities can perceive, understand, navigate, interact with, and contribute to the Web. If a different color AND an underline is used:
  • 65. Then the link would become visible: Web accessibility means that people with disabilities can perceive, understand, navigate, interact with, and contribute to the Web.
  • 66. While not an official standard, responsive web design is important to ensure your site can be viewed on assistive devices of various sizes. Other considerations:
  • 67. Another important consideration is download speeds/order to ensure access to those who don’t have access to high speed Internet. Other considerations:
  • 68. Be mindful of your language. Avoid sentences like “See our home page for 
 more information”. Use non-sensory language instead, e.g. “Visit our home page”. Other considerations:
  • 69.
  • 70. <body> <h1>How to engineer accessible websites</h1> <p>When your website is accessible, everyone can consume your information freely.</p> <frame src=“ad.html" style="border:none;"></frame> </body>
  • 71. <body> <h1>How to engineer accessible websites</h1> <p>When your website is accessible, everyone can consume your information freely.</p> <iframe src=“ad.html" style="border:none;"></iframe> </body>
  • 72. <body> <h1>How to engineer accessible websites</h1> <p>When your website is accessible, everyone can consume your information freely.</p> <iframe src=“ad.html" style=“border:none;" 
 title=“Advertisement”></iframe> </body>
  • 73. CHALLENGE! It’s time for a good ole’ fashioned #heweb18 #youbetterwork
  • 74. 1.Open your web pages 2.Navigate to every action element on the page 3.Interact with all functionality on the page 4.BUT YOU CAN’T USE YOUR MOUSE 5.Document any issues. Challenge #1
  • 75.
  • 76. #heweb18 @bamadesigner Spec created to improve accessibility of applications by providing extra information to screen readers via HTML attributes. ARIA (Accessible Rich Internet Applications)
  • 77. #heweb18 @bamadesigner Defines what an element is or does. Main features in ARIA: Roles •role=“navigation” (<nav>) •role=“complementary” (<aside>) •role=“banner” •role=“search” •role=“tabgroup"
  • 79. #heweb18 @bamadesigner Define properties of elements, which can be used to give them extra meaning or semantics. Main features in ARIA: Properties • aria-required=“true" • aria-labelledby=“label" • aria-current=“page”
  • 80. #heweb18 @bamadesigner ARIA can add extra labels and descriptive text that 
 is only exposed to assistive technology APIs. <button aria-label=“Confirm your membership">Confirm</button> Main features in ARIA: Properties
  • 81. #heweb18 @bamadesigner Special properties that define the current conditions of elements. 3 main features in ARIA: States • aria-hidden=“true" • aria-disabled=“true” • aria-live=“true"
  • 82. #heweb18 @bamadesigner ARIA can make parts of your page "live", so they inform assistive technology when they change. <div aria-live="true">   <p>I’m a live feed of alerts for an event that 
 needs to update every 30 seconds. </div> 3 main features in ARIA: States
  • 83. ARIA example: <div role="contentinfo"> <p>HighEdWeb 2018 is the annual conference of the Higher Education Web Professionals Association, created by and for higher education professionals exploring the unique digital issues facing colleges and universities.</p> </div> <div role="alert"> <p>It’s a day ending in “y” so the weather is beautiful outside.</p> </div>
  • 84. <body> <h1>How to engineer accessible websites</h1> <p>When your website is accessible, everyone can consume your information freely.</p> <iframe src=“analytics.html” title=“Analytics” 
 aria-hidden=“true”></iframe> </body>
  • 85. an accessibility evaluation tool from WebAIM http://wave.webaim.org • Free in-browser testing • Free Chrome extension • Premium API TESTS FOR: WCAG 2.0 A/AA
  • 86. an accessibility visualization toolkit http://khan.github.io/tota11y • Alt text and confusing link text • Color contrast • Heading structure • Form labels • ARIA landmarks TESTS FOR: • Javascript file that places button on site • Free Chrome extension
  • 87. client-side script that checks HTML source code and detects violations of a defined coding standard http://squizlabs.github.io/HTML_CodeSniffer • Copy/paste code for quick testing • Free bookmarklet for in-browser testing TESTS FOR: WCAG 2.0 A/AA/AAA
  • 88. an automated accessibility testing library http://pa11y.org • WCAG 2.0 A/AA/AAA TESTS FOR: • Web dashboard • JSON web service • Command line PROVIDES:
  • 89. Javascript library that executes automated accessibility testing inside your testing framework or browser of choice http://www.deque.com/products/axe • Free Javascript library • Free Chrome extension
  • 90. Material Design:
 Color Tool https://material.io/color/ Allows you to measure 
 the accessibility level of 
 any color combination.
  • 91. wA11y - The Web Accessibility Toolbox
 https://wordpress.org/plugins/wa11y/ WORDPRESS PLUGINS
  • 96. Take advantage of 
 in-browser testing tools to evaluate product demos before you purchase. ACCESSIBILITY PRO TIP: #heweb18
  • 97. 1.Open https://bamadesigner.com/heweb18 2.Install at least 2 different tools 3.Use them to test your web pages 4.Document common and surprising issues Challenge #2
  • 98. 1.Fix at least one accessibility issue. 2.Add at least one ARIA role, property, and state. Challenge #3
  • 99. So what’s required 
 to engineer accessible websites? #a11y
  • 101. #2:
 Understand user needs and common barriers. #a11y
  • 102. #3:
 Use valid HTML markup. #a11y
  • 103. #4:
 Learn/use ARIA to fill gaps. #a11y
  • 104. #5:
 Test constantly while building. Test often once published. #a11y
  • 105. #6:
 Priority on user testing. #a11y
  • 106. #heweb18 @bamadesigner When you plan for accessibility, YOU WON’T WORK HARDER. YOU’LL WORK SMARTER.
  • 107. Everything from this workshop: https://bamadesigner.com/heweb18
  • 108. A community and conference for web professionals, educators and people dedicated to the confluence of WordPress in higher education. https://wpcampus.org
 @wpcampusorg / #WPCampus I HAVE SWAG!