SlideShare a Scribd company logo
WEB ACCESSIBILITY
Răzvan Roșu
/razvan-rosu
/razvan-rosu
@rzvn_rosu
What is Web Accessibility?
Myth
Accessibility is often viewed as
making your site work on screen readers.
What Accessibility really is
Accessibility is a subset of UX
focused on making your websites usable
by the widest range of people possible,
including those who have disabilities.
Why should we care about Accessibility?
The main reason is the concept’s definition itself:
we want our application to be usable by as many people as possible.
We should also care due to good ethics and laws and regulations.
Statistics:
Persons with disabilities in Europe are a significant group:
● 10% to 15% of the total population
● 50 to 75 million people in EU27*
● There is a strong correlation between disability and ageing (numbers increase with
demographic change)
Source: Labour Force Survey (European Commission-Eurostat 2002)
http://ec.europa.eu/ipg/standards/accessibility/index_en.htm
*EU27 - European Union during 2007 - 2013 when it had 27 countries
- European Union after 2016 without UK due to Brexit
Disabilities to
account for:
1. Blindness and vision impairment
2. Deaf and hard of hearing
3. Physical disabilities
4. Cognitive disabilities
1. Blindness and Vision impairment
● Total blindness
● Legally blind
● Color blindness
1. Blindness and Vision impairment
A person is legally blind if:
- his/her visual acuity is less than 20/200
At the distance of 20 feet (~6m), a person doesn’t see a text,
which can be seen at 200 feet (~60m) by a person with perfect eyesight.
- his/her view angle is less than 20 degrees
https://www.allaboutvision.com/lowvision/legally-blind.htm
1. Blindness and Vision impairment
Visual acuity examples:
1. Blindness and Vision impairment
Visual acuity examples:
1. Blindness and Vision impairment
View angle examples:
1. Blindness and Vision impairment
View angle examples:
1. Blindness and Vision impairment
Color blindness is a deficiency in distinguishing colors.
The ideal contrast ratio between two colors is of 4.5:1
https://webaim.org/resources/contrastchecker/
Chrome extension for live color blindness simulation:
https://chrome.google.com/webstore/detail/i-want-to-see-like-the-co/jebeedfnielkcjlcokhiobodkjjpbjia
Side by side color blind comparison tool:
https://www.toptal.com/designers/colorfilter
1. Blindness and Vision impairment
Accessibility solutions and tools:
● Braille
● Screen readers
● Screen magnifiers
● Scaling the UI (entirely)
● Font size increase (only)
● High contrast Themes
Humanware Braillant BI 40
Freedom Scientific JAWS
Disabilities to
account for:
1. Blindness and vision impairment
2. Deaf and hard of hearing
3. Physical disabilities
4. Cognitive disabilities
2. Deaf and hard of hearing
People with a hearing disability rely heavily on visual information.
We should provide audio and video content
with a description and subtitles (closed captions).
Do not autoplay media content.
An interview with a Deaf academic librarian on web experience:
https://developer.paciellogroup.com/blog/2017/02/sounding-out-the-web-accessibility-for-deaf-and-hard-of-hearing-people-part-1/
https://developer.paciellogroup.com/blog/2017/03/sounding-out-the-web-accessibility-for-deaf-and-hard-of-hearing-people-part-2/
Disabilities to
account for:
1. Blindness and vision impairment
2. Deaf and hard of hearing
3. Physical disabilities
4. Cognitive disabilities
3. Physical disabilities
For physical disabilities, we need to take into account
users that don’t navigate web pages with
the traditional mouse (along a keyboard).
Ensuring the possibility to navigate by keyboard exclusively
should be good enough for the time being, but have in mind
other means such as Eye Controlling.
https://www.tobii.com/tech/
https://arstechnica.com/gadgets/2017/08/windows-adding-eye-control-to-boost-accessibility/
Disabilities to
account for:
1. Blindness and vision impairment
2. Deaf and hard of hearing
3. Physical disabilities
4. Cognitive disabilities
4. Cognitive disabilities
Examples:
- Autism
- Attention deficit disorder (ADD)
- Anxiety disorder
- Dyslexia: difficulty in reading
- Dyscalculia: difficulty in understanding number-related concepts
- etc
4. Cognitive disabilities
In regards to dyslexia, sans-serif fonts are recommended
and fonts that have an unique shape for each letter.
e.g.: Arial, Comic Sans*, Verdana, Century Gothic
A font created with dyslexia in mind:
https://www.dyslexiefont.com/en/typeface/
*Comic Sans is a great font choice for countering dyslexia
4. Cognitive disabilities
Not all disabilities can be overcome purely from the UI.
We need to understand the difficulties our users are facing and only then,
together with the UX, we can probably do something about it.
Dark Patterns: tricks used in websites and apps
that make you buy or sign up for things you didn’t mean to.
Darkpatterns.org
About users with social disorders using the web:
https://developer.paciellogroup.com/blog/2018/08/a-web-of-anxiety-accessibility-for-people-with-anxiety-and-panic-disorders-part-1/
Disabilities to
account for:
1. Blindness and vision impairment
2. Deaf and hard of hearing
3. Physical disabilities
4. Cognitive disabilities
Laws and Regulations
Starting with January 2010, all new EUROPA websites
must be compliant with the Web Content Accessibility Guidelines 2.0, level AA.
http://ec.europa.eu/ipg/standards/accessibility/index_en.htm
In 2017, WCAG 2.0 AA compliance has been imposed in the U.S. as well.
https://siteimprove.com/en-us/blog/no-more-excuses-there-is-now-a-us-deadline-for-beco
ming-accessible/
WCAG 2.0 standard:
https://www.w3.org/TR/WCAG20/
Laws and Regulations
Here’s a glimpse of WCAG 2.0 AA rules:
● Links
Links must have a context.
The text within the link must be discernible.
● Media
Captions are provided for all live audio content in synchronized media.
● etc
Tools and
Technologies
for Accessibility
1. Semantic markup
2. WAI-ARIA
3. Accessibility DOM Tree
4. Screen Readers
5. The A11Y project
Semantic Markup
Each HTML tag has been created with a purpose.
Developers have enough flexibility to use every tag as any tag,
filling the behavior with CSS and JS.
By using the markup as intended, it gives the document meaning (or semantics).
HTML 4 tags
<a>
<abbr>
<acronym>
<address>
<applet>
<area>
<b>
<base>
<basefont>
<bdo>
<big>
<blockquote>
<body>
<br>
<button>
<caption>
<center>
<cite>
<code>
<col>
<colgroup>
<dd>
<del>
<dfn>
<dir>
<div>
<dl>
<dt>
<em>
<fieldset>
<font>
<form>
<frame>
<frameset>
<h1>
<h2>
<h3>
<h4>
<h5>
<h6>
<head>
<hr>
<html>
<i>
<iframe>
<img>
<input>
<ins>
<isindex>
<kbd>
<label>
<legend>
<li>
<link>
<map>
<menu>
<meta>
<noframes>
<noscript>
<object>
<ol>
<optgroup>
<option>
<p>
<param>
<pre>
<q>
<s>
<samp>
<script>
<select>
<small>
<span>
<strike>
<strong>
<style>
<sub>
<sup>
<table>
<tbody>
<td>
<textarea>
<tfoot>
<th>
<thead>
<title>
<tr>
<tt>
<u>
<ul>
<var>
HTML 4 tags without obsolete tags
<a>
<abbr>
<acronym>
<address>
<applet>
<area>
<b>
<base>
<basefont>
<bdo>
<big>
<blockquote>
<body>
<br>
<button>
<caption>
<center>
<cite>
<code>
<col>
<colgroup>
<dd>
<del>
<dfn>
<dir>
<div>
<dl>
<dt>
<em>
<fieldset>
<font>
<form>
<frame>
<frameset>
<h1>
<h2>
<h3>
<h4>
<h5>
<h6>
<head>
<hr>
<html>
<i>
<iframe>
<img>
<input>
<ins>
<isindex>
<kbd>
<label>
<legend>
<li>
<link>
<map>
<menu>
<meta>
<noframes>
<noscript>
<object>
<ol>
<optgroup>
<option>
<p>
<param>
<pre>
<q>
<s>
<samp>
<script>
<select>
<small>
<span>
<strike>
<strong>
<style>
<sub>
<sup>
<table>
<tbody>
<td>
<textarea>
<tfoot>
<th>
<thead>
<title>
<tr>
<tt>
<u>
<ul>
<var>
HTML 4 tags without obsolete and meta tags
<a>
<abbr>
<acronym>
<address>
<applet>
<area>
<b>
<base>
<basefont>
<bdo>
<big>
<blockquote>
<body>
<br>
<button>
<caption>
<center>
<cite>
<code>
<col>
<colgroup>
<dd>
<del>
<dfn>
<dir>
<div>
<dl>
<dt>
<em>
<fieldset>
<font>
<form>
<frame>
<frameset>
<h1>
<h2>
<h3>
<h4>
<h5>
<h6>
<head>
<hr>
<html>
<i>
<iframe>
<img>
<input>
<ins>
<isindex>
<kbd>
<label>
<legend>
<li>
<link>
<map>
<menu>
<meta>
<noframes>
<noscript>
<object>
<ol>
<optgroup>
<option>
<p>
<param>
<pre>
<q>
<s>
<samp>
<script>
<select>
<small>
<span>
<strike>
<strong>
<style>
<sub>
<sup>
<table>
<tbody>
<td>
<textarea>
<tfoot>
<th>
<thead>
<title>
<tr>
<tt>
<u>
<ul>
<var>
Most common HTML 4 tags
<a>
<abbr>
<acronym>
<address>
<applet>
<area>
<b>
<base>
<basefont>
<bdo>
<big>
<blockquote>
<body>
<br>
<button>
<caption>
<center>
<cite>
<code>
<col>
<colgroup>
<dd>
<del>
<dfn>
<dir>
<div>
<dl>
<dt>
<em>
<fieldset>
<font>
<form>
<frame>
<frameset>
<h1>
<h2>
<h3>
<h4>
<h5>
<h6>
<head>
<hr>
<html>
<i>
<iframe>
<img>
<input>
<ins>
<isindex>
<kbd>
<label>
<legend>
<li>
<link>
<map>
<menu>
<meta>
<noframes>
<noscript>
<object>
<ol>
<optgroup>
<option>
<p>
<param>
<pre>
<q>
<s>
<samp>
<script>
<select>
<small>
<span>
<strike>
<strong>
<style>
<sub>
<sup>
<table>
<tbody>
<td>
<textarea>
<tfoot>
<th>
<thead>
<title>
<tr>
<tt>
<u>
<ul>
<var>
Demo CV HTML 4
http://127.0.0.1:5500/pages/demo1.html
HTML 5 tags
<article>
<aside>
<audio>
<bdi>
<canvas>
<data>
<datalist>
<details>
<dialog>
<dl>
<dt>
<dd>
<embed>
<figcaption>
<figure>
<footer>
<header>
<hgroup>
<keygen>
<main>
<mark>
<menu>
<menuitem>
<meter>
<nav>
<output>
<progress>
<rb>
<rp>
<rt>
<rtc>
<ruby>
<section>
<source>
<summary>
<template>
<time>
<track>
<video>
<wbr>
Demo CV HTML 5
http://127.0.0.1:5500/pages/demo2.html
Tools and
Technologies
for Accessibility
1. Semantic markup
2. WAI-ARIA
3. Accessibility DOM Tree
4. Screen Readers
5. The A11Y project
WAI-ARIA
Web Accessibility Initiative - Accessible Rich Internet Applications
It is a technical specification created by the World Web Consortium (W3C)
on increasing accessibility of the web.
https://w3c.github.io/aria/
With HTML, CSS and JS we can recreate the behaviour of any existing tag.
With WAI-ARIA, we can fill the accessibility gaps.
WAI-ARIA
Roles: defines what an element is or does
e.g.: role=”navigation”
The HTML5 tag <nav> is a Landmark with the ARIA role of navigation built-in.
We can manually add the ARIA landmark role=”navigation” to any html tag.
Properties: used for adding extra meaning or semantics to elements
e.g.: aria-required=”true”
States: special properties that define the current condition of elements
e.g.: aria-disabled=”true”
WAI-ARIA
Start building an UI with native HTML elements
(they have built in semantics and behavior).
Continue with adding ARIA roles, states and properties
to the elements lacking the desired accessibility.
List of all ARIA landmark roles:
https://www.w3.org/TR/wai-aria-practices/examples/landmarks/HTML5.html
WAI-ARIA
Basic usage example of ARIA landmark roles:
https://www.html5accessibility.com/tests/roles-land.html
Demo Buttons
http://127.0.0.1:5500/pages/demo3.html
Tools and
Technologies
for Accessibility
1. Semantic markup
2. WAI-ARIA
3. Accessibility DOM Tree
4. Screen Readers
5. The A11Y project
Tools: Accessibility DOM Tree
We can think of the Accessibility Tree as an API describing
the basic page structure with less information and fewer nodes.
e.g.: example of an Accessibility DOM Tree for a basic form
Google Chrome Canary Accessibility Tab
Mozilla Firefox Developer Edition Accessibility Tab
Tools and
Technologies
for Accessibility
1. Semantic markup
2. WAI-ARIA
3. Accessibility DOM Tree
4. Screen Readers
5. The A11Y project
Screen Readers
A screen reader is a form of assistive technology.
It facilitates user interaction with content.
It relies on a user agent to retrieve and render content.
Screen Readers
Available solutions:
○ VoX (browser extension)
○ Voice Over (MacOS, iOS)
○ NVDA (Windows)
○ ORCA (Linux)
○ Dragon (3rd party)
○ JAWS (3rd party)
○ TalkBack Android
Screen Readers
Screen Readers react to ALL CAPS and CSS text-transform: uppercase.
There are two specs that we can use to customize the way the screen reader reads:
1. CSS Speech Module (limited browser support)
https://www.w3.org/TR/2018/NOTE-css3-speech-20180605/
The Speech Module is the successor of Aural Style Sheets (deprecated).
https://developer.mozilla.org/en-US/docs/Web/CSS/Aural
2. Web Speech API
This specification defined a JavaScript API that enables integrating speech recognition
and synthesis into web pages.
https://w3c.github.io/speech-api/speechapi.html
Screen Readers
Both CSS Speech Module and Web Speech API use Text To Speech (TTS).
A Text To Speech system converts normal language text into speech.
TTS engines are built in most platforms.
Voice assistants like Alexa or Google Assistant use the platform’s TTS most of the times.
But they can also use a bundled TTS alternative (for better language support or a wider
choice of voices).
https://tink.uk/using-the-web-speech-api-to-simulate-css-speech-support/
Tools and
Technologies
for Accessibility
1. Semantic markup
2. WAI-ARIA
3. Accessibility DOM Tree
4. Screen Readers
5. The A11Y project
The A11Y Project
The A11Y project’s main goal is to facilitate accessibility implementation on the web.
It is an open-source initiative, with the objective of promoting accessibility.
It provides an up-to-date collection of resources and how-to examples and it also tracks
events on the topic.
The term ‘A11Y’ stands for AccessibilitY as a numeronym.
11
https://a11yproject.com/
Tools and
Technologies
for Accessibility
1. Semantic markup
2. WAI-ARIA
3. Accessibility DOM Tree
4. Screen Readers
5. The A11Y project
Accessible Web Components
http://127.0.0.1:5500/pages/demo4.html
Thank you!
Questions
?
References
● Demo:
https://github.com/razvan-rosu/demo-we
b-accessibility
● WCAG 2.0:
https://www.w3.org/TR/WCAG20/
● Semantic markup:
https://html.com/semantic-markup/
● WAI-ARIA:
https://w3c.github.io/aria/
● The A11Y Project:
https://a11yproject.com/

