SlideShare ist ein Scribd-Unternehmen logo
VEGARD HAUGSTVEDT
RESISTANCE IS
FUTILE:
START WRITING
ACCESSIBLE
WEBSITES
NOW!
• What is accessibility?
• Common mistakes
• Semantical HTML5
• WAI-ARIA and JS-apps
• Code verification
WHAT IS
ACCESSIBILITY?
THE FOUR
PRINCIPALS OF
ACCESSIBILITY
Perceivable
RobustUnderstandable
Operable
ACCESSIBILITY
API
ACCESSIBILITY
API
Accessible name
• Label, combined text children, alt
attributes, etc.
Value and properties
• The value of a form element is
handled by the browser.
• Other properties include min and max
values, etc.
State
• Normally set by the browser, but will
need to be handled by custom
components.
Role
• Handled by native HTML element, but
can be overriden with «role» attribute.
Bad example Good example
ACCESSIBILITY API – ACCESSIBLE NAME
Examples from https://www.smashingmagazine.com/2015/03/web-accessibility-with-accessibility-api/
ACCESSIBILITY API – ROLE
• Button
• Slider
• Tab/tabpanel
• Etc.
BEST
PRACTICES
HTML5
DOCUMENT
LANGUAGE
Useful for:
• Screen readers
• Search engines
Can set language for:
• Full document
• Any other tag
SEMANTIC
REGIONS
• Page header
• Page footer
• Navigation
• Main content
• Complementary content
(aside)
SEMANTIC
REGIONS
• Page header
• Page footer
• Navigation
• Main content
• Complementary content
(aside)
HEADINGS
• Heading levels
• Used for navigation
• H1 does not need to be
the first heading
CONTENT
STRUCTURE
• Article
• Section
• Paragraph
• Unordered / Ordered List
• Blockquote
• Description List
• Figure/figcaption
• Images
• Tables
LINKS VS
BUTTONS
LINKS VS
BUTTONS
• Links  Navigation
• Buttons  Action
• Do not create custom
buttons or links unless
you know what you are
doing!
LINKS AND
BUTTONS
– TIPS
• Never remove underline for
links!
• Default tabindex=‘’0’’
• Images in link - Does it have a
purpose?  Add alt-text.
• Links and buttons should react
to mouse click, enter and space
IMAGES
IMAGES
With text in image
• If the image contains text
that is meaningful and not
otherwise present
 Use alt-attribute
• If the text is only for visual
effects or the text is present
elsewhere on the site
 Use empty alt-attribute
IMAGES
Image in link or button
• If it would be difficult to
understand what the link
or buttons does without
the image there
 Use alt-attribute
IMAGES
Image gives meaning to the
page or context
• If it is a simple graphic or
photograph
 Use alt-attribute
• If it is a graph or complex piece
of information
 Use alt-attribute
• If it shows content that is
redundant to text nearby
 Use empty alt-attribute
IMAGES
Image is purely decorative
or not intended for the
user
 Use empty lt-attribute
IMAGES
Tips for choosing alt-texts
• Image you are reading a
website aloud over the phone.
• Put the most important
information first
• The text should be as concise
as possible.
• Do not start with «image of»,
«icon», etc.
• Logos are exempt from the
rules
SVG-
IMAGES
Referenced with src-attribute
• Use the methods described for
images in general
Inline SVG
• Provide a title within the svg-tag
• Reference the title with aria-
labelled-by on the svg-tag.
MENUS
MENU
STRUCTURE
• List of links
• Nav-element
• Label
• Indicate current page
FORM
ELEMENTS
FORMS -
LABELS
• Associate label with input
element.
• Visually hide the label or
use aria-labelledby if
purpose is clear.
FORMS –
INSTRUCTIONS
• Within labels
• Outside of label
• aria-labelledby
• aria-describedby
• Beware of relying on
placeholders!
• Remember to mark required
items both programmatically
and visually!
FORMS –
GROUPING
CONTROLS
• Fieldset
• Legend
• For radio buttons,
checkboxes or related fields
• Role=«group»
• Use aria-labelledby to
provide label for the group
FORMS –
FEEDBACK
• Provide feedback next to
the input with an error
• Alert users with assistive
technology (aria-live)
• Don’t lose data
VERIFICATION
TOOLS
CHROME
ACCESSIBILITY
DEVELOPER
TOOLS
• Validate mobile and desktop
view simultaneously
• Inspect the elements that failed
• Find accessibility information for
elements
OTHER
EXAMPLES
NVDA
Speech
viewer
“A big part of accessibility is […] an
easily met responsibility of web
developers:
Know your job, use your tools well, and
many pieces will fall into place as if by
magic.”
- Léonie Watson & Chaals McCathie Nevile
Resistance is futile: Start writing accessible websites now!

