Web Accessibility for Web Developers

Alexander Loechel
Alexander LoechelReferent IT-Projekte bei Ludwig-Maximilians-Universität (LMU) München
Web Accessibility
For Web Developers
Alexander Loechel
Accessibility
is building Bridges
Disabilities come in many forms
Visual Hearing Mobility Speech Cognitive Neural
● Cataracts
● Sun glare
● Color blind
● Low vision
● Blind
● Noise
● Ear infection
● Hard of
hearing
● Deaf
● Hands full
● Broken arm
● Spinal cord
injury
● Amelia
● Ambient noise
● Speech
impediment
● Unable to
speak
● Sleepy
● Distraction
● Migraine
● Learning
disabilities
● Autism
● Seizure
● Depression
● PTSD
● Bipolar
● Anxiety
Permanent
disability
Situational
requirement
Temporary
impairment
Web Accessibility for Web Developers
W3C Web Accessibility initiative (WAI)
WAI Standards:
● Web Content Accessibility Guidelines (WCAG) 2.0 (~BITV 2.0)
● Authoring Tool Accessibility Guidelines (ATAG) 2.0 Web Developer
● Accessible Rich Internet Applications (WAI-ARIA) Suite
● User Agent Accessibility Guidelines (UAAG) 2.0 Tool Developer (Browser)
● Independent User Interface (Indie UI)
● Website Accessibility Conformance Evaluation Methodology (WCAG-EM) 1.0
● Evaluation and Report Language (EARL) Overview
WAI - Conformance Level
● Level A (minimum level of conformance)
● Level AA (required minimum for all major pages and Baseline)
● Level AAA
Conformance is for full Web page(s) only, and cannot be achieved
if parts of a Web page is excluded
→ CMS must provide a certain level of conformance for each of its parts
WAI Conformance Claims (WCAG)
1. Date of the claim
2. Guidelines title, version and URI
"Web Content Accessibility Guidelines 2.0 at http://www.w3.org/TR/2008/REC-WCAG20-20081211/"
3. Conformance level satisfied: (Level A, AA or AAA)
4. A concise description of the Web pages,
such as a list of URIs for which the claim is made, including whether subdomains are included in the claim.
5. A list of the Web content technologies relied upon.
Conformance is defined only for Web pages. However, a conformance claim may
be made to cover one page, a series of pages, or multiple related Web pages.
→ A conformance Claim only makes sense for a certain moment in time
BITV 2.0 vs. WAI-WCAG 2.0
The German “Verordnung zur Schaffung barrierefreier Informationstechnik
nach dem Behindertengleichstellungsgesetz (Barrierefreie-Informations-
technik-Verordnung - BITV 2.0)” is a German regulation that requires all
governmental Organisations and institutions to meet the Requirements of the
WCAG 2.0 and other WAI Standards for all
● Internet
● Intranet / Extranet
● Graphical User interfaces that are public
And additional requirements
(e.g. Explanations in easy / plain language and German sign language)
WCAG Principles
1. Perceivable
Information and user interface components must be presentable to users in
ways they can perceive.
2. Operable
User interface components and navigation must be operable.
3. Understandable
Information and the operation of user interface must be understandable.
4. Robust
Content must be robust enough that it can be interpreted reliably by a wide
variety of user agents, including assistive technologies.
Accessibility is no Rocket Science
WCAG Checklist
Accessibility and SEO
goes hand in hand
What is easier for a human to understand
is easier for a machine to understand & present
and vice versa
● Valid Markup and semantic usage of Markup
○ h1-h6 for headings
● Special attribution for structured data
○ Microformats → schema.org (Person, Event, Location, ...)
○ Open Graph Protocol
Systematic Order to Implement Accessibility
1. Principle 4: Robust
4.1.1 Parsing (A)
4.1.2 Name, Role, Value (A)
2. Principle 1: Perceivable
1.4.1 Use of Colors (A) Matter of Design
1.4.3 / 1.4.6 Contrast (Minimum/Enhanced) (AA/AAA)
3. Principle 2: Operable
2.1.1 Keyboard (A)
2.1.2 No Keyboard Trap (A)
2.4.1 Bypass Blocks (A)
2.4.2 Page Titled (A)
2.4.7 Focus Visible (AA)
4. Principle 3: Understandable
3.1.1 Language of Page (A)
3.2.3 Consistent Navigation (AA)
3.3 Forms (A - AAA)
Valid semantic HTML is accessible by default;
Design could make a Website inaccessible!
Principle 4: Robust
Content must be robust enough that it can be interpreted reliably by a wide variety of user agents, including assistive
technologies.
Guideline 4.1 Compatible: Maximize compatibility with current and future user agents, including assistive technologies.
4.1.1 Parsing: In content implemented using markup languages, elements have complete start and end tags, elements are
nested according to their specifications, elements do not contain duplicate attributes, and any IDs are unique, except where
the specifications allow these features. (Level A) → Validity of Markup
4.1.2 Name, Role, Value: For all user interface components (including but not limited to: form elements, links and
components generated by scripts), the name and role can be programmatically determined; states, properties, and values
that can be set by the user can be programmatically set; and notification of changes to these items is available to user
agents, including assistive technologies. (Level A) → Semantic Use of Markup
Valid & proper semantic use of Markup
Excursus on HTML5
sectioning
Hypertext Markup Language (HTML) Spezifikation defines basic grammar for markup information. Sectioning content defines the
structure of the Webpage and scope of context information.
Headings → <header>, <h1> - <h6> & <footer> elements are bound to scopes:
Major Scope: The whole Website:
<body> ← Sectioning root
<header>...<header>
<main>...<main>
<footer>...</footer>
</body>
Sub Scopes:
● <article>
● <aside>
● <nav>
● <section>
Each Section requires at least one heading
Principle 1: Perceivable
Information and user interface components must be presentable to users in ways they can perceive.
Guideline 1.1 Text Alternatives: Provide text alternatives for any non-text content so that it can be changed into other
forms people need, such as large print, braille, speech, symbols or simpler language.
→ alt for images, audio and video, table descriptions, ...
Guideline 1.2 Time-based Media: Provide alternatives for time-based media.
Guideline 1.3 Adaptable: Create content that can be presented in different ways (for example simpler layout) without
losing information or structure.
Guideline 1.4 Distinguishable: Make it easier for users to see and hear content including separating foreground from
background.
→ Color and Contrast
1.4.1 Use of Color & 1.4.3/1.4.6 Contrast
1.4.1 Use of Color: Color is not used as the only visual means of conveying information, indicating an action, prompting a
response, or distinguishing a visual element. (Level A)
1.4.3 Contrast (Minimum): The visual presentation of text and images of text has a contrast ratio of at least 4.5:1, except
for the following: (Level AA)
● Large Text: Large-scale text and images of large-scale text have a contrast ratio of at least 3:1;
● Incidental: Text or images of text that are part of an inactive user interface component, that are pure decoration, that
are not visible to anyone, or that are part of a picture that contains significant other visual content, have no contrast
requirement.
● Logotypes: Text that is part of a logo or brand name has no minimum contrast requirement.
1.4.6 Contrast (Enhanced): The visual presentation of text and images of text has a contrast ratio of at least 7:1, except
for the following: (Level AAA)
● Large Text: Large-scale text and images of large-scale text have a contrast ratio of at least 4.5:1;
Principle 2: Operable
User interface components and navigation must be operable.
Guideline 2.1 Keyboard Accessible: Make all functionality available from a keyboard.
2.1.1 Keyboard: All functionality of the content is operable through a keyboard interface without requiring specific timings
for individual keystrokes, except where the underlying function requires input that depends on the path of the user's
movement and not just the endpoints. (Level A)
2.1.2 No Keyboard Trap: If keyboard focus can be moved to a component of the page using a keyboard interface, then
focus can be moved away from that component using only a keyboard interface, and, if it requires more than unmodified
arrow or tab keys or other standard exit methods, the user is advised of the method for moving focus away. (Level A)
Guideline 2.2 Enough Time: Provide users enough time to read and use content.
Guideline 2.3 Seizures: Do not design content in a way that is known to cause seizures.
Guideline 2.4 Navigable: Provide ways to help users navigate, find content, and determine where they are.
Principle 3: Understandable
Information and the operation of user interface must be understandable.
Guideline 3.1 Readable: Make text content readable and understandable.
3.1.1 Language of Page: The default human language of each Web page can be programmatically determined. (Level A)
3.1.2 Language of Parts: The human language of each passage or phrase in the content can be programmatically
determined except for proper names, technical terms, words of indeterminate language, and words or phrases that have
become part of the vernacular of the immediately surrounding text. (Level AA)
→ Information about Language, Unusual Words and Abbreviations
Guideline 3.2 Predictable: Make Web pages appear and operate in predictable ways.
→ Focus, Consistent Navigation, ...
Guideline 3.3 Input Assistance: Help users avoid and correct mistakes.
→ Forms
Accessibility requires
care and common sense
The Zen of Python - PEP20
Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
...
Conflict of Design & Accessibility
Well; Conflict of Bad Designers with Accessibility
Example special Headings
<article id="..." class="...">
<header>
<h3>
<small>Forscher zweifeln</small>
Hat es den Urknall gar nicht gegeben?
</h3>
<p class="byline">
<date class="byline_publication_date"
timestamp=”2017-12-08”>Freitag 08.12.2017</date>
&nbsp;&mdash;&nbsp;
<span class="byline_author">DPA</span>
</p>
</header>
<p class="abstract">Text</p>
<footer>
<h4>Related Items</h4>
<ul>...</ul>
</footer>
</article>
Example More… / Details Button
Best way restructure so that the whole
Heading and Abstract is a link
or work with “visually hidden” (Screen Reader visible) elements :
<a href="" class="btn">
Mehr…
<span class="sr-only">
zu
<span tal:replace="item/title">Artikel Titel</span>
</span>
</a>
Show for Screen Reader Only:
Bootstrap: sr-only
Zurb Foundation: show-for-sr
“The first principle is
that you must not fool yourself
- and you are the easiest
person to fool.”
Richard Feynman
Tools
to analyse
to test
The Problem of Testing
“Program testing can be used
to show the presence of bugs,
but never show their absence!”
Edsger Dijkstra
→ Testing is about responsibility & sustainability
Tools
● Browser itself:
→ Scale of text
→ Tab → Focus
● OS:
→ e.g. Mac OS X / iOS VoiceOver
● Browser Plugins
● Webtools
● Testsuites
Demo WCAG-Test / Demo Web-Relaunch
Browser Plugins
Firefox + Chrome:
● HeadingMaps (Firefox / Chrome)
● Web Developer
● Wave Browser Extension
● aXe
Firefox only
● opquast desktop
● https://addons.mozilla.org/en-US/firefox/addon/fangs-screen-reader-emulator/
● https://addons.mozilla.org/en-US/firefox/addon/wcag-contrast-checker/
Chrome only
● Siteimprove Accessibility Checker
More Tools
Website-Tools¶
● Wave
Color / Contrast-ratio calculators
● https://webaim.org/resources/contrastchecker/
● https://contrastchecker.com/
● http://leaverou.github.io/contrast-ratio/ <-- Nice Testing
● http://www.msfw.com/Services/ContrastRatioCalculator
Standalone Applications and Continuous Integration Frameworks
● http://asqatasun.org/
● https://github.com/paypal/AATT
1 de 31