More Related Content

Similar to Web Accessibility - Razvan Rosu

Accessibility for beginners
Accessibility for beginnersAccessibility for beginners
Accessibility for beginners
Elizabeth Fiennes
 
Accessibility and Web Technologies @HTML5_Toronto
Accessibility and Web Technologies @HTML5_TorontoAccessibility and Web Technologies @HTML5_Toronto
Accessibility and Web Technologies @HTML5_Toronto
George Zamfir
 
Accessibility and why it matters
Accessibility and why it mattersAccessibility and why it matters
Accessibility and why it matters
Margarida Sousa
 
Colorblindness and design
Colorblindness and design Colorblindness and design
Colorblindness and design
kaikikazuki
 
corePHP Usability Accessibility by Steven Pignataro
corePHP Usability Accessibility by Steven PignatarocorePHP Usability Accessibility by Steven Pignataro
corePHP Usability Accessibility by Steven Pignataro
John Coonen
 
Accessible Web Sites: What can you do?
Accessible Web Sites: What can you do?Accessible Web Sites: What can you do?
Accessible Web Sites: What can you do?
Joseph Dolson
 
Icaweb402 a jenninecarlin
Icaweb402 a jenninecarlinIcaweb402 a jenninecarlin
Icaweb402 a jenninecarlin
Jennine Carlin
 