Weitere ähnliche Inhalte

Was ist angesagt?

Developing an Accessible Web
Developing an Accessible WebDeveloping an Accessible Web
Developing an Accessible Web
greenideas
 
Creating a Business Oriented UI in APEX
Creating a Business Oriented UI in APEXCreating a Business Oriented UI in APEX
Creating a Business Oriented UI in APEX
Enkitec
 
Thinkful - Frontend Crash Course - Intro to HTML/CSS
Thinkful - Frontend Crash Course - Intro to HTML/CSSThinkful - Frontend Crash Course - Intro to HTML/CSS
Thinkful - Frontend Crash Course - Intro to HTML/CSS
TJ Stalcup
 
Oracle APEX URLs Untangled & SEOptimized
Oracle APEX URLs Untangled & SEOptimizedOracle APEX URLs Untangled & SEOptimized
Oracle APEX URLs Untangled & SEOptimized
Christian Rokitta
 
Code & design your first website (3:16)
Code & design your first website (3:16)Code & design your first website (3:16)
Code & design your first website (3:16)
Thinkful
 
Browser Developer Tools for APEX Developers
Browser Developer Tools for APEX DevelopersBrowser Developer Tools for APEX Developers
Browser Developer Tools for APEX Developers
Christian Rokitta
 
Abstract #236765 advanced essbase java api tips and tricks
Abstract #236765 advanced essbase java api tips and tricksAbstract #236765 advanced essbase java api tips and tricks
Abstract #236765 advanced essbase java api tips and tricks
timtow
 
Html css crash course may 11th, atlanta
Html css crash course may 11th, atlantaHtml css crash course may 11th, atlanta
Html css crash course may 11th, atlanta
Thinkful
 
Apex & jQuery Mobile
Apex & jQuery MobileApex & jQuery Mobile
Apex & jQuery Mobile
Christian Rokitta
 
Atlanta Drupal User Group (ADUG)
Atlanta Drupal User Group (ADUG) Atlanta Drupal User Group (ADUG)
Atlanta Drupal User Group (ADUG)
Mediacurrent
 
Sencha and Spring (Spring 2GX 2013)
Sencha and Spring (Spring 2GX 2013) Sencha and Spring (Spring 2GX 2013)
Sencha and Spring (Spring 2GX 2013)
Sencha
 
Keeping Your Website Accessible
Keeping Your Website AccessibleKeeping Your Website Accessible
Keeping Your Website Accessible
Kelli Wise
 
Why & How to Create a WordPress Plugin
Why & How to Create a WordPress PluginWhy & How to Create a WordPress Plugin
Why & How to Create a WordPress Plugin
Joe Querin
 
Thoughts on Component Resuse
Thoughts on Component ResuseThoughts on Component Resuse
Thoughts on Component Resuse
Justin Edelson
 
Golden Rules for Effective Alt-Text. AbilityNet Webinar, March 2014
Golden Rules for Effective Alt-Text. AbilityNet Webinar, March 2014Golden Rules for Effective Alt-Text. AbilityNet Webinar, March 2014
Golden Rules for Effective Alt-Text. AbilityNet Webinar, March 2014
AbilityNet
 
HTML Semantic Tags
HTML Semantic TagsHTML Semantic Tags
HTML Semantic Tags
Bruce Kyle
 
Aria Widgets
Aria WidgetsAria Widgets
Aria Widgets
toddkloots
 
flickr's architecture & php
flickr's architecture & php flickr's architecture & php
flickr's architecture & php
coolpics
 
Single Page Application Development with backbone.js and Simple.Web
Single Page Application Development with backbone.js and Simple.WebSingle Page Application Development with backbone.js and Simple.Web
Single Page Application Development with backbone.js and Simple.Web
Chris Canal
 