Recomendados

Website Accessibility por
Website AccessibilityWebsite Accessibility
Website AccessibilityNishan Bose
1.7K vistas30 diapositivas
Web accessibility por
Web accessibilityWeb accessibility
Web accessibilityAGILEDROP
9.3K vistas27 diapositivas
Web accessibility por
Web accessibilityWeb accessibility
Web accessibilityPatrick Broens
2.5K vistas28 diapositivas
Web Accessibility: A Shared Responsibility por
Web Accessibility: A Shared ResponsibilityWeb Accessibility: A Shared Responsibility
Web Accessibility: A Shared ResponsibilityJoseph Dolson
3.9K vistas36 diapositivas
Understanding Web Accessibility por
Understanding Web AccessibilityUnderstanding Web Accessibility
Understanding Web AccessibilityAndrea Dubravsky
2.7K vistas38 diapositivas
Accessibility por
AccessibilityAccessibility
AccessibilityElizabeth Chesters
437 vistas33 diapositivas

Más contenido relacionado

La actualidad más candente

Understanding and Supporting Web Accessibility por
Understanding and Supporting Web AccessibilityUnderstanding and Supporting Web Accessibility
Understanding and Supporting Web AccessibilityRachel Cherry
4.9K vistas54 diapositivas
Introduction To Web Accessibility por
Introduction To Web AccessibilityIntroduction To Web Accessibility
Introduction To Web AccessibilitySteven Swafford
11K vistas24 diapositivas
Web accessibility 101: The why, who, what, and how of "a11y" por
Web accessibility 101: The why, who, what, and how of "a11y"Web accessibility 101: The why, who, what, and how of "a11y"
Web accessibility 101: The why, who, what, and how of "a11y"ecentricarts
4.3K vistas65 diapositivas
Design for accessibility por
Design for accessibilityDesign for accessibility
Design for accessibilityYogeshDaphane
317 vistas28 diapositivas
Web Accessibility por
Web AccessibilityWeb Accessibility
Web AccessibilityZoe Gillenwater
2K vistas65 diapositivas
Web accessibility: it’s everyone’s responsibility por
Web accessibility: it’s everyone’s responsibilityWeb accessibility: it’s everyone’s responsibility
Web accessibility: it’s everyone’s responsibilityMedia Access Australia
1.7K vistas26 diapositivas