Is accessibility the new black?
Is accessibility the new black?Is accessibility the new black?
Is accessibility the new black?
George Otoiu
 
Accessibility And 508 Compliance In 2009
Accessibility And 508 Compliance In 2009Accessibility And 508 Compliance In 2009
Accessibility And 508 Compliance In 2009
Emagination ®
 
Web Accessibility Workshop
Web Accessibility WorkshopWeb Accessibility Workshop
Web Accessibility Workshopjosodo
 
SEO through Accessibility- How designing accessible websites leads to automat...
SEO through Accessibility- How designing accessible websites leads to automat...SEO through Accessibility- How designing accessible websites leads to automat...
SEO through Accessibility- How designing accessible websites leads to automat...
Abhay Rautela
 
Designing for the User
Designing for the UserDesigning for the User
Designing for the User
Devon Walker
 
Web content accessibility
Web content accessibilityWeb content accessibility
Web content accessibility
krishnapriya Tadepalli
 
Don't Panic! How to perform an accessibility evaluation with limited resources
Don't Panic! How to perform an accessibility evaluation with limited resourcesDon't Panic! How to perform an accessibility evaluation with limited resources
Don't Panic! How to perform an accessibility evaluation with limited resources
Michael Ryan
 
Accessibility Part 1
Accessibility Part 1Accessibility Part 1
Accessibility Part 1
Yongjie Chen 陈永杰
 