ECS 19 Bert Jansen - Taking your SharePoint to the next level – Transforming ...
ECS 19 Bert Jansen - Taking your SharePoint to the next level – Transforming ...ECS 19 Bert Jansen - Taking your SharePoint to the next level – Transforming ...
ECS 19 Bert Jansen - Taking your SharePoint to the next level – Transforming ...
European Collaboration Summit
 

Was ist angesagt? (20)

Developing an Accessible Web
Developing an Accessible WebDeveloping an Accessible Web
Developing an Accessible Web
 
Creating a Business Oriented UI in APEX
Creating a Business Oriented UI in APEXCreating a Business Oriented UI in APEX
Creating a Business Oriented UI in APEX
 
Thinkful - Frontend Crash Course - Intro to HTML/CSS
Thinkful - Frontend Crash Course - Intro to HTML/CSSThinkful - Frontend Crash Course - Intro to HTML/CSS
Thinkful - Frontend Crash Course - Intro to HTML/CSS
 
Oracle APEX URLs Untangled & SEOptimized
Oracle APEX URLs Untangled & SEOptimizedOracle APEX URLs Untangled & SEOptimized
Oracle APEX URLs Untangled & SEOptimized
 
Code & design your first website (3:16)
Code & design your first website (3:16)Code & design your first website (3:16)
Code & design your first website (3:16)
 
Browser Developer Tools for APEX Developers
Browser Developer Tools for APEX DevelopersBrowser Developer Tools for APEX Developers
Browser Developer Tools for APEX Developers
 
Abstract #236765 advanced essbase java api tips and tricks
Abstract #236765 advanced essbase java api tips and tricksAbstract #236765 advanced essbase java api tips and tricks
Abstract #236765 advanced essbase java api tips and tricks
 
Html css crash course may 11th, atlanta
Html css crash course may 11th, atlantaHtml css crash course may 11th, atlanta
Html css crash course may 11th, atlanta
 
Apex & jQuery Mobile
Apex & jQuery MobileApex & jQuery Mobile
Apex & jQuery Mobile
 
Atlanta Drupal User Group (ADUG)
Atlanta Drupal User Group (ADUG) Atlanta Drupal User Group (ADUG)
Atlanta Drupal User Group (ADUG)
 
Sencha and Spring (Spring 2GX 2013)
Sencha and Spring (Spring 2GX 2013) Sencha and Spring (Spring 2GX 2013)
Sencha and Spring (Spring 2GX 2013)
 
Keeping Your Website Accessible
Keeping Your Website AccessibleKeeping Your Website Accessible
Keeping Your Website Accessible
 
Why & How to Create a WordPress Plugin
Why & How to Create a WordPress PluginWhy & How to Create a WordPress Plugin
Why & How to Create a WordPress Plugin
 
Thoughts on Component Resuse
Thoughts on Component ResuseThoughts on Component Resuse
Thoughts on Component Resuse
 
Golden Rules for Effective Alt-Text. AbilityNet Webinar, March 2014
Golden Rules for Effective Alt-Text. AbilityNet Webinar, March 2014Golden Rules for Effective Alt-Text. AbilityNet Webinar, March 2014
Golden Rules for Effective Alt-Text. AbilityNet Webinar, March 2014
 
HTML Semantic Tags
HTML Semantic TagsHTML Semantic Tags
HTML Semantic Tags
 
Aria Widgets
Aria WidgetsAria Widgets
Aria Widgets
 
flickr's architecture & php
flickr's architecture & php flickr's architecture & php
flickr's architecture & php
 
Single Page Application Development with backbone.js and Simple.Web
Single Page Application Development with backbone.js and Simple.WebSingle Page Application Development with backbone.js and Simple.Web
Single Page Application Development with backbone.js and Simple.Web
 
ECS 19 Bert Jansen - Taking your SharePoint to the next level – Transforming ...
ECS 19 Bert Jansen - Taking your SharePoint to the next level – Transforming ...ECS 19 Bert Jansen - Taking your SharePoint to the next level – Transforming ...
ECS 19 Bert Jansen - Taking your SharePoint to the next level – Transforming ...
 

Ähnlich wie Resistance is futile: Start writing accessible websites now!