La actualidad más candente(20)

Understanding and Supporting Web Accessibility por Rachel Cherry
Understanding and Supporting Web AccessibilityUnderstanding and Supporting Web Accessibility
Understanding and Supporting Web Accessibility
Rachel Cherry4.9K vistas
Introduction To Web Accessibility por Steven Swafford
Introduction To Web AccessibilityIntroduction To Web Accessibility
Introduction To Web Accessibility
Steven Swafford11K vistas
Web accessibility 101: The why, who, what, and how of "a11y" por ecentricarts
Web accessibility 101: The why, who, what, and how of "a11y"Web accessibility 101: The why, who, what, and how of "a11y"
Web accessibility 101: The why, who, what, and how of "a11y"
ecentricarts4.3K vistas
Design for accessibility por YogeshDaphane
Design for accessibilityDesign for accessibility
Design for accessibility
YogeshDaphane317 vistas
A Web for Everyone: Accessibility as a design challenge por Whitney Quesenbery
A Web for Everyone: Accessibility as a design challengeA Web for Everyone: Accessibility as a design challenge
A Web for Everyone: Accessibility as a design challenge
Whitney Quesenbery32K vistas
What Is Accessibility Testing? por QA InfoTech
What Is Accessibility Testing?What Is Accessibility Testing?
What Is Accessibility Testing?
QA InfoTech3.2K vistas
Accessible Design Presentation por Topher Kanyuga
Accessible Design PresentationAccessible Design Presentation
Accessible Design Presentation
Topher Kanyuga822 vistas
Accessibility Testing 101 por Patrick Dunphy
Accessibility Testing 101Accessibility Testing 101
Accessibility Testing 101
Patrick Dunphy4.3K vistas
WCAG 2.0, Simplified por ciwstudy
WCAG 2.0, SimplifiedWCAG 2.0, Simplified
WCAG 2.0, Simplified
ciwstudy6.7K vistas
Web Content Accessibility Guidelines por PurnimaAgarwal6
Web Content Accessibility GuidelinesWeb Content Accessibility Guidelines
Web Content Accessibility Guidelines
PurnimaAgarwal6549 vistas
Accessibility testing kailash 26_nov_ 2010 por Kailash More
Accessibility testing kailash 26_nov_ 2010Accessibility testing kailash 26_nov_ 2010
Accessibility testing kailash 26_nov_ 2010
Kailash More637 vistas
ADA Compliance and Website Accessibility por SilverTech
ADA Compliance and Website AccessibilityADA Compliance and Website Accessibility
ADA Compliance and Website Accessibility
SilverTech558 vistas