Web Accessibility
Web AccessibilityWeb Accessibility
Web Accessibility
Manjeet Vaseer
 
Accessibility in Agile Projects
Accessibility in Agile ProjectsAccessibility in Agile Projects
Accessibility in Agile Projects
Adrian Redden
 
Accessibility testing kailash 26_nov_ 2010
Accessibility testing kailash 26_nov_ 2010Accessibility testing kailash 26_nov_ 2010
Accessibility testing kailash 26_nov_ 2010Kailash More
 
Week 5 - Accessibility
Week 5 - AccessibilityWeek 5 - Accessibility
Week 5 - AccessibilityGraeme Smith
 

Similar to Web Accessibility - Razvan Rosu (20)

Accessibility for beginners
Accessibility for beginnersAccessibility for beginners
Accessibility for beginners
 
Accessibility and Web Technologies @HTML5_Toronto
Accessibility and Web Technologies @HTML5_TorontoAccessibility and Web Technologies @HTML5_Toronto
Accessibility and Web Technologies @HTML5_Toronto
 
Accessibility and why it matters
Accessibility and why it mattersAccessibility and why it matters
Accessibility and why it matters
 
Colorblindness and design
Colorblindness and design Colorblindness and design
Colorblindness and design
 
corePHP Usability Accessibility by Steven Pignataro
corePHP Usability Accessibility by Steven PignatarocorePHP Usability Accessibility by Steven Pignataro
corePHP Usability Accessibility by Steven Pignataro
 