Html presentation
Html presentationHtml presentation
Html presentation
Jordan Dichev
 
Webcomponents are your frameworks best friend
Webcomponents are your frameworks best friendWebcomponents are your frameworks best friend
Webcomponents are your frameworks best friend
Filip Bruun Bech-Larsen
 
ARIA_11_12_Practical_Perspective.pptx
ARIA_11_12_Practical_Perspective.pptxARIA_11_12_Practical_Perspective.pptx
ARIA_11_12_Practical_Perspective.pptx
MarkSteadman7
 
Web Accessibility for the 21st Century
Web Accessibility for the 21st CenturyWeb Accessibility for the 21st Century
Web Accessibility for the 21st Century
dreamwidth
 
Introduction to Responsive Web Development
Introduction to Responsive Web DevelopmentIntroduction to Responsive Web Development
Introduction to Responsive Web Development
Nikhil Baby
 
ARIA Techniques for Accessible Web Forms
ARIA Techniques for Accessible Web FormsARIA Techniques for Accessible Web Forms
ARIA Techniques for Accessible Web Forms
Aidan Tierney
 
Frameworks and webcomponents
Frameworks and webcomponentsFrameworks and webcomponents
Frameworks and webcomponents
Filip Bruun Bech-Larsen
 
Riding the Edge with Ember.js
Riding the Edge with Ember.jsRiding the Edge with Ember.js
Riding the Edge with Ember.js
aortbals
 
Accessibility Hacks Wordcamp Manchester October 2018
Accessibility Hacks Wordcamp Manchester October 2018Accessibility Hacks Wordcamp Manchester October 2018
Accessibility Hacks Wordcamp Manchester October 2018
Graham Armfield
 
Accessibility Hacks Version 2
Accessibility Hacks Version 2Accessibility Hacks Version 2
Accessibility Hacks Version 2
Graham Armfield
 
Accessibility Hacks version 2
Accessibility Hacks version 2Accessibility Hacks version 2
Accessibility Hacks version 2
Graham Armfield
 
SVG Icons and Screen Reader Accessibility
SVG Icons and Screen Reader AccessibilitySVG Icons and Screen Reader Accessibility
SVG Icons and Screen Reader Accessibility
Dennis Lembree
 
Web Accessibility Top 10 - LCC (1/2 day workshop, August 2013)
Web Accessibility Top 10 - LCC (1/2 day workshop, August 2013)Web Accessibility Top 10 - LCC (1/2 day workshop, August 2013)
Web Accessibility Top 10 - LCC (1/2 day workshop, August 2013)
Carrie Anton
 
Accessibility 101
Accessibility 101Accessibility 101
Accessibility 101
LindaHurd
 
End to-End SPA Development Using ASP.NET and AngularJS
End to-End SPA Development Using ASP.NET and AngularJSEnd to-End SPA Development Using ASP.NET and AngularJS
End to-End SPA Development Using ASP.NET and AngularJS
Gil Fink
 
Dangerous CSS
Dangerous CSSDangerous CSS
Dangerous CSS
Mike Wilcox
 
EVOLVE'13 | Enhance | Effective SEO | Paul Legan
EVOLVE'13 | Enhance | Effective SEO | Paul LeganEVOLVE'13 | Enhance | Effective SEO | Paul Legan
EVOLVE'13 | Enhance | Effective SEO | Paul Legan
Evolve The Adobe Digital Marketing Community
 
ADF - Layout Managers and Skinning
ADF - Layout Managers and SkinningADF - Layout Managers and Skinning
ADF - Layout Managers and Skinning
George Estebe
 
Making Websites Accessible to People with Disabilities
Making Websites Accessible to People with DisabilitiesMaking Websites Accessible to People with Disabilities
Making Websites Accessible to People with Disabilities
Christian Brink
 
Accessibility (WCAG) Draft 1
Accessibility (WCAG) Draft 1Accessibility (WCAG) Draft 1
Accessibility (WCAG) Draft 1
Jaime Brown
 

Ähnlich wie Resistance is futile: Start writing accessible websites now! (20)

Html presentation
Html presentationHtml presentation
Html presentation
 
Webcomponents are your frameworks best friend
Webcomponents are your frameworks best friendWebcomponents are your frameworks best friend
Webcomponents are your frameworks best friend
 