Similar a Web Accessibility for Web Developers

Web Accessibility in Drupal por
Web Accessibility in DrupalWeb Accessibility in Drupal
Web Accessibility in DrupalPromet Source
68 vistas37 diapositivas
Microsoft Word - Sample Report por
Microsoft Word - Sample ReportMicrosoft Word - Sample Report
Microsoft Word - Sample ReportMicrosoft Accessibility
8K vistas17 diapositivas
Website Accessibility Workshop por
Website Accessibility WorkshopWebsite Accessibility Workshop
Website Accessibility WorkshopDevin Olson
35 vistas54 diapositivas
E-accessibility and WCAG2.0 presentation por
E-accessibility and WCAG2.0 presentationE-accessibility and WCAG2.0 presentation
E-accessibility and WCAG2.0 presentationMonica Seeber
677 vistas43 diapositivas
Ideas 5 - Roger Hudson - Understanding WCAG 2.0 por
Ideas 5 - Roger Hudson - Understanding WCAG 2.0Ideas 5 - Roger Hudson - Understanding WCAG 2.0
Ideas 5 - Roger Hudson - Understanding WCAG 2.0awia
1.6K vistas46 diapositivas
Accessibility Update: Section 508 and WCAG in a Library 2.0 World por
Accessibility Update: Section 508 and WCAG in a Library 2.0 WorldAccessibility Update: Section 508 and WCAG in a Library 2.0 World
Accessibility Update: Section 508 and WCAG in a Library 2.0 WorldNina McHale
1.3K vistas91 diapositivas

Similar a Web Accessibility for Web Developers(20)

Web Accessibility in Drupal por Promet Source
Web Accessibility in DrupalWeb Accessibility in Drupal
Web Accessibility in Drupal
Promet Source68 vistas
Website Accessibility Workshop por Devin Olson
Website Accessibility WorkshopWebsite Accessibility Workshop
Website Accessibility Workshop
Devin Olson35 vistas
E-accessibility and WCAG2.0 presentation por Monica Seeber
E-accessibility and WCAG2.0 presentationE-accessibility and WCAG2.0 presentation
E-accessibility and WCAG2.0 presentation
Monica Seeber677 vistas
Ideas 5 - Roger Hudson - Understanding WCAG 2.0 por awia
Ideas 5 - Roger Hudson - Understanding WCAG 2.0Ideas 5 - Roger Hudson - Understanding WCAG 2.0
Ideas 5 - Roger Hudson - Understanding WCAG 2.0
awia1.6K vistas
Accessibility Update: Section 508 and WCAG in a Library 2.0 World por Nina McHale
Accessibility Update: Section 508 and WCAG in a Library 2.0 WorldAccessibility Update: Section 508 and WCAG in a Library 2.0 World
Accessibility Update: Section 508 and WCAG in a Library 2.0 World
Nina McHale1.3K vistas
Making Learning Products Accessible por Magic Software
Making Learning Products AccessibleMaking Learning Products Accessible
Making Learning Products Accessible
Magic Software45 vistas
A Web Design Framework for Improved Accessibility for People with Disabilitie... por Yeliz Yesilada
A Web Design Framework for Improved Accessibility for People with Disabilitie...A Web Design Framework for Improved Accessibility for People with Disabilitie...
A Web Design Framework for Improved Accessibility for People with Disabilitie...
Yeliz Yesilada961 vistas
Accessibility (WCAG) Draft 1 por Jaime Brown
Accessibility (WCAG) Draft 1Accessibility (WCAG) Draft 1
Accessibility (WCAG) Draft 1
Jaime Brown202 vistas
Wipa Seminar WCAG 2.0 por Roger Hudson
Wipa Seminar WCAG 2.0Wipa Seminar WCAG 2.0
Wipa Seminar WCAG 2.0
Roger Hudson1.2K vistas
UX-Driven & Inclusive Data Visualizations por Michelle Michael
UX-Driven & Inclusive Data VisualizationsUX-Driven & Inclusive Data Visualizations
UX-Driven & Inclusive Data Visualizations
Michelle Michael708 vistas
How is Drupal Ensuring the Web Accessibility Standards? por OpenSense Labs
How is Drupal Ensuring the Web Accessibility Standards?How is Drupal Ensuring the Web Accessibility Standards?
How is Drupal Ensuring the Web Accessibility Standards?
OpenSense Labs1.9K vistas
Original Access U 2013 - 508 Refresh por Barry Johnson
Original Access U 2013 - 508 RefreshOriginal Access U 2013 - 508 Refresh
Original Access U 2013 - 508 Refresh
Barry Johnson574 vistas
Web Site Accessibility: Identifying and Fixing Accessibility Problems in Clie... por Porfirio Tramontana
Web Site Accessibility: Identifying and Fixing Accessibility Problems in Clie...Web Site Accessibility: Identifying and Fixing Accessibility Problems in Clie...
Web Site Accessibility: Identifying and Fixing Accessibility Problems in Clie...
Porfirio Tramontana1.5K vistas
Seth Duffy Accessibility97035 por FNian
Seth Duffy   Accessibility97035Seth Duffy   Accessibility97035
Seth Duffy Accessibility97035
FNian369 vistas
Designing and Testing for Digital Accessibility por Usability Matters
Designing and Testing for Digital AccessibilityDesigning and Testing for Digital Accessibility
Designing and Testing for Digital Accessibility
Usability Matters2.1K vistas