Accessible Web Sites: What can you do?
Accessible Web Sites: What can you do?Accessible Web Sites: What can you do?
Accessible Web Sites: What can you do?
 
Common misconceptions-on-a11y
Common misconceptions-on-a11yCommon misconceptions-on-a11y
Common misconceptions-on-a11y
 
Icaweb402 a jenninecarlin
Icaweb402 a jenninecarlinIcaweb402 a jenninecarlin
Icaweb402 a jenninecarlin
 
Is accessibility the new black?
Is accessibility the new black?Is accessibility the new black?
Is accessibility the new black?
 
Accessibility And 508 Compliance In 2009
Accessibility And 508 Compliance In 2009Accessibility And 508 Compliance In 2009
Accessibility And 508 Compliance In 2009
 
Web Accessibility Workshop
Web Accessibility WorkshopWeb Accessibility Workshop
Web Accessibility Workshop
 
SEO through Accessibility- How designing accessible websites leads to automat...
SEO through Accessibility- How designing accessible websites leads to automat...SEO through Accessibility- How designing accessible websites leads to automat...
SEO through Accessibility- How designing accessible websites leads to automat...
 
Designing for the User
Designing for the UserDesigning for the User
Designing for the User
 
Web content accessibility
Web content accessibilityWeb content accessibility
Web content accessibility
 
Don't Panic! How to perform an accessibility evaluation with limited resources
Don't Panic! How to perform an accessibility evaluation with limited resourcesDon't Panic! How to perform an accessibility evaluation with limited resources
Don't Panic! How to perform an accessibility evaluation with limited resources
 
Accessibility Part 1
Accessibility Part 1Accessibility Part 1
Accessibility Part 1
 
Web Accessibility
Web AccessibilityWeb Accessibility
Web Accessibility
 
Accessibility in Agile Projects
Accessibility in Agile ProjectsAccessibility in Agile Projects
Accessibility in Agile Projects
 
Accessibility testing kailash 26_nov_ 2010
Accessibility testing kailash 26_nov_ 2010Accessibility testing kailash 26_nov_ 2010
Accessibility testing kailash 26_nov_ 2010
 
Week 5 - Accessibility
Week 5 - AccessibilityWeek 5 - Accessibility
Week 5 - Accessibility
 

More from Razvan Rosu

Design systems - Razvan Rosu
Design systems - Razvan RosuDesign systems - Razvan Rosu
Design systems - Razvan Rosu
Razvan Rosu
 
Progressive Web Apps with LitHTML (BucharestJS Meetup)
Progressive Web Apps with LitHTML (BucharestJS Meetup)Progressive Web Apps with LitHTML (BucharestJS Meetup)
Progressive Web Apps with LitHTML (BucharestJS Meetup)
Razvan Rosu
 
Front-end build tools - Webpack
Front-end build tools - WebpackFront-end build tools - Webpack
Front-end build tools - Webpack
Razvan Rosu
 
Thinking in components
Thinking in componentsThinking in components
Thinking in components
Razvan Rosu
 
Web optimizations Back to the basics - Razvan Rosu
Web optimizations  Back to the basics - Razvan RosuWeb optimizations  Back to the basics - Razvan Rosu
Web optimizations Back to the basics - Razvan Rosu
Razvan Rosu
 
CSS Grid Layout - Razvan Rosu
CSS Grid Layout - Razvan RosuCSS Grid Layout - Razvan Rosu
CSS Grid Layout - Razvan Rosu
Razvan Rosu
 
Atomic design - Razvan Rosu
Atomic design - Razvan RosuAtomic design - Razvan Rosu
Atomic design - Razvan Rosu
Razvan Rosu
 

More from Razvan Rosu (7)

Design systems - Razvan Rosu
Design systems - Razvan RosuDesign systems - Razvan Rosu
Design systems - Razvan Rosu
 
Progressive Web Apps with LitHTML (BucharestJS Meetup)
Progressive Web Apps with LitHTML (BucharestJS Meetup)Progressive Web Apps with LitHTML (BucharestJS Meetup)
Progressive Web Apps with LitHTML (BucharestJS Meetup)
 
Front-end build tools - Webpack
Front-end build tools - WebpackFront-end build tools - Webpack
Front-end build tools - Webpack
 
Thinking in components
Thinking in componentsThinking in components
Thinking in components
 
Web optimizations Back to the basics - Razvan Rosu
Web optimizations  Back to the basics - Razvan RosuWeb optimizations  Back to the basics - Razvan Rosu
Web optimizations Back to the basics - Razvan Rosu
 
CSS Grid Layout - Razvan Rosu
CSS Grid Layout - Razvan RosuCSS Grid Layout - Razvan Rosu
CSS Grid Layout - Razvan Rosu
 