ARIA_11_12_Practical_Perspective.pptx
ARIA_11_12_Practical_Perspective.pptxARIA_11_12_Practical_Perspective.pptx
ARIA_11_12_Practical_Perspective.pptx
 
Web Accessibility for the 21st Century
Web Accessibility for the 21st CenturyWeb Accessibility for the 21st Century
Web Accessibility for the 21st Century
 
Introduction to Responsive Web Development
Introduction to Responsive Web DevelopmentIntroduction to Responsive Web Development
Introduction to Responsive Web Development
 
ARIA Techniques for Accessible Web Forms
ARIA Techniques for Accessible Web FormsARIA Techniques for Accessible Web Forms
ARIA Techniques for Accessible Web Forms
 
Frameworks and webcomponents
Frameworks and webcomponentsFrameworks and webcomponents
Frameworks and webcomponents
 
Riding the Edge with Ember.js
Riding the Edge with Ember.jsRiding the Edge with Ember.js
Riding the Edge with Ember.js
 
Accessibility Hacks Wordcamp Manchester October 2018
Accessibility Hacks Wordcamp Manchester October 2018Accessibility Hacks Wordcamp Manchester October 2018
Accessibility Hacks Wordcamp Manchester October 2018
 
Accessibility Hacks Version 2
Accessibility Hacks Version 2Accessibility Hacks Version 2
Accessibility Hacks Version 2
 
Accessibility Hacks version 2
Accessibility Hacks version 2Accessibility Hacks version 2
Accessibility Hacks version 2
 
SVG Icons and Screen Reader Accessibility
SVG Icons and Screen Reader AccessibilitySVG Icons and Screen Reader Accessibility
SVG Icons and Screen Reader Accessibility
 
Web Accessibility Top 10 - LCC (1/2 day workshop, August 2013)
Web Accessibility Top 10 - LCC (1/2 day workshop, August 2013)Web Accessibility Top 10 - LCC (1/2 day workshop, August 2013)
Web Accessibility Top 10 - LCC (1/2 day workshop, August 2013)
 
Accessibility 101
Accessibility 101Accessibility 101
Accessibility 101
 
End to-End SPA Development Using ASP.NET and AngularJS
End to-End SPA Development Using ASP.NET and AngularJSEnd to-End SPA Development Using ASP.NET and AngularJS
End to-End SPA Development Using ASP.NET and AngularJS
 
Dangerous CSS
Dangerous CSSDangerous CSS
Dangerous CSS
 
EVOLVE'13 | Enhance | Effective SEO | Paul Legan
EVOLVE'13 | Enhance | Effective SEO | Paul LeganEVOLVE'13 | Enhance | Effective SEO | Paul Legan
EVOLVE'13 | Enhance | Effective SEO | Paul Legan
 
ADF - Layout Managers and Skinning
ADF - Layout Managers and SkinningADF - Layout Managers and Skinning
ADF - Layout Managers and Skinning
 
Making Websites Accessible to People with Disabilities
Making Websites Accessible to People with DisabilitiesMaking Websites Accessible to People with Disabilities
Making Websites Accessible to People with Disabilities
 
Accessibility (WCAG) Draft 1
Accessibility (WCAG) Draft 1Accessibility (WCAG) Draft 1
Accessibility (WCAG) Draft 1
 

Mehr von Vegard Haugstvedt

Accessible components for developers and designers
Accessible components for developers and designersAccessible components for developers and designers
Accessible components for developers and designers
Vegard Haugstvedt
 
WCAG 2.1 for you and me
WCAG 2.1 for you and meWCAG 2.1 for you and me
WCAG 2.1 for you and me
Vegard Haugstvedt
 
WCAG 2.1 for deg og meg
WCAG 2.1 for deg og megWCAG 2.1 for deg og meg
WCAG 2.1 for deg og meg
Vegard Haugstvedt
 
Offline first with Couchbase Mobile
Offline first with Couchbase MobileOffline first with Couchbase Mobile
Offline first with Couchbase Mobile
Vegard Haugstvedt
 