Más de Alexander Loechel

Lightning Talk: Regulation (EU) 2018/1724 "Single Digital Gateway" & the "You... por
Lightning Talk: Regulation (EU) 2018/1724 "Single Digital Gateway" & the "You...Lightning Talk: Regulation (EU) 2018/1724 "Single Digital Gateway" & the "You...
Lightning Talk: Regulation (EU) 2018/1724 "Single Digital Gateway" & the "You...Alexander Loechel
218 vistas11 diapositivas
The Plone is dead, long live the Plone! por
The Plone is dead, long live the Plone!The Plone is dead, long live the Plone!
The Plone is dead, long live the Plone!Alexander Loechel
802 vistas71 diapositivas
We are the Plone Collective. Resistance is futile. Assimilation is inevitable. por
We are the Plone Collective. Resistance is futile. Assimilation is inevitable.We are the Plone Collective. Resistance is futile. Assimilation is inevitable.
We are the Plone Collective. Resistance is futile. Assimilation is inevitable.Alexander Loechel
547 vistas51 diapositivas
Plone.org Improvements - Plone Addon Listing por
Plone.org Improvements - Plone Addon ListingPlone.org Improvements - Plone Addon Listing
Plone.org Improvements - Plone Addon ListingAlexander Loechel
419 vistas20 diapositivas
Plone, quo vadis? por
Plone, quo vadis?Plone, quo vadis?
Plone, quo vadis?Alexander Loechel
481 vistas100 diapositivas
Sphinx options to make training documentation easier to understand por
Sphinx options to make training documentation easier to understandSphinx options to make training documentation easier to understand
Sphinx options to make training documentation easier to understandAlexander Loechel
532 vistas8 diapositivas

Más de Alexander Loechel(14)

Lightning Talk: Regulation (EU) 2018/1724 "Single Digital Gateway" & the "You... por Alexander Loechel
Lightning Talk: Regulation (EU) 2018/1724 "Single Digital Gateway" & the "You...Lightning Talk: Regulation (EU) 2018/1724 "Single Digital Gateway" & the "You...
Lightning Talk: Regulation (EU) 2018/1724 "Single Digital Gateway" & the "You...
Alexander Loechel218 vistas
The Plone is dead, long live the Plone! por Alexander Loechel
The Plone is dead, long live the Plone!The Plone is dead, long live the Plone!
The Plone is dead, long live the Plone!
Alexander Loechel802 vistas
We are the Plone Collective. Resistance is futile. Assimilation is inevitable. por Alexander Loechel
We are the Plone Collective. Resistance is futile. Assimilation is inevitable.We are the Plone Collective. Resistance is futile. Assimilation is inevitable.
We are the Plone Collective. Resistance is futile. Assimilation is inevitable.
Alexander Loechel547 vistas
Plone.org Improvements - Plone Addon Listing por Alexander Loechel
Plone.org Improvements - Plone Addon ListingPlone.org Improvements - Plone Addon Listing
Plone.org Improvements - Plone Addon Listing
Alexander Loechel419 vistas
Sphinx options to make training documentation easier to understand por Alexander Loechel
Sphinx options to make training documentation easier to understandSphinx options to make training documentation easier to understand
Sphinx options to make training documentation easier to understand
Alexander Loechel532 vistas
Web Content-Management-Systeme the Past - the Present - the Future por Alexander Loechel
Web Content-Management-Systeme the Past - the Present - the FutureWeb Content-Management-Systeme the Past - the Present - the Future
Web Content-Management-Systeme the Past - the Present - the Future
Alexander Loechel371 vistas
Plone, the Python CMS & Web Framework for Advanced Topics and Non-Developers por Alexander Loechel
Plone, the Python CMS & Web Framework for Advanced Topics and Non-DevelopersPlone, the Python CMS & Web Framework for Advanced Topics and Non-Developers
Plone, the Python CMS & Web Framework for Advanced Topics and Non-Developers
Alexander Loechel603 vistas
Lightning Talk: Security matters @ploneconf 2014 por Alexander Loechel
Lightning Talk: Security matters @ploneconf 2014Lightning Talk: Security matters @ploneconf 2014
Lightning Talk: Security matters @ploneconf 2014
Alexander Loechel452 vistas