Atomic design - Razvan Rosu
Atomic design - Razvan RosuAtomic design - Razvan Rosu
Atomic design - Razvan Rosu
 

Recently uploaded

IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
QADay
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
КАТЕРИНА АБЗЯТОВА «Ефективне планування тестування ключові аспекти та практ...
КАТЕРИНА АБЗЯТОВА  «Ефективне планування тестування  ключові аспекти та практ...КАТЕРИНА АБЗЯТОВА  «Ефективне планування тестування  ключові аспекти та практ...
КАТЕРИНА АБЗЯТОВА «Ефективне планування тестування ключові аспекти та практ...
QADay
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 

Recently uploaded (20)

IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»НАДІЯ ФЕДЮШКО БАЦ  «Професійне зростання QA спеціаліста»
НАДІЯ ФЕДЮШКО БАЦ «Професійне зростання QA спеціаліста»
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
КАТЕРИНА АБЗЯТОВА «Ефективне планування тестування ключові аспекти та практ...
КАТЕРИНА АБЗЯТОВА  «Ефективне планування тестування  ключові аспекти та практ...КАТЕРИНА АБЗЯТОВА  «Ефективне планування тестування  ключові аспекти та практ...
КАТЕРИНА АБЗЯТОВА «Ефективне планування тестування ключові аспекти та практ...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 