Booster 2017 - from accessibility n00b to pro in 1.5 hrs
Booster 2017 - from accessibility n00b to pro in 1.5 hrsBooster 2017 - from accessibility n00b to pro in 1.5 hrs
Booster 2017 - from accessibility n00b to pro in 1.5 hrs
Vegard Haugstvedt
 
Vegard Haugstvedt - Universelt for alle! Hvordan hele teamet kan ha et forhol...
Vegard Haugstvedt - Universelt for alle! Hvordan hele teamet kan ha et forhol...Vegard Haugstvedt - Universelt for alle! Hvordan hele teamet kan ha et forhol...
Vegard Haugstvedt - Universelt for alle! Hvordan hele teamet kan ha et forhol...
Vegard Haugstvedt
 

Mehr von Vegard Haugstvedt (6)

Accessible components for developers and designers
Accessible components for developers and designersAccessible components for developers and designers
Accessible components for developers and designers
 
WCAG 2.1 for you and me
WCAG 2.1 for you and meWCAG 2.1 for you and me
WCAG 2.1 for you and me
 
WCAG 2.1 for deg og meg
WCAG 2.1 for deg og megWCAG 2.1 for deg og meg
WCAG 2.1 for deg og meg
 
Offline first with Couchbase Mobile
Offline first with Couchbase MobileOffline first with Couchbase Mobile
Offline first with Couchbase Mobile
 
Booster 2017 - from accessibility n00b to pro in 1.5 hrs
Booster 2017 - from accessibility n00b to pro in 1.5 hrsBooster 2017 - from accessibility n00b to pro in 1.5 hrs
Booster 2017 - from accessibility n00b to pro in 1.5 hrs
 
Vegard Haugstvedt - Universelt for alle! Hvordan hele teamet kan ha et forhol...
Vegard Haugstvedt - Universelt for alle! Hvordan hele teamet kan ha et forhol...Vegard Haugstvedt - Universelt for alle! Hvordan hele teamet kan ha et forhol...
Vegard Haugstvedt - Universelt for alle! Hvordan hele teamet kan ha et forhol...
 

Kürzlich hochgeladen

Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
TaghreedAltamimi
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
Top 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptxTop 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptx
devvsandy
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
YousufSait3
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Requirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional SafetyRequirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional Safety
Ayan Halder
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 

Kürzlich hochgeladen (20)

Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
Top 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptxTop 9 Trends in Cybersecurity for 2024.pptx
Top 9 Trends in Cybersecurity for 2024.pptx
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Requirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional SafetyRequirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional Safety
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 

Resistance is futile: Start writing accessible websites now!