Último

Advanced API Mocking Techniques por
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking TechniquesDimpy Adhikary
18 vistas11 diapositivas
HarshithAkkapelli_Presentation.pdf por
HarshithAkkapelli_Presentation.pdfHarshithAkkapelli_Presentation.pdf
HarshithAkkapelli_Presentation.pdfharshithakkapelli
11 vistas16 diapositivas
DSD-INT 2023 HydroMT model building and river-coast coupling in Python - Bove... por
DSD-INT 2023 HydroMT model building and river-coast coupling in Python - Bove...DSD-INT 2023 HydroMT model building and river-coast coupling in Python - Bove...
DSD-INT 2023 HydroMT model building and river-coast coupling in Python - Bove...Deltares
15 vistas17 diapositivas
DevsRank por
DevsRankDevsRank
DevsRankdevsrank786
10 vistas1 diapositiva
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema por
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - GeertsemaDSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - GeertsemaDeltares
12 vistas13 diapositivas
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut... por
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...HCLSoftware
6 vistas2 diapositivas

Último(20)

Advanced API Mocking Techniques por Dimpy Adhikary
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking Techniques
Dimpy Adhikary18 vistas
DSD-INT 2023 HydroMT model building and river-coast coupling in Python - Bove... por Deltares
DSD-INT 2023 HydroMT model building and river-coast coupling in Python - Bove...DSD-INT 2023 HydroMT model building and river-coast coupling in Python - Bove...
DSD-INT 2023 HydroMT model building and river-coast coupling in Python - Bove...
Deltares15 vistas
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema por Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - GeertsemaDSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
Deltares12 vistas
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut... por HCLSoftware
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
HCLSoftware6 vistas
Roadmap y Novedades de producto por Neo4j
Roadmap y Novedades de productoRoadmap y Novedades de producto
Roadmap y Novedades de producto
Neo4j43 vistas
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)... por Deltares
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...
Deltares9 vistas
El Arte de lo Possible por Neo4j
El Arte de lo PossibleEl Arte de lo Possible
El Arte de lo Possible
Neo4j34 vistas
What Can Employee Monitoring Software Do?​ por wAnywhere
What Can Employee Monitoring Software Do?​What Can Employee Monitoring Software Do?​
What Can Employee Monitoring Software Do?​
wAnywhere18 vistas
Les nouveautés produit Neo4j por Neo4j
 Les nouveautés produit Neo4j Les nouveautés produit Neo4j
Les nouveautés produit Neo4j
Neo4j27 vistas
Best Mics For Your Live Streaming por ontheflystream
Best Mics For Your Live StreamingBest Mics For Your Live Streaming
Best Mics For Your Live Streaming
ontheflystream6 vistas
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... por Marc Müller
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Marc Müller31 vistas
DSD-INT 2023 Dam break simulation in Derna (Libya) using HydroMT_SFINCS - Prida por Deltares
DSD-INT 2023 Dam break simulation in Derna (Libya) using HydroMT_SFINCS - PridaDSD-INT 2023 Dam break simulation in Derna (Libya) using HydroMT_SFINCS - Prida
DSD-INT 2023 Dam break simulation in Derna (Libya) using HydroMT_SFINCS - Prida
Deltares17 vistas
Applying Platform Engineering Thinking to Observability.pdf por Natan Yellin
Applying Platform Engineering Thinking to Observability.pdfApplying Platform Engineering Thinking to Observability.pdf
Applying Platform Engineering Thinking to Observability.pdf
Natan Yellin12 vistas
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM... por Deltares
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...
Deltares7 vistas
Citi TechTalk Session 2: Kafka Deep Dive por confluent
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Dive
confluent17 vistas