Web Accessibility - Razvan Rosu

  • 2. What is Web Accessibility? Myth Accessibility is often viewed as making your site work on screen readers. What Accessibility really is Accessibility is a subset of UX focused on making your websites usable by the widest range of people possible, including those who have disabilities.
  • 3. Why should we care about Accessibility? The main reason is the concept’s definition itself: we want our application to be usable by as many people as possible. We should also care due to good ethics and laws and regulations.
  • 4. Statistics: Persons with disabilities in Europe are a significant group: ● 10% to 15% of the total population ● 50 to 75 million people in EU27* ● There is a strong correlation between disability and ageing (numbers increase with demographic change) Source: Labour Force Survey (European Commission-Eurostat 2002) http://ec.europa.eu/ipg/standards/accessibility/index_en.htm *EU27 - European Union during 2007 - 2013 when it had 27 countries - European Union after 2016 without UK due to Brexit
  • 5. Disabilities to account for: 1. Blindness and vision impairment 2. Deaf and hard of hearing 3. Physical disabilities 4. Cognitive disabilities
  • 6. 1. Blindness and Vision impairment ● Total blindness ● Legally blind ● Color blindness
  • 7. 1. Blindness and Vision impairment A person is legally blind if: - his/her visual acuity is less than 20/200 At the distance of 20 feet (~6m), a person doesn’t see a text, which can be seen at 200 feet (~60m) by a person with perfect eyesight. - his/her view angle is less than 20 degrees https://www.allaboutvision.com/lowvision/legally-blind.htm
  • 8. 1. Blindness and Vision impairment Visual acuity examples:
  • 9. 1. Blindness and Vision impairment Visual acuity examples:
  • 10. 1. Blindness and Vision impairment View angle examples:
  • 11. 1. Blindness and Vision impairment View angle examples:
  • 12. 1. Blindness and Vision impairment Color blindness is a deficiency in distinguishing colors. The ideal contrast ratio between two colors is of 4.5:1 https://webaim.org/resources/contrastchecker/ Chrome extension for live color blindness simulation: https://chrome.google.com/webstore/detail/i-want-to-see-like-the-co/jebeedfnielkcjlcokhiobodkjjpbjia Side by side color blind comparison tool: https://www.toptal.com/designers/colorfilter
  • 13. 1. Blindness and Vision impairment Accessibility solutions and tools: ● Braille ● Screen readers ● Screen magnifiers ● Scaling the UI (entirely) ● Font size increase (only) ● High contrast Themes Humanware Braillant BI 40 Freedom Scientific JAWS
  • 14. Disabilities to account for: 1. Blindness and vision impairment 2. Deaf and hard of hearing 3. Physical disabilities 4. Cognitive disabilities
  • 15. 2. Deaf and hard of hearing People with a hearing disability rely heavily on visual information. We should provide audio and video content with a description and subtitles (closed captions). Do not autoplay media content. An interview with a Deaf academic librarian on web experience: https://developer.paciellogroup.com/blog/2017/02/sounding-out-the-web-accessibility-for-deaf-and-hard-of-hearing-people-part-1/ https://developer.paciellogroup.com/blog/2017/03/sounding-out-the-web-accessibility-for-deaf-and-hard-of-hearing-people-part-2/
  • 16. Disabilities to account for: 1. Blindness and vision impairment 2. Deaf and hard of hearing 3. Physical disabilities 4. Cognitive disabilities
  • 17. 3. Physical disabilities For physical disabilities, we need to take into account users that don’t navigate web pages with the traditional mouse (along a keyboard). Ensuring the possibility to navigate by keyboard exclusively should be good enough for the time being, but have in mind other means such as Eye Controlling. https://www.tobii.com/tech/ https://arstechnica.com/gadgets/2017/08/windows-adding-eye-control-to-boost-accessibility/
  • 18. Disabilities to account for: 1. Blindness and vision impairment 2. Deaf and hard of hearing 3. Physical disabilities 4. Cognitive disabilities
  • 19. 4. Cognitive disabilities Examples: - Autism - Attention deficit disorder (ADD) - Anxiety disorder - Dyslexia: difficulty in reading - Dyscalculia: difficulty in understanding number-related concepts - etc
  • 20. 4. Cognitive disabilities In regards to dyslexia, sans-serif fonts are recommended and fonts that have an unique shape for each letter. e.g.: Arial, Comic Sans*, Verdana, Century Gothic A font created with dyslexia in mind: https://www.dyslexiefont.com/en/typeface/ *Comic Sans is a great font choice for countering dyslexia
  • 21. 4. Cognitive disabilities Not all disabilities can be overcome purely from the UI. We need to understand the difficulties our users are facing and only then, together with the UX, we can probably do something about it. Dark Patterns: tricks used in websites and apps that make you buy or sign up for things you didn’t mean to. Darkpatterns.org About users with social disorders using the web: https://developer.paciellogroup.com/blog/2018/08/a-web-of-anxiety-accessibility-for-people-with-anxiety-and-panic-disorders-part-1/
  • 22. Disabilities to account for: 1. Blindness and vision impairment 2. Deaf and hard of hearing 3. Physical disabilities 4. Cognitive disabilities
  • 23. Laws and Regulations Starting with January 2010, all new EUROPA websites must be compliant with the Web Content Accessibility Guidelines 2.0, level AA. http://ec.europa.eu/ipg/standards/accessibility/index_en.htm In 2017, WCAG 2.0 AA compliance has been imposed in the U.S. as well. https://siteimprove.com/en-us/blog/no-more-excuses-there-is-now-a-us-deadline-for-beco ming-accessible/ WCAG 2.0 standard: https://www.w3.org/TR/WCAG20/
  • 24. Laws and Regulations Here’s a glimpse of WCAG 2.0 AA rules: ● Links Links must have a context. The text within the link must be discernible. ● Media Captions are provided for all live audio content in synchronized media. ● etc
  • 25. Tools and Technologies for Accessibility 1. Semantic markup 2. WAI-ARIA 3. Accessibility DOM Tree 4. Screen Readers 5. The A11Y project
  • 26. Semantic Markup Each HTML tag has been created with a purpose. Developers have enough flexibility to use every tag as any tag, filling the behavior with CSS and JS. By using the markup as intended, it gives the document meaning (or semantics).
  • 28. HTML 4 tags without obsolete tags <a> <abbr> <acronym> <address> <applet> <area> <b> <base> <basefont> <bdo> <big> <blockquote> <body> <br> <button> <caption> <center> <cite> <code> <col> <colgroup> <dd> <del> <dfn> <dir> <div> <dl> <dt> <em> <fieldset> <font> <form> <frame> <frameset> <h1> <h2> <h3> <h4> <h5> <h6> <head> <hr> <html> <i> <iframe> <img> <input> <ins> <isindex> <kbd> <label> <legend> <li> <link> <map> <menu> <meta> <noframes> <noscript> <object> <ol> <optgroup> <option> <p> <param> <pre> <q> <s> <samp> <script> <select> <small> <span> <strike> <strong> <style> <sub> <sup> <table> <tbody> <td> <textarea> <tfoot> <th> <thead> <title> <tr> <tt> <u> <ul> <var>
  • 29. HTML 4 tags without obsolete and meta tags <a> <abbr> <acronym> <address> <applet> <area> <b> <base> <basefont> <bdo> <big> <blockquote> <body> <br> <button> <caption> <center> <cite> <code> <col> <colgroup> <dd> <del> <dfn> <dir> <div> <dl> <dt> <em> <fieldset> <font> <form> <frame> <frameset> <h1> <h2> <h3> <h4> <h5> <h6> <head> <hr> <html> <i> <iframe> <img> <input> <ins> <isindex> <kbd> <label> <legend> <li> <link> <map> <menu> <meta> <noframes> <noscript> <object> <ol> <optgroup> <option> <p> <param> <pre> <q> <s> <samp> <script> <select> <small> <span> <strike> <strong> <style> <sub> <sup> <table> <tbody> <td> <textarea> <tfoot> <th> <thead> <title> <tr> <tt> <u> <ul> <var>
  • 30. Most common HTML 4 tags <a> <abbr> <acronym> <address> <applet> <area> <b> <base> <basefont> <bdo> <big> <blockquote> <body> <br> <button> <caption> <center> <cite> <code> <col> <colgroup> <dd> <del> <dfn> <dir> <div> <dl> <dt> <em> <fieldset> <font> <form> <frame> <frameset> <h1> <h2> <h3> <h4> <h5> <h6> <head> <hr> <html> <i> <iframe> <img> <input> <ins> <isindex> <kbd> <label> <legend> <li> <link> <map> <menu> <meta> <noframes> <noscript> <object> <ol> <optgroup> <option> <p> <param> <pre> <q> <s> <samp> <script> <select> <small> <span> <strike> <strong> <style> <sub> <sup> <table> <tbody> <td> <textarea> <tfoot> <th> <thead> <title> <tr> <tt> <u> <ul> <var>
  • 31. Demo CV HTML 4 http://127.0.0.1:5500/pages/demo1.html
  • 33. Demo CV HTML 5 http://127.0.0.1:5500/pages/demo2.html
  • 34. Tools and Technologies for Accessibility 1. Semantic markup 2. WAI-ARIA 3. Accessibility DOM Tree 4. Screen Readers 5. The A11Y project
  • 35. WAI-ARIA Web Accessibility Initiative - Accessible Rich Internet Applications It is a technical specification created by the World Web Consortium (W3C) on increasing accessibility of the web. https://w3c.github.io/aria/ With HTML, CSS and JS we can recreate the behaviour of any existing tag. With WAI-ARIA, we can fill the accessibility gaps.
  • 36. WAI-ARIA Roles: defines what an element is or does e.g.: role=”navigation” The HTML5 tag <nav> is a Landmark with the ARIA role of navigation built-in. We can manually add the ARIA landmark role=”navigation” to any html tag. Properties: used for adding extra meaning or semantics to elements e.g.: aria-required=”true” States: special properties that define the current condition of elements e.g.: aria-disabled=”true”
  • 37. WAI-ARIA Start building an UI with native HTML elements (they have built in semantics and behavior). Continue with adding ARIA roles, states and properties to the elements lacking the desired accessibility. List of all ARIA landmark roles: https://www.w3.org/TR/wai-aria-practices/examples/landmarks/HTML5.html
  • 38. WAI-ARIA Basic usage example of ARIA landmark roles: https://www.html5accessibility.com/tests/roles-land.html
  • 40. Tools and Technologies for Accessibility 1. Semantic markup 2. WAI-ARIA 3. Accessibility DOM Tree 4. Screen Readers 5. The A11Y project
  • 41. Tools: Accessibility DOM Tree We can think of the Accessibility Tree as an API describing the basic page structure with less information and fewer nodes. e.g.: example of an Accessibility DOM Tree for a basic form
  • 42. Google Chrome Canary Accessibility Tab
  • 43. Mozilla Firefox Developer Edition Accessibility Tab
  • 44. Tools and Technologies for Accessibility 1. Semantic markup 2. WAI-ARIA 3. Accessibility DOM Tree 4. Screen Readers 5. The A11Y project
  • 45. Screen Readers A screen reader is a form of assistive technology. It facilitates user interaction with content. It relies on a user agent to retrieve and render content.
  • 46. Screen Readers Available solutions: ○ VoX (browser extension) ○ Voice Over (MacOS, iOS) ○ NVDA (Windows) ○ ORCA (Linux) ○ Dragon (3rd party) ○ JAWS (3rd party) ○ TalkBack Android
  • 47. Screen Readers Screen Readers react to ALL CAPS and CSS text-transform: uppercase. There are two specs that we can use to customize the way the screen reader reads: 1. CSS Speech Module (limited browser support) https://www.w3.org/TR/2018/NOTE-css3-speech-20180605/ The Speech Module is the successor of Aural Style Sheets (deprecated). https://developer.mozilla.org/en-US/docs/Web/CSS/Aural 2. Web Speech API This specification defined a JavaScript API that enables integrating speech recognition and synthesis into web pages. https://w3c.github.io/speech-api/speechapi.html
  • 48. Screen Readers Both CSS Speech Module and Web Speech API use Text To Speech (TTS). A Text To Speech system converts normal language text into speech. TTS engines are built in most platforms. Voice assistants like Alexa or Google Assistant use the platform’s TTS most of the times. But they can also use a bundled TTS alternative (for better language support or a wider choice of voices). https://tink.uk/using-the-web-speech-api-to-simulate-css-speech-support/
  • 49. Tools and Technologies for Accessibility 1. Semantic markup 2. WAI-ARIA 3. Accessibility DOM Tree 4. Screen Readers 5. The A11Y project
  • 50. The A11Y Project The A11Y project’s main goal is to facilitate accessibility implementation on the web. It is an open-source initiative, with the objective of promoting accessibility. It provides an up-to-date collection of resources and how-to examples and it also tracks events on the topic. The term ‘A11Y’ stands for AccessibilitY as a numeronym. 11 https://a11yproject.com/
  • 51. Tools and Technologies for Accessibility 1. Semantic markup 2. WAI-ARIA 3. Accessibility DOM Tree 4. Screen Readers 5. The A11Y project
  • 54. References ● Demo: https://github.com/razvan-rosu/demo-we b-accessibility ● WCAG 2.0: https://www.w3.org/TR/WCAG20/ ● Semantic markup: https://html.com/semantic-markup/ ● WAI-ARIA: https://w3c.github.io/aria/ ● The A11Y Project: https://a11yproject.com/