Hinweis der Redaktion

  1. [45:00] – Who am I? (Lead consultant at Itera, husband, father, paternity leave) – Brief summary of topic? A practical introduction to creating accessible websites. – Why am I interested in a11y? Color blind, interested in user-centered design, likes to work at the front of frontend. Worked on Storebrand.ny
  2. [44:00]
  3. [43:30]
  4. [43:00] Perceivable – Providing text alternatives, presenting content so it can be perceived (color contrasts), controls for time-based media Operable – Keyboard accessible, help users understand where on the page they are, don’t let users time out and finally preventing seizures. Understandable – Make text readable, give assitance to prevent user errors and make the website be predictable in both presentation and operation. Robust – Make the webpage work with any user agent, like browsers, plugins, «article» readers, etc.
  5. [41:00] So, how does the assistive technologies know what to present to the user? The image on the right shows an example of an Accessibility Tree, which is a modified DOM tree. This removes everything that is only relevant for visual presentation. https://creativecommons.org/licenses/by/3.0/
  6. [40:00]
  7. [38:30]
  8. [37:00]
  9. [35:30]
  10. [35:00] Let’s start by looking at the bigger picture: The HTML document, regions and content structure.
  11. [34:30]
  12. [33:30] Page regions enable assistive technology to indentify regions of the document, sometimes enabling users to jump to that content, or notifying the user of its precence. The header element is used for the region at the top of the page with logo, search, navigation, etc. It can also be used inside articles or sections, and in that case is associated only with that region. Similarly, the footer element is used for the area at the bottom of the page, where you typically can find copyright information, privacy statements and disclaimers. The footer element can also be used inside articles and sections. The nav element is used for navigation menus. Several of these can be used on the same page, but they should be named to make it clear what navigation menu they contain. Screen readers typically has shortcuts to jump to the menu, so marking it as such is essential to speed up navigation. https://www.w3.org/WAI/tutorials/page-structure/ The main content should also be marked up using the main tag. This is both useful for screen readers that has shortcuts for jumping to the main content, but also for other user agents, like article readers/rss feeds that only show the relevant parts of a page, or read-mode in browsers like Edge, where only the main content is shown. Complementary or related content, which support the main content, but can exist on its own, should be marked up using the aside tag. In addition, you can use the article and section tags to mark up individual parts of the content. These tags as well as the main and aside tags should ideally begin with a heading to provide an accessible name for the region, which will be read aloud to users of screen readers, making it easier to identify regions. These headings should have an ID, that the region tag references using aria-labelledby. Another option, where the label should not visibly appear at the page, use aria-label, like I have done with the navigation element in the example here.
  13. [32:30] The main content should also be marked up using the main tag. This is both useful for screen readers that has shortcuts for jumping to the main content, but also for other user agents, like article readers/rss feeds that only show the relevant parts of a page, or read-mode in browsers like Edge, where only the main content is shown. Complementary or related content, which support the main content, but can exist on its own, should be marked up using the aside tag. In addition, you can use the article and section tags to mark up individual parts of the content. These tags as well as the main and aside tags should contain a heading to provide an accessible name for the region, which will be read aloud to users of screen readers, making it easier to identify regions. These headings should have an ID, that the region tag references using aria-labelledby. Another option, where the label should not visibly appear at the page, use aria-label, like I have done with the navigation element in the example here. https://www.w3.org/WAI/tutorials/page-structure/
  14. [31:00] Essential to organize the content of a page. Should be nested logically by rank or level. Headings on equal or higher ranks start a new section, while lower ranks start a subsection as part of the current section. Assistive technology provides means to jump up and down in the hierarchy
  15. [30:00] As mentioned, HTML5 introduced several new tags for semantically organizing content, like the article and section tags. Articles are complete or independent compositions in a web page, like items in a shopping site or a news article on a news site. Sections are used for general regions of a page, and can be used both outside and inside of articles. In addition to these new tags, we have the old tags, like paragraph, lists, and so on. I am amazed at how quickly someone will resort to writing lists with dashes and newline tags instead of using actual list tags. These tags are important, because they inform assistive technology what type of content it is and how to interact with it, as well as providing default styling (which you may override as long as you follow the rules).
  16. [28:00]
  17. [27:30] Links lead the user to a new page or somewhere else on the same page (navigation) Buttons perform an action on the same page – toggle, submit form, etc. Do not create custom buttons or links unless you know what you are doing!
  18. [26:30] Removing underline is almost never a good idea for normal links. Exceptions are for menu items and similar, where you indicate in another fashon that it is a link. Do not remove the href attribute. Doing so will remove the link from the taborder. At least add tabindex if you HAVE TO skip href, but is so you are probably not using the right element anyhow.
  19. [25:00]
  20. [24:30] https://www.w3.org/WAI/tutorials/images/decision-tree/ https://www.w3.org/WAI/tutorials/images/tips/
  21. [23:30] https://www.w3.org/WAI/tutorials/images/decision-tree/ https://www.w3.org/WAI/tutorials/images/tips/
  22. [22:30] https://www.w3.org/WAI/tutorials/images/decision-tree/ https://www.w3.org/WAI/tutorials/images/tips/
  23. [21:30] https://www.w3.org/WAI/tutorials/images/decision-tree/ https://www.w3.org/WAI/tutorials/images/tips/
  24. [21:00] https://www.w3.org/WAI/tutorials/images/decision-tree/ https://www.w3.org/WAI/tutorials/images/tips/
  25. [20:00] https://www.w3.org/WAI/tutorials/images/decision-tree/ https://www.w3.org/WAI/tutorials/images/tips/
  26. [19:00]
  27. [19:30] List of links Nav-element Label Indicate current page – either aria-current or visually hidden text
  28. [18:00]
  29. [17:30]
  30. [16:30]
  31. [15:30]
  32. [14:30]
  33. [05:00]
  34. [04:00]
  35. [03:00]
  36. [01:00]
  37. [00:00]