Web Accessibility for Web Developers

  • 1. Web Accessibility For Web Developers Alexander Loechel
  • 3. Disabilities come in many forms Visual Hearing Mobility Speech Cognitive Neural ● Cataracts ● Sun glare ● Color blind ● Low vision ● Blind ● Noise ● Ear infection ● Hard of hearing ● Deaf ● Hands full ● Broken arm ● Spinal cord injury ● Amelia ● Ambient noise ● Speech impediment ● Unable to speak ● Sleepy ● Distraction ● Migraine ● Learning disabilities ● Autism ● Seizure ● Depression ● PTSD ● Bipolar ● Anxiety Permanent disability Situational requirement Temporary impairment
  • 5. W3C Web Accessibility initiative (WAI) WAI Standards: ● Web Content Accessibility Guidelines (WCAG) 2.0 (~BITV 2.0) ● Authoring Tool Accessibility Guidelines (ATAG) 2.0 Web Developer ● Accessible Rich Internet Applications (WAI-ARIA) Suite ● User Agent Accessibility Guidelines (UAAG) 2.0 Tool Developer (Browser) ● Independent User Interface (Indie UI) ● Website Accessibility Conformance Evaluation Methodology (WCAG-EM) 1.0 ● Evaluation and Report Language (EARL) Overview
  • 6. WAI - Conformance Level ● Level A (minimum level of conformance) ● Level AA (required minimum for all major pages and Baseline) ● Level AAA Conformance is for full Web page(s) only, and cannot be achieved if parts of a Web page is excluded → CMS must provide a certain level of conformance for each of its parts
  • 7. WAI Conformance Claims (WCAG) 1. Date of the claim 2. Guidelines title, version and URI "Web Content Accessibility Guidelines 2.0 at http://www.w3.org/TR/2008/REC-WCAG20-20081211/" 3. Conformance level satisfied: (Level A, AA or AAA) 4. A concise description of the Web pages, such as a list of URIs for which the claim is made, including whether subdomains are included in the claim. 5. A list of the Web content technologies relied upon. Conformance is defined only for Web pages. However, a conformance claim may be made to cover one page, a series of pages, or multiple related Web pages. → A conformance Claim only makes sense for a certain moment in time
  • 8. BITV 2.0 vs. WAI-WCAG 2.0 The German “Verordnung zur Schaffung barrierefreier Informationstechnik nach dem Behindertengleichstellungsgesetz (Barrierefreie-Informations- technik-Verordnung - BITV 2.0)” is a German regulation that requires all governmental Organisations and institutions to meet the Requirements of the WCAG 2.0 and other WAI Standards for all ● Internet ● Intranet / Extranet ● Graphical User interfaces that are public And additional requirements (e.g. Explanations in easy / plain language and German sign language)
  • 9. WCAG Principles 1. Perceivable Information and user interface components must be presentable to users in ways they can perceive. 2. Operable User interface components and navigation must be operable. 3. Understandable Information and the operation of user interface must be understandable. 4. Robust Content must be robust enough that it can be interpreted reliably by a wide variety of user agents, including assistive technologies.
  • 10. Accessibility is no Rocket Science
  • 12. Accessibility and SEO goes hand in hand What is easier for a human to understand is easier for a machine to understand & present and vice versa ● Valid Markup and semantic usage of Markup ○ h1-h6 for headings ● Special attribution for structured data ○ Microformats → schema.org (Person, Event, Location, ...) ○ Open Graph Protocol
  • 13. Systematic Order to Implement Accessibility 1. Principle 4: Robust 4.1.1 Parsing (A) 4.1.2 Name, Role, Value (A) 2. Principle 1: Perceivable 1.4.1 Use of Colors (A) Matter of Design 1.4.3 / 1.4.6 Contrast (Minimum/Enhanced) (AA/AAA) 3. Principle 2: Operable 2.1.1 Keyboard (A) 2.1.2 No Keyboard Trap (A) 2.4.1 Bypass Blocks (A) 2.4.2 Page Titled (A) 2.4.7 Focus Visible (AA) 4. Principle 3: Understandable 3.1.1 Language of Page (A) 3.2.3 Consistent Navigation (AA) 3.3 Forms (A - AAA) Valid semantic HTML is accessible by default; Design could make a Website inaccessible!
  • 14. Principle 4: Robust Content must be robust enough that it can be interpreted reliably by a wide variety of user agents, including assistive technologies. Guideline 4.1 Compatible: Maximize compatibility with current and future user agents, including assistive technologies. 4.1.1 Parsing: In content implemented using markup languages, elements have complete start and end tags, elements are nested according to their specifications, elements do not contain duplicate attributes, and any IDs are unique, except where the specifications allow these features. (Level A) → Validity of Markup 4.1.2 Name, Role, Value: For all user interface components (including but not limited to: form elements, links and components generated by scripts), the name and role can be programmatically determined; states, properties, and values that can be set by the user can be programmatically set; and notification of changes to these items is available to user agents, including assistive technologies. (Level A) → Semantic Use of Markup Valid & proper semantic use of Markup
  • 16. sectioning Hypertext Markup Language (HTML) Spezifikation defines basic grammar for markup information. Sectioning content defines the structure of the Webpage and scope of context information. Headings → <header>, <h1> - <h6> & <footer> elements are bound to scopes: Major Scope: The whole Website: <body> ← Sectioning root <header>...<header> <main>...<main> <footer>...</footer> </body> Sub Scopes: ● <article> ● <aside> ● <nav> ● <section> Each Section requires at least one heading
  • 17. Principle 1: Perceivable Information and user interface components must be presentable to users in ways they can perceive. Guideline 1.1 Text Alternatives: Provide text alternatives for any non-text content so that it can be changed into other forms people need, such as large print, braille, speech, symbols or simpler language. → alt for images, audio and video, table descriptions, ... Guideline 1.2 Time-based Media: Provide alternatives for time-based media. Guideline 1.3 Adaptable: Create content that can be presented in different ways (for example simpler layout) without losing information or structure. Guideline 1.4 Distinguishable: Make it easier for users to see and hear content including separating foreground from background. → Color and Contrast
  • 18. 1.4.1 Use of Color & 1.4.3/1.4.6 Contrast 1.4.1 Use of Color: Color is not used as the only visual means of conveying information, indicating an action, prompting a response, or distinguishing a visual element. (Level A) 1.4.3 Contrast (Minimum): The visual presentation of text and images of text has a contrast ratio of at least 4.5:1, except for the following: (Level AA) ● Large Text: Large-scale text and images of large-scale text have a contrast ratio of at least 3:1; ● Incidental: Text or images of text that are part of an inactive user interface component, that are pure decoration, that are not visible to anyone, or that are part of a picture that contains significant other visual content, have no contrast requirement. ● Logotypes: Text that is part of a logo or brand name has no minimum contrast requirement. 1.4.6 Contrast (Enhanced): The visual presentation of text and images of text has a contrast ratio of at least 7:1, except for the following: (Level AAA) ● Large Text: Large-scale text and images of large-scale text have a contrast ratio of at least 4.5:1;
  • 19. Principle 2: Operable User interface components and navigation must be operable. Guideline 2.1 Keyboard Accessible: Make all functionality available from a keyboard. 2.1.1 Keyboard: All functionality of the content is operable through a keyboard interface without requiring specific timings for individual keystrokes, except where the underlying function requires input that depends on the path of the user's movement and not just the endpoints. (Level A) 2.1.2 No Keyboard Trap: If keyboard focus can be moved to a component of the page using a keyboard interface, then focus can be moved away from that component using only a keyboard interface, and, if it requires more than unmodified arrow or tab keys or other standard exit methods, the user is advised of the method for moving focus away. (Level A) Guideline 2.2 Enough Time: Provide users enough time to read and use content. Guideline 2.3 Seizures: Do not design content in a way that is known to cause seizures. Guideline 2.4 Navigable: Provide ways to help users navigate, find content, and determine where they are.
  • 20. Principle 3: Understandable Information and the operation of user interface must be understandable. Guideline 3.1 Readable: Make text content readable and understandable. 3.1.1 Language of Page: The default human language of each Web page can be programmatically determined. (Level A) 3.1.2 Language of Parts: The human language of each passage or phrase in the content can be programmatically determined except for proper names, technical terms, words of indeterminate language, and words or phrases that have become part of the vernacular of the immediately surrounding text. (Level AA) → Information about Language, Unusual Words and Abbreviations Guideline 3.2 Predictable: Make Web pages appear and operate in predictable ways. → Focus, Consistent Navigation, ... Guideline 3.3 Input Assistance: Help users avoid and correct mistakes. → Forms
  • 22. The Zen of Python - PEP20 Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated. Flat is better than nested. Sparse is better than dense. Readability counts. Special cases aren't special enough to break the rules. Although practicality beats purity. Errors should never pass silently. Unless explicitly silenced. ...
  • 23. Conflict of Design & Accessibility Well; Conflict of Bad Designers with Accessibility
  • 24. Example special Headings <article id="..." class="..."> <header> <h3> <small>Forscher zweifeln</small> Hat es den Urknall gar nicht gegeben? </h3> <p class="byline"> <date class="byline_publication_date" timestamp=”2017-12-08”>Freitag 08.12.2017</date> &nbsp;&mdash;&nbsp; <span class="byline_author">DPA</span> </p> </header> <p class="abstract">Text</p> <footer> <h4>Related Items</h4> <ul>...</ul> </footer> </article>
  • 25. Example More… / Details Button Best way restructure so that the whole Heading and Abstract is a link or work with “visually hidden” (Screen Reader visible) elements : <a href="" class="btn"> Mehr… <span class="sr-only"> zu <span tal:replace="item/title">Artikel Titel</span> </span> </a> Show for Screen Reader Only: Bootstrap: sr-only Zurb Foundation: show-for-sr
  • 26. “The first principle is that you must not fool yourself - and you are the easiest person to fool.” Richard Feynman
  • 28. The Problem of Testing “Program testing can be used to show the presence of bugs, but never show their absence!” Edsger Dijkstra → Testing is about responsibility & sustainability
  • 29. Tools ● Browser itself: → Scale of text → Tab → Focus ● OS: → e.g. Mac OS X / iOS VoiceOver ● Browser Plugins ● Webtools ● Testsuites Demo WCAG-Test / Demo Web-Relaunch
  • 30. Browser Plugins Firefox + Chrome: ● HeadingMaps (Firefox / Chrome) ● Web Developer ● Wave Browser Extension ● aXe Firefox only ● opquast desktop ● https://addons.mozilla.org/en-US/firefox/addon/fangs-screen-reader-emulator/ ● https://addons.mozilla.org/en-US/firefox/addon/wcag-contrast-checker/ Chrome only ● Siteimprove Accessibility Checker
  • 31. More Tools Website-Tools¶ ● Wave Color / Contrast-ratio calculators ● https://webaim.org/resources/contrastchecker/ ● https://contrastchecker.com/ ● http://leaverou.github.io/contrast-ratio/ <-- Nice Testing ● http://www.msfw.com/Services/ContrastRatioCalculator Standalone Applications and Continuous Integration Frameworks ● http://asqatasun.org/ ● https://github.com/paypal/AATT