SlideShare uma empresa Scribd logo
1 de 117
Prototyping Accessibility
Presented by Adrian Roselli for WordCamp Europe 2018
Slides from this workshop will be available at rosel.li/wceu18
PLEASE BREAK INTO GROUPS OF FIVE (5)
Stragglers may be assigned a group.
Introductions
• I’ve written some stuff,
• Member of W3C,
• Building for the web
since 1993,
• Learn more at
AdrianRoselli.com,
• Avoid on Twitter
@aardrian.
About Adrian Roselli
• This trip paid for by The Paciello Group.
About Adrian Roselli
Group Exercise!
Group Exercise!
• Decide on a user interface element. Examples:
• Login form,
• Disclosure widget,
• Data grid,
• Search,
• etc.
• Quickly describe or draw it on paper (no code).
• 15 minutes.
Primer
What is a11y?
• A numeronym for “accessibility”:
• The first and last letter (accessibility),
• The number of characters omitted (a11y).
• Prominent on Twitter (character restrictions):
• #a11y
• Examples:
• l10n → localization
• i18n → internationalization
Disability is not just a health problem. It is
a complex phenomenon, reflecting the
interaction between features of a person’s
body and features of the society in which
he or she lives.
— World Health Organization
Agenda
• Exercise: UI Component
• Primer
• Disability Types
• Who Else?
• Exercise: Overlapping Needs
• User Experience Models
• Exercise: Proto-Persona
• Technical Bits
• Exercise: Prototype
• Wrap-up
Disability Types
Disability Types
• Physical
• Epilepsy
• Mobility
• Fine motor skills
• Hearing
• Deaf
• Hard of Hearing
• Vision
• Color blindness
• Low vision
• Blind
• Cognitive
• ADD/ADHD
• Autism
• Dyslexia/Dyscalculia
• Learning and Language
• Speech
• Stuttering
• Non-verbal
• Cluttering
• Apraxia of speech (AOS)
Disability Types
• Blindness
• Low Vision (including color blindness)
• Deaf and Hard of Hearing
• Speech
• Physical
• Intellectual & Cognitive
Blindness
• Screen reader user
• Keyboard-only user
• Relies on:
• Headings
• Form Elements
• Links
• Landmarks
Low Vision
• May use high contrast modes
• May not be able to differentiate colors
• May scale fonts
• May use a screen magnifier
• May use a screen reader
• Relies on:
• Scaling fonts
• Good contrast
Deaf and Hard of Hearing
• Cannot hear audio cues
• Will struggle if captions are not synchronized
• First language may be sign language
• Relies on:
• Good captions
• Visual cues
• Color cues
• Haptic cues
Speech
• May speak less clearly
• May be non-verbal
• Can be stymied by voice interfaces
• Phone interaction may not be possible
• May use assistive technology
• Relies on:
• Other interactions
Physical
• Temporary to permanent
• Slight to severe
• Can change throughout a day
• May use specialized hardware
• May use a screen reader
• May use dictation software
• Relies on:
• Generous hit areas
• Simple interactions
Intellectual & Cognitive
• May use a screen reader
• May use dictation software
• May benefit from any/all considerations already listed
• Relies on:
• Well-structured content
• Plain language
• Good context
Who Else?
Everyone Else!
Getting Older
• Affects (nearly) everyone,
• Carries risks and side effects,
• Is not for the young.
Rising Damp on Flickr.
Darren Baldwin on Flickr.
Accidents
• Broken limbs,
• Eye injuries,
• Hearing injuries,
• Head trauma.
Rev Stan on Flickr.
Let Ideas Compete on Flickr.
Paul Townsend on Flickr.
But I’m Invincible!
• Multi-tasking,
• Sunlight,
• Eating at your desk,
• No headphones handy,
• Content is not in your native language.
Mariëlle on Flickr.
Seb on Flickr.
Steve Rhodes on Flickr.
SuperFantastic on Flickr.
Lars Kristian Flem on Flickr.
Tech Support
• Think of your family!
• Think of your time spent helping them!
• Think of the wasted holidays!
Robert Simmons on Flickr.
Group Exercise!
Group Exercise!
• Each person in your group must pick a disability type:
1. Low vision
2. Blindness
3. Hearing and Speech
4. Physical
5. Cognitive
• Within your group, discuss where each of your types overlap in:
• Barriers, abilities, needs, etc.
• 15 minutes.
User Experience Models
User Stories
• Components:
• User,
• Outcome,
• Value.
• Writing:
• As user, I want outcome.
• As user, I want outcome so that value.
• In order to get value as user, I want outcome.
Selfish User Stories
• As a user on a sun-lit patio, I want to be able to read the
content and see the controls.
Add beer and as a user I may have trouble focusing.
Selfish User Stories
• As a user in bed with a sleeping spouse, I want to watch a
training video in silence so that I can get caught up at work.
As a user who doesn’t want to get punched for having slacked off at work.
Selfish User Stories
• In order to click links as a user with no elbow room in coach
class with a tiny trackpad, I want click areas to be large enough
and adequately spaced.
As a user in coach class who also paid too much for the drink he’s spilling on his keyboard.
Selfish User Stories
• As a user distracted by the TV, I want clear headings and labels
so that I don’t lose my place.
As a user who really should be finishing his work in the office.
Personas
Book Excerpt: A Web for Everyone, by Sarah Horton, Whitney Quesenbery
Personas
Adrian
• Works when he should be relaxing, relaxes when he should be
working.
• Lives between motorcycles.
• Works late at night with the TV on.
• Uses sub-titles in Netflix.
• Keeps all screens as dark as possible.
Group Exercise!
Group Exercise!
• Develop a (proto-) persona.
• Develop user stories for your persona.
• As user, I want outcome.
• As user, I want outcome so that value.
• In order to get value as user, I want outcome.
• Consider the UI element you created.
• 15 minutes.
Technical Bits
Text Alternatives for Images
• Can you still make sense of the page?
• Is content missing?
• Can you still use the site?
• Is your alt text useful?
• Do you account for CSS background images?
• What about SVGs?
• Or CSS-generated symbols / icons?
http://www.4syllables.com.au/2010/12/text-alternatives-decision-tree/
http://dev.w3.org/html5/alt-techniques/#tree
Text Alternatives for Images
Text Alternatives for Images
Typography Matters
• Leading / line height at least 1.5× font size (WCAG 2.1),
• Space after paragraphs at least 2× font size (WCAG 2.1),
• Letter spacing / tracking at least 0.12× font size (WCAG 2.1),
• Word spacing at least 0.16× font size (WCAG 2.1),
• Avoid justified text,
• Avoid italics,
• Use larger text (lean on browser default),
• Use good contrast,
• Use clear, concise writing.
Typography Matters
Hyperlinks!
• Is there any “click here,” “more,” “link to…”?
Hyperlinks!
• Is there any “click here,” “more,” “link to…”?
• Are you using all-caps, URLs, emoticons?
Hyperlinks!
• Is there any “click here,” “more,” “link to…”?
• Are you using all-caps, URLs, emoticons?
• Do you warn before opening new windows?
Hyperlinks!
• Is there any “click here,” “more,” “link to…”?
• Are you using all-caps, URLs, emoticons?
• Do you warn before opening new windows?
• Do links to downloads provide helpful info?
Hyperlinks!
• Is there any “click here,” “more,” “link to…”?
• Are you using all-caps, URLs, emoticons?
• Do you warn before opening new windows?
• Do links to downloads provide helpful info?
• Are you using pagination links?
Hyperlinks!
• Is there any “click here,” “more,” “link to…”?
• Are you using all-caps, URLs, emoticons?
• Do you warn before opening new windows?
• Do links to downloads provide helpful info?
• Are you using pagination links?
• Are your links underlined (or otherwise obvious)?
Hyperlinks!
• Is there any “click here,” “more,” “link to…”?
• Are you using all-caps, URLs, emoticons?
• Do you warn before opening new windows?
• Do links to downloads provide helpful info?
• Are you using pagination links?
• Are your links underlined (or otherwise obvious)?
• Is there alt text for image links?
Hyperlinks!
• Is there any “click here,” “more,” “link to…”?
• Are you using all-caps, URLs, emoticons?
• Do you warn before opening new windows?
• Do links to downloads provide helpful info?
• Are you using pagination links?
• Are your links underlined (or otherwise obvious)?
• Is there alt text for image links?
• Is the link text consistent?
Hyperlinks!
• You are not Google:
• Users know Google’s layout,
• Users probably don’t visit your site daily.
• Relying on color alone will not suffice (WCAG 1.4.1 [A], 1.4.3 [AA]),
• Necessary contrast values:
• 4.5:1 between text and its background for copy,
• 3:1 between text and its background for larger text,
• 3:1 between surrounding text and a hyperlink, plus an additional visual cue
(G183).
http://adrianroselli.com/2014/03/i-dont-care-what-google-did-just-keep.html
Hyperlinks!
http://www.sitepoint.com/15-rules-making-accessible-links/
Hit Areas
• Make areas large enough to tap,
• Leave space between hit areas to avoid mis-taps/clicks,
• Fitts’ Law (time to target as function of size of target),
• Apple: 44pt × 44pt,
• Microsoft: 48px × 48px (spaced 2mm apart),
• Android: 48dp × 48dp (spaced 8dp apart),
• BBC: 7mm × 7mm (inside an exclusion zone of at least 7mm × 7mm)
• WCAG 2.1 Success Criterion 2.5.5 Target Size (AAA).
Hit Areas
Hit Areas
Hit Areas
Hit Areas
Color Contrast
• Is there enough contrast?
• Are hyperlinks, menus, etc. still visible?
• WCAG 2.0:
• 4.5:1 for normal text
• 3:1 for large text (14+pt & bold, or 18+pt)
• WCAG 2.1:
• 3:1 for UI components, graphical objects
Color Contrast
• WCAG 2.1 has broadened it,
• Typography,
• Icons and glyphs,
• Form elements, error messages,
placeholders,
• Hover, focus, selected states.
Label Your Fields
• Provide instructions for the entire form,
• Provide a programmatic indication of required fields,
• Provide formatting advice,
• Use ARIA to associate formatting advice,
• Avoid placeholder text,
• Associate error messages with fields.
Label Your Fields
• Match the for attribute to the corresponding field’s id
attribute.
• Label text provides a larger hit area for mouse / touch,
• Label text should appear above or the left of text inputs or
menus (for LTR languages),
• Label text should appear after checkboxes / radio buttons (for
LTR languages).
• Label grouped fields (<fieldset> / <legend>)
Label Your Fields
Structure Your Document
• Sectioning elements already have accessibility built in. Use
them.
• <header>
• <nav>
• <main> (one per page)
• <aside>
• <footer>
• <form> (a search form)
This stuff is baked in!
Structure Your Document
Structure Your Document
<header role="banner">
<nav role="navigation">
<aside role="complementary">
<form role="search">
<footer role="contentinfo">
<main role="main">
Structure
Your
Document
“Mobile” often means narrow screen
in RWD, as well as this context.
Structure
Your
Document
<header role="banner">
<nav role="navigation">
<aside role="complementary">
<form role="search">
<footer role="contentinfo">
<main role="main">
“Mobile” often means narrow screen
in RWD, as well as this context.
Structure Your Document
• Use only one <h1> per page,
• Don’t skip heading levels,
• Use appropriate nesting,
• There is no Document Outline Algorithm:
• Don’t use <h1> within every new <section> nor <article>,
• This will not affect your SEO.
http://adrianroselli.com/2013/12/the-truth-about-truth-about-multiple-h1.html
Structure Your Document
Structure Your Document
1. Ordered lists
2. …
3. …
Description lists
As statement and
their description
Key
Value
• Unordered lists
• …
• …
Structure Your Document
1. Boil water
2. Add pasta
3. Drain water
Pasta
1 pound
Water
4 quarts
Olive oil
Not 4 quarts
• Pasta
• Water
• Olive oil
Be Keyboard Friendly
• tabindex="-1"
• Use to set focus with script,
• Does not put it in tab order of page.
• tabindex="0"
• Allows user to set focus (eg: via keyboard),
• Puts in tab order of page (based on DOM).
• tabindex="1" (or greater)
• Do not do this,
• Messes with natural tab order.
http://adrianroselli.com/2014/11/dont-use-tabindex-greater-than-0.html
Be Keyboard Friendly
https://www.digitalgov.gov/2014/11/17/user-experience-impossible-the-line-between-accessibility-and-usability/
Be Keyboard Friendly
• Do you have scrolling content boxes?
• Keyboard users cannot access it.
• Do you have content that displays on hover?
• Keyboard users probably cannot access it.
• A technique:
• <div role="region" aria-label="[if appropriate]"
tabindex="0">
http://adrianroselli.com/2016/02/keyboard-and-overflow.html
Be Keyboard Friendly
http://adrianroselli.com/2016/02/keyboard-and-overflow.html
Be Keyboard Friendly
http://adrianroselli.com/2016/12/accessible-emoji-tweaked.html
Be Keyboard Friendly
• Do not use a <div> nor <span> as a control.
• Does the control take me to another URL?
• Use an <a href>.
• Note: does not fire on space-bar.
• Does the control change something on the current page?
• Use a <button type="button">.
• Does the control submit form fields?
• Use <input type="submit"> or <button type="submit">.
http://adrianroselli.com/2016/01/links-buttons-submits-and-divs-oh-hell.html
Be Keyboard Friendly
http://adrianroselli.com/2016/01/links-buttons-submits-and-divs-oh-hell.html
Be Keyboard Friendly
• Define :focus styles,
• Particularly if you removed link underlines,
• Everywhere you have :hover, add :focus,
• Look for :focus{outline:none;} in libraries:
• If you find it, remove it.
• Do not rely on browser defaults,
• Easy to test with the tab key.
http://adrianroselli.com/2014/06/keep-focus-outline.html
Be Keyboard Friendly
Be Keyboard Friendly
https://www.virginamerica.com/
Display vs Source Order
• CSS techniques allow visual order to break from DOM order:
• Floats,
• Absolute positioning,
• Flexbox (see 5.4.1 of ED for a11y note),
• Grid (read Rachel Andrew on subgrid).
• WCAG 1.3.2 and 2.4.3 describe meaningful sequence and tab
order matching visual flow,
• Different behavior among different browsers, MQs.
http://adrianroselli.com/2015/09/source-order-matters.html
http://200ok.nl/a11y-flexbox/
Display vs Source Order
http://codepen.io/aardrian/full/MavVeb/
Firefox
Chrome
Use Captions, Subtitles, Transcripts
• Everybody uses them:
• Working in public, in bed, at home,
• Surfing in public, in bed, at work.
• Should include audio descriptions,
• Should include speaker identification,
• Review auto-captions (“craptions”):
• NoMoreCraptions.com
http://adrianroselli.com/2013/11/captions-in-everyday-use.html
Use Captions, Subtitles, Transcripts
• Do video/audio clips have text alternatives?
• Are links to closed-captions or transcripts built into the player or
separate text links?
• Is there an audio description available?
• Tools:
• Media Access Australia YouTube captioning tutorial, Vimeo captioning
tutorial,
• Tiffany Brown’s WebVTT tutorial,
• DIY Resources for Closed Captioning and Transcription from 3 Play Media.
http://webaim.org/techniques/captions/
Use Captions, Subtitles, Transcripts
https://www.youtube.com/watch?v=V592VMJeXc8
WAI-ARIA
• Web Accessibility Initiative – Accessible Rich Internet
Applications.
• Helps make complex components accessible.
• You do not always need ARIA; good HTML often best.
• No ARIA is better than bad ARIA.
http://www.w3.org/TR/wai-aria/
https://www.w3.org/TR/wai-aria-practices-1.1/#no_aria_better_bad_aria
Five Rules of ARIA Use
1. If you can use a native HTML5 element with
semantics/behavior already built in, then do so, instead of
repurposing another element.
Five Rules of ARIA Use
2. Do not change native semantics. Unless you really have to (no
<h1> with a role="button", for example).
Five Rules of ARIA Use
3. All interactive ARIA controls must be usable with the keyboard
— keyboard users must be able to perform equivalent actions.
Five Rules of ARIA Use
4. Do not use role="presentation" or aria-
hidden="true" on a focusable element. If you do so, some
users will never be able to focus.
Five Rules of ARIA Use
5. All interactive elements must have an accessible name. This
may come from a visible (text on a button) or invisible (alt text
on an image) property.
Pattern Libraries
• Document all this for your custom widgets,
• Use this to build a larger pattern library,
• For many custom widgets: WAI-ARIA Authoring Practices 1.1,
• It is not perfect, but gets you started,
• Be wary of application-specific patterns.
• For truly custom widgets you have never seen before, consider
simplifying to an existing pattern.
Tab order indicated via numbers above
Accessibility requirements
See 3.1 Accordion in the WAI ARIA Authoring
Practices for requirements.
Focus and keyboard tab order
• Left/Up arrow moves to previous accordion
header
• Right/down arrow moves to next accordion
header
• Enter opens a panel when on the header
• When opened focus stays on the element, tab
moves to the first item in the header
Roles and states
• Accordion is a tablist
• Each header is a tab
• Use visibility hidden to hide content of tabs
Behavior
• Contents of accordion hidden from screen readers
when closed
• Contents remain open until closed by the user
• Header and arrow is a single touch target
Group Exercise!
Group Exercise!
• Take your user interface element and discuss how you might
build/code it.
• Represent the disability category you championed earlier.
• Remember your personas, user story/stories.
• Consider changing needs of users.
• 15 minutes
Wrap-up
Stairamp
Dean Bouchard on Flickrhttp://accessibility.net.nz/blog/the-problems-with-ramps-blended-into-stairs/
≠ Checklist
• Accessibility is not a checklist.
Maintenance
Nicolas Steenhouthttps://twitter.com/vavroom/status/571092086365261824
“Wheelchair ramp at
pharmacy not only
hasn’t been cleared of
snow but has 2 potted
trees to ensure nobody
can pass.”
= Process
• Accessibility is not a checklist.
• Accessibility is an ongoing process.
Prototyping Accessibility
Presented by Adrian Roselli for WordCamp Europe 2018
Slides from this workshop will be available at rosel.li/wceu18

Mais conteúdo relacionado

Mais procurados

Selfish Accessibility for Global Accessibility Awareness Day
Selfish Accessibility for Global Accessibility Awareness DaySelfish Accessibility for Global Accessibility Awareness Day
Selfish Accessibility for Global Accessibility Awareness Day
Adrian Roselli
 

Mais procurados (20)

Selfish Accessibility: WordCamp London 2017
Selfish Accessibility: WordCamp London 2017Selfish Accessibility: WordCamp London 2017
Selfish Accessibility: WordCamp London 2017
 
Prototyping Accessibility: Booster 2019
Prototyping Accessibility: Booster 2019Prototyping Accessibility: Booster 2019
Prototyping Accessibility: Booster 2019
 
“Selfish Accessibility” for Create Upstate 2016
“Selfish Accessibility” for Create Upstate 2016“Selfish Accessibility” for Create Upstate 2016
“Selfish Accessibility” for Create Upstate 2016
 
Selfish Accessibility: WordCamp Buffalo 2014
Selfish Accessibility: WordCamp Buffalo 2014Selfish Accessibility: WordCamp Buffalo 2014
Selfish Accessibility: WordCamp Buffalo 2014
 
Fringe Accessibility: ID24 for GAAD
Fringe Accessibility: ID24 for GAADFringe Accessibility: ID24 for GAAD
Fringe Accessibility: ID24 for GAAD
 
Selfish Accessibility: HTML5 Developer Conference 2014
Selfish Accessibility: HTML5 Developer Conference 2014Selfish Accessibility: HTML5 Developer Conference 2014
Selfish Accessibility: HTML5 Developer Conference 2014
 
Mind your lang (for role=drinks at CSUN 2017)
Mind your lang (for role=drinks at CSUN 2017)Mind your lang (for role=drinks at CSUN 2017)
Mind your lang (for role=drinks at CSUN 2017)
 
Fringe Accessibility - Guelph Accessibility Conference
Fringe Accessibility - Guelph Accessibility ConferenceFringe Accessibility - Guelph Accessibility Conference
Fringe Accessibility - Guelph Accessibility Conference
 
Making Your Site Printable: CSS Summit 2014
Making Your Site Printable: CSS Summit 2014Making Your Site Printable: CSS Summit 2014
Making Your Site Printable: CSS Summit 2014
 
Abstractions: Fringe Accessibility
Abstractions: Fringe AccessibilityAbstractions: Fringe Accessibility
Abstractions: Fringe Accessibility
 
Selfish Accessibility: a11y Camp NYC 2015
Selfish Accessibility: a11y Camp NYC 2015Selfish Accessibility: a11y Camp NYC 2015
Selfish Accessibility: a11y Camp NYC 2015
 
Selfish Accessibility: Presented at Google
Selfish Accessibility: Presented at GoogleSelfish Accessibility: Presented at Google
Selfish Accessibility: Presented at Google
 
Selfish Accessibility: UXSG 2014
Selfish Accessibility: UXSG 2014Selfish Accessibility: UXSG 2014
Selfish Accessibility: UXSG 2014
 
WordPress Accessibility - WordCamp Buffalo 2016
WordPress Accessibility - WordCamp Buffalo 2016WordPress Accessibility - WordCamp Buffalo 2016
WordPress Accessibility - WordCamp Buffalo 2016
 
ACE! Conference: Selfish accessibility
ACE! Conference: Selfish accessibilityACE! Conference: Selfish accessibility
ACE! Conference: Selfish accessibility
 
Avega Group: Selfish Accessibility
Avega Group: Selfish AccessibilityAvega Group: Selfish Accessibility
Avega Group: Selfish Accessibility
 
Mind Your lang — Accessibility Camp Toronto 2016
Mind Your lang — Accessibility Camp Toronto 2016Mind Your lang — Accessibility Camp Toronto 2016
Mind Your lang — Accessibility Camp Toronto 2016
 
Selfish Accessibility for Global Accessibility Awareness Day
Selfish Accessibility for Global Accessibility Awareness DaySelfish Accessibility for Global Accessibility Awareness Day
Selfish Accessibility for Global Accessibility Awareness Day
 
The Role of Design in Accessibility — a11yTO Meet-up
The Role of Design in Accessibility — a11yTO Meet-upThe Role of Design in Accessibility — a11yTO Meet-up
The Role of Design in Accessibility — a11yTO Meet-up
 
Selfish Accessibility — YGLF Vilnius
Selfish Accessibility — YGLF VilniusSelfish Accessibility — YGLF Vilnius
Selfish Accessibility — YGLF Vilnius
 

Semelhante a Prototyping Accessibility - WordCamp Europe 2018

Selfish Accessibility: a11y Camp Toronto 2014
Selfish Accessibility: a11y Camp Toronto 2014Selfish Accessibility: a11y Camp Toronto 2014
Selfish Accessibility: a11y Camp Toronto 2014
Adrian Roselli
 
Jennifer Robbins: ARTIFACT EAST Keynote (Providence, 11/4/13)
Jennifer Robbins: ARTIFACT EAST Keynote (Providence, 11/4/13)Jennifer Robbins: ARTIFACT EAST Keynote (Providence, 11/4/13)
Jennifer Robbins: ARTIFACT EAST Keynote (Providence, 11/4/13)
JenRobbins
 
Technology-Based Reference Interview Workshop
Technology-Based Reference Interview WorkshopTechnology-Based Reference Interview Workshop
Technology-Based Reference Interview Workshop
bibliotecaria
 

Semelhante a Prototyping Accessibility - WordCamp Europe 2018 (20)

Fringe Accessibility: Booster 2016
Fringe Accessibility: Booster 2016Fringe Accessibility: Booster 2016
Fringe Accessibility: Booster 2016
 
Selfish Accessibility: WordCamp Toronto 2014
Selfish Accessibility: WordCamp Toronto 2014Selfish Accessibility: WordCamp Toronto 2014
Selfish Accessibility: WordCamp Toronto 2014
 
Selfish Accessibility: a11y Camp Toronto 2014
Selfish Accessibility: a11y Camp Toronto 2014Selfish Accessibility: a11y Camp Toronto 2014
Selfish Accessibility: a11y Camp Toronto 2014
 
Usability, User Experience and the Internet in the 21st Century
Usability, User Experience and the Internet in the 21st CenturyUsability, User Experience and the Internet in the 21st Century
Usability, User Experience and the Internet in the 21st Century
 
Accessibility 101
Accessibility 101Accessibility 101
Accessibility 101
 
Tales from the Accessibility Trenches
Tales from the Accessibility TrenchesTales from the Accessibility Trenches
Tales from the Accessibility Trenches
 
Design and Development Techniques for Accessibility: WordCamp Tampa 2015
Design and Development Techniques for Accessibility: WordCamp Tampa 2015Design and Development Techniques for Accessibility: WordCamp Tampa 2015
Design and Development Techniques for Accessibility: WordCamp Tampa 2015
 
Surviving a Hackathon and Beyond
Surviving a Hackathon and BeyondSurviving a Hackathon and Beyond
Surviving a Hackathon and Beyond
 
Jennifer Robbins: ARTIFACT EAST Keynote (Providence, 11/4/13)
Jennifer Robbins: ARTIFACT EAST Keynote (Providence, 11/4/13)Jennifer Robbins: ARTIFACT EAST Keynote (Providence, 11/4/13)
Jennifer Robbins: ARTIFACT EAST Keynote (Providence, 11/4/13)
 
Where UX fails Accessibility : Alastair Campbell
Where UX fails Accessibility : Alastair Campbell Where UX fails Accessibility : Alastair Campbell
Where UX fails Accessibility : Alastair Campbell
 
Taking your Site from One to One Million Users by Kevin Rose
Taking your Site from One to One Million Users by Kevin RoseTaking your Site from One to One Million Users by Kevin Rose
Taking your Site from One to One Million Users by Kevin Rose
 
UXSG2014 Lightning Talks - Selfish accessibility (Adrian Roselli)
UXSG2014 Lightning Talks - Selfish accessibility (Adrian Roselli)UXSG2014 Lightning Talks - Selfish accessibility (Adrian Roselli)
UXSG2014 Lightning Talks - Selfish accessibility (Adrian Roselli)
 
Technology-Based Reference Interview Workshop
Technology-Based Reference Interview WorkshopTechnology-Based Reference Interview Workshop
Technology-Based Reference Interview Workshop
 
Bug Hunting Safari
Bug Hunting SafariBug Hunting Safari
Bug Hunting Safari
 
Accessibility Isn’t Enough - Designing Digital Properties to be Usable and Ac...
Accessibility Isn’t Enough - Designing Digital Properties to be Usable and Ac...Accessibility Isn’t Enough - Designing Digital Properties to be Usable and Ac...
Accessibility Isn’t Enough - Designing Digital Properties to be Usable and Ac...
 
Building a Powerful Small Business Website
Building a Powerful Small Business WebsiteBuilding a Powerful Small Business Website
Building a Powerful Small Business Website
 
Engaging a Developer Audience: Documentation and More
Engaging a Developer Audience: Documentation and MoreEngaging a Developer Audience: Documentation and More
Engaging a Developer Audience: Documentation and More
 
Android User Interface Design
Android User Interface Design Android User Interface Design
Android User Interface Design
 
Brighton SEO - Sep 2019 - Accessibility & Technical SEO
Brighton SEO - Sep 2019 - Accessibility & Technical SEOBrighton SEO - Sep 2019 - Accessibility & Technical SEO
Brighton SEO - Sep 2019 - Accessibility & Technical SEO
 
Using Web 2.0 Tools inside Brightspace with an Eye on Accessibility
Using Web 2.0 Tools inside Brightspacewith an Eye on AccessibilityUsing Web 2.0 Tools inside Brightspacewith an Eye on Accessibility
Using Web 2.0 Tools inside Brightspace with an Eye on Accessibility
 

Mais de Adrian Roselli

Mais de Adrian Roselli (14)

CSUN 2020: CSS Display Properties Versus HTML Semantics
CSUN 2020: CSS Display Properties Versus HTML SemanticsCSUN 2020: CSS Display Properties Versus HTML Semantics
CSUN 2020: CSS Display Properties Versus HTML Semantics
 
Selfish Accessibility —DevOpsDays Buffalo
Selfish Accessibility —DevOpsDays BuffaloSelfish Accessibility —DevOpsDays Buffalo
Selfish Accessibility —DevOpsDays Buffalo
 
Role of Design in Accessibility — VilniusJS Meet-up
Role of Design in Accessibility — VilniusJS Meet-upRole of Design in Accessibility — VilniusJS Meet-up
Role of Design in Accessibility — VilniusJS Meet-up
 
Fringe Accessibility — Portland UX
Fringe Accessibility — Portland UXFringe Accessibility — Portland UX
Fringe Accessibility — Portland UX
 
WCBuf: CSS Display Properties versus HTML Semantics
WCBuf: CSS Display Properties versus HTML SemanticsWCBuf: CSS Display Properties versus HTML Semantics
WCBuf: CSS Display Properties versus HTML Semantics
 
Mind Your Lang — London Web Standards
Mind Your Lang — London Web StandardsMind Your Lang — London Web Standards
Mind Your Lang — London Web Standards
 
Inclusive Usability Testing - WordCamp London
Inclusive Usability Testing - WordCamp LondonInclusive Usability Testing - WordCamp London
Inclusive Usability Testing - WordCamp London
 
CSUN 2018: Everything I Know About Accessibility I Learned from Stack Overflow
CSUN 2018: Everything I Know About Accessibility I Learned from Stack OverflowCSUN 2018: Everything I Know About Accessibility I Learned from Stack Overflow
CSUN 2018: Everything I Know About Accessibility I Learned from Stack Overflow
 
Inclusive Usability Testing — a11yTOCamp
Inclusive Usability Testing — a11yTOCampInclusive Usability Testing — a11yTOCamp
Inclusive Usability Testing — a11yTOCamp
 
Selfish Accessibility - Girl Develop It Buffalo
Selfish Accessibility - Girl Develop It BuffaloSelfish Accessibility - Girl Develop It Buffalo
Selfish Accessibility - Girl Develop It Buffalo
 
Everything I Know About Accessibility I Learned from Stack Overflow
Everything I Know About Accessibility I Learned from Stack OverflowEverything I Know About Accessibility I Learned from Stack Overflow
Everything I Know About Accessibility I Learned from Stack Overflow
 
Inclusive User Testing — Guelph Accessibility Conference
Inclusive User Testing — Guelph Accessibility ConferenceInclusive User Testing — Guelph Accessibility Conference
Inclusive User Testing — Guelph Accessibility Conference
 
Implementing Accessibility: Accessibility Toronto
Implementing Accessibility: Accessibility TorontoImplementing Accessibility: Accessibility Toronto
Implementing Accessibility: Accessibility Toronto
 
Role = Drinks 2016: Selfish Accessibility
Role = Drinks 2016: Selfish AccessibilityRole = Drinks 2016: Selfish Accessibility
Role = Drinks 2016: Selfish Accessibility
 

Último

( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
nilamkumrai
 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
nirzagarg
 

Último (20)

Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
 
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
 
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
 
Katraj ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For S...
Katraj ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For S...Katraj ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For S...
Katraj ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For S...
 
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls DubaiDubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
 
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
Pirangut | Call Girls Pune Phone No 8005736733 Elite Escort Service Available...
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
Wagholi & High Class Call Girls Pune Neha 8005736733 | 100% Gennuine High Cla...
 
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
Russian Call Girls in %(+971524965298  )#  Call Girls in DubaiRussian Call Girls in %(+971524965298  )#  Call Girls in Dubai
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
 
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
 
Microsoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftMicrosoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck Microsoft
 

Prototyping Accessibility - WordCamp Europe 2018

  • 1. Prototyping Accessibility Presented by Adrian Roselli for WordCamp Europe 2018 Slides from this workshop will be available at rosel.li/wceu18
  • 2. PLEASE BREAK INTO GROUPS OF FIVE (5) Stragglers may be assigned a group.
  • 4. • I’ve written some stuff, • Member of W3C, • Building for the web since 1993, • Learn more at AdrianRoselli.com, • Avoid on Twitter @aardrian. About Adrian Roselli
  • 5. • This trip paid for by The Paciello Group. About Adrian Roselli
  • 7. Group Exercise! • Decide on a user interface element. Examples: • Login form, • Disclosure widget, • Data grid, • Search, • etc. • Quickly describe or draw it on paper (no code). • 15 minutes.
  • 9. What is a11y? • A numeronym for “accessibility”: • The first and last letter (accessibility), • The number of characters omitted (a11y). • Prominent on Twitter (character restrictions): • #a11y • Examples: • l10n → localization • i18n → internationalization
  • 10. Disability is not just a health problem. It is a complex phenomenon, reflecting the interaction between features of a person’s body and features of the society in which he or she lives. — World Health Organization
  • 11. Agenda • Exercise: UI Component • Primer • Disability Types • Who Else? • Exercise: Overlapping Needs • User Experience Models • Exercise: Proto-Persona • Technical Bits • Exercise: Prototype • Wrap-up
  • 13. Disability Types • Physical • Epilepsy • Mobility • Fine motor skills • Hearing • Deaf • Hard of Hearing • Vision • Color blindness • Low vision • Blind • Cognitive • ADD/ADHD • Autism • Dyslexia/Dyscalculia • Learning and Language • Speech • Stuttering • Non-verbal • Cluttering • Apraxia of speech (AOS)
  • 14. Disability Types • Blindness • Low Vision (including color blindness) • Deaf and Hard of Hearing • Speech • Physical • Intellectual & Cognitive
  • 15. Blindness • Screen reader user • Keyboard-only user • Relies on: • Headings • Form Elements • Links • Landmarks
  • 16. Low Vision • May use high contrast modes • May not be able to differentiate colors • May scale fonts • May use a screen magnifier • May use a screen reader • Relies on: • Scaling fonts • Good contrast
  • 17. Deaf and Hard of Hearing • Cannot hear audio cues • Will struggle if captions are not synchronized • First language may be sign language • Relies on: • Good captions • Visual cues • Color cues • Haptic cues
  • 18. Speech • May speak less clearly • May be non-verbal • Can be stymied by voice interfaces • Phone interaction may not be possible • May use assistive technology • Relies on: • Other interactions
  • 19. Physical • Temporary to permanent • Slight to severe • Can change throughout a day • May use specialized hardware • May use a screen reader • May use dictation software • Relies on: • Generous hit areas • Simple interactions
  • 20. Intellectual & Cognitive • May use a screen reader • May use dictation software • May benefit from any/all considerations already listed • Relies on: • Well-structured content • Plain language • Good context
  • 23. Getting Older • Affects (nearly) everyone, • Carries risks and side effects, • Is not for the young.
  • 24. Rising Damp on Flickr.
  • 25. Darren Baldwin on Flickr.
  • 26. Accidents • Broken limbs, • Eye injuries, • Hearing injuries, • Head trauma.
  • 27. Rev Stan on Flickr.
  • 28. Let Ideas Compete on Flickr.
  • 29. Paul Townsend on Flickr.
  • 30. But I’m Invincible! • Multi-tasking, • Sunlight, • Eating at your desk, • No headphones handy, • Content is not in your native language.
  • 33. Steve Rhodes on Flickr.
  • 35. Lars Kristian Flem on Flickr.
  • 36. Tech Support • Think of your family! • Think of your time spent helping them! • Think of the wasted holidays!
  • 37. Robert Simmons on Flickr.
  • 39. Group Exercise! • Each person in your group must pick a disability type: 1. Low vision 2. Blindness 3. Hearing and Speech 4. Physical 5. Cognitive • Within your group, discuss where each of your types overlap in: • Barriers, abilities, needs, etc. • 15 minutes.
  • 41. User Stories • Components: • User, • Outcome, • Value. • Writing: • As user, I want outcome. • As user, I want outcome so that value. • In order to get value as user, I want outcome.
  • 42. Selfish User Stories • As a user on a sun-lit patio, I want to be able to read the content and see the controls. Add beer and as a user I may have trouble focusing.
  • 43. Selfish User Stories • As a user in bed with a sleeping spouse, I want to watch a training video in silence so that I can get caught up at work. As a user who doesn’t want to get punched for having slacked off at work.
  • 44. Selfish User Stories • In order to click links as a user with no elbow room in coach class with a tiny trackpad, I want click areas to be large enough and adequately spaced. As a user in coach class who also paid too much for the drink he’s spilling on his keyboard.
  • 45. Selfish User Stories • As a user distracted by the TV, I want clear headings and labels so that I don’t lose my place. As a user who really should be finishing his work in the office.
  • 46. Personas Book Excerpt: A Web for Everyone, by Sarah Horton, Whitney Quesenbery
  • 47. Personas Adrian • Works when he should be relaxing, relaxes when he should be working. • Lives between motorcycles. • Works late at night with the TV on. • Uses sub-titles in Netflix. • Keeps all screens as dark as possible.
  • 49. Group Exercise! • Develop a (proto-) persona. • Develop user stories for your persona. • As user, I want outcome. • As user, I want outcome so that value. • In order to get value as user, I want outcome. • Consider the UI element you created. • 15 minutes.
  • 51. Text Alternatives for Images • Can you still make sense of the page? • Is content missing? • Can you still use the site? • Is your alt text useful? • Do you account for CSS background images? • What about SVGs? • Or CSS-generated symbols / icons? http://www.4syllables.com.au/2010/12/text-alternatives-decision-tree/ http://dev.w3.org/html5/alt-techniques/#tree
  • 54. Typography Matters • Leading / line height at least 1.5× font size (WCAG 2.1), • Space after paragraphs at least 2× font size (WCAG 2.1), • Letter spacing / tracking at least 0.12× font size (WCAG 2.1), • Word spacing at least 0.16× font size (WCAG 2.1), • Avoid justified text, • Avoid italics, • Use larger text (lean on browser default), • Use good contrast, • Use clear, concise writing.
  • 56. Hyperlinks! • Is there any “click here,” “more,” “link to…”?
  • 57. Hyperlinks! • Is there any “click here,” “more,” “link to…”? • Are you using all-caps, URLs, emoticons?
  • 58. Hyperlinks! • Is there any “click here,” “more,” “link to…”? • Are you using all-caps, URLs, emoticons? • Do you warn before opening new windows?
  • 59. Hyperlinks! • Is there any “click here,” “more,” “link to…”? • Are you using all-caps, URLs, emoticons? • Do you warn before opening new windows? • Do links to downloads provide helpful info?
  • 60. Hyperlinks! • Is there any “click here,” “more,” “link to…”? • Are you using all-caps, URLs, emoticons? • Do you warn before opening new windows? • Do links to downloads provide helpful info? • Are you using pagination links?
  • 61. Hyperlinks! • Is there any “click here,” “more,” “link to…”? • Are you using all-caps, URLs, emoticons? • Do you warn before opening new windows? • Do links to downloads provide helpful info? • Are you using pagination links? • Are your links underlined (or otherwise obvious)?
  • 62. Hyperlinks! • Is there any “click here,” “more,” “link to…”? • Are you using all-caps, URLs, emoticons? • Do you warn before opening new windows? • Do links to downloads provide helpful info? • Are you using pagination links? • Are your links underlined (or otherwise obvious)? • Is there alt text for image links?
  • 63. Hyperlinks! • Is there any “click here,” “more,” “link to…”? • Are you using all-caps, URLs, emoticons? • Do you warn before opening new windows? • Do links to downloads provide helpful info? • Are you using pagination links? • Are your links underlined (or otherwise obvious)? • Is there alt text for image links? • Is the link text consistent?
  • 64. Hyperlinks! • You are not Google: • Users know Google’s layout, • Users probably don’t visit your site daily. • Relying on color alone will not suffice (WCAG 1.4.1 [A], 1.4.3 [AA]), • Necessary contrast values: • 4.5:1 between text and its background for copy, • 3:1 between text and its background for larger text, • 3:1 between surrounding text and a hyperlink, plus an additional visual cue (G183). http://adrianroselli.com/2014/03/i-dont-care-what-google-did-just-keep.html
  • 66. Hit Areas • Make areas large enough to tap, • Leave space between hit areas to avoid mis-taps/clicks, • Fitts’ Law (time to target as function of size of target), • Apple: 44pt × 44pt, • Microsoft: 48px × 48px (spaced 2mm apart), • Android: 48dp × 48dp (spaced 8dp apart), • BBC: 7mm × 7mm (inside an exclusion zone of at least 7mm × 7mm) • WCAG 2.1 Success Criterion 2.5.5 Target Size (AAA).
  • 71. Color Contrast • Is there enough contrast? • Are hyperlinks, menus, etc. still visible? • WCAG 2.0: • 4.5:1 for normal text • 3:1 for large text (14+pt & bold, or 18+pt) • WCAG 2.1: • 3:1 for UI components, graphical objects
  • 72. Color Contrast • WCAG 2.1 has broadened it, • Typography, • Icons and glyphs, • Form elements, error messages, placeholders, • Hover, focus, selected states.
  • 73. Label Your Fields • Provide instructions for the entire form, • Provide a programmatic indication of required fields, • Provide formatting advice, • Use ARIA to associate formatting advice, • Avoid placeholder text, • Associate error messages with fields.
  • 74. Label Your Fields • Match the for attribute to the corresponding field’s id attribute. • Label text provides a larger hit area for mouse / touch, • Label text should appear above or the left of text inputs or menus (for LTR languages), • Label text should appear after checkboxes / radio buttons (for LTR languages). • Label grouped fields (<fieldset> / <legend>)
  • 76. Structure Your Document • Sectioning elements already have accessibility built in. Use them. • <header> • <nav> • <main> (one per page) • <aside> • <footer> • <form> (a search form) This stuff is baked in!
  • 78. Structure Your Document <header role="banner"> <nav role="navigation"> <aside role="complementary"> <form role="search"> <footer role="contentinfo"> <main role="main">
  • 79. Structure Your Document “Mobile” often means narrow screen in RWD, as well as this context.
  • 80. Structure Your Document <header role="banner"> <nav role="navigation"> <aside role="complementary"> <form role="search"> <footer role="contentinfo"> <main role="main"> “Mobile” often means narrow screen in RWD, as well as this context.
  • 81. Structure Your Document • Use only one <h1> per page, • Don’t skip heading levels, • Use appropriate nesting, • There is no Document Outline Algorithm: • Don’t use <h1> within every new <section> nor <article>, • This will not affect your SEO. http://adrianroselli.com/2013/12/the-truth-about-truth-about-multiple-h1.html
  • 83. Structure Your Document 1. Ordered lists 2. … 3. … Description lists As statement and their description Key Value • Unordered lists • … • …
  • 84. Structure Your Document 1. Boil water 2. Add pasta 3. Drain water Pasta 1 pound Water 4 quarts Olive oil Not 4 quarts • Pasta • Water • Olive oil
  • 85. Be Keyboard Friendly • tabindex="-1" • Use to set focus with script, • Does not put it in tab order of page. • tabindex="0" • Allows user to set focus (eg: via keyboard), • Puts in tab order of page (based on DOM). • tabindex="1" (or greater) • Do not do this, • Messes with natural tab order. http://adrianroselli.com/2014/11/dont-use-tabindex-greater-than-0.html
  • 87. Be Keyboard Friendly • Do you have scrolling content boxes? • Keyboard users cannot access it. • Do you have content that displays on hover? • Keyboard users probably cannot access it. • A technique: • <div role="region" aria-label="[if appropriate]" tabindex="0"> http://adrianroselli.com/2016/02/keyboard-and-overflow.html
  • 90. Be Keyboard Friendly • Do not use a <div> nor <span> as a control. • Does the control take me to another URL? • Use an <a href>. • Note: does not fire on space-bar. • Does the control change something on the current page? • Use a <button type="button">. • Does the control submit form fields? • Use <input type="submit"> or <button type="submit">. http://adrianroselli.com/2016/01/links-buttons-submits-and-divs-oh-hell.html
  • 92. Be Keyboard Friendly • Define :focus styles, • Particularly if you removed link underlines, • Everywhere you have :hover, add :focus, • Look for :focus{outline:none;} in libraries: • If you find it, remove it. • Do not rely on browser defaults, • Easy to test with the tab key. http://adrianroselli.com/2014/06/keep-focus-outline.html
  • 95. Display vs Source Order • CSS techniques allow visual order to break from DOM order: • Floats, • Absolute positioning, • Flexbox (see 5.4.1 of ED for a11y note), • Grid (read Rachel Andrew on subgrid). • WCAG 1.3.2 and 2.4.3 describe meaningful sequence and tab order matching visual flow, • Different behavior among different browsers, MQs. http://adrianroselli.com/2015/09/source-order-matters.html http://200ok.nl/a11y-flexbox/
  • 96. Display vs Source Order http://codepen.io/aardrian/full/MavVeb/ Firefox Chrome
  • 97. Use Captions, Subtitles, Transcripts • Everybody uses them: • Working in public, in bed, at home, • Surfing in public, in bed, at work. • Should include audio descriptions, • Should include speaker identification, • Review auto-captions (“craptions”): • NoMoreCraptions.com http://adrianroselli.com/2013/11/captions-in-everyday-use.html
  • 98. Use Captions, Subtitles, Transcripts • Do video/audio clips have text alternatives? • Are links to closed-captions or transcripts built into the player or separate text links? • Is there an audio description available? • Tools: • Media Access Australia YouTube captioning tutorial, Vimeo captioning tutorial, • Tiffany Brown’s WebVTT tutorial, • DIY Resources for Closed Captioning and Transcription from 3 Play Media. http://webaim.org/techniques/captions/
  • 99. Use Captions, Subtitles, Transcripts https://www.youtube.com/watch?v=V592VMJeXc8
  • 100. WAI-ARIA • Web Accessibility Initiative – Accessible Rich Internet Applications. • Helps make complex components accessible. • You do not always need ARIA; good HTML often best. • No ARIA is better than bad ARIA. http://www.w3.org/TR/wai-aria/ https://www.w3.org/TR/wai-aria-practices-1.1/#no_aria_better_bad_aria
  • 101. Five Rules of ARIA Use 1. If you can use a native HTML5 element with semantics/behavior already built in, then do so, instead of repurposing another element.
  • 102. Five Rules of ARIA Use 2. Do not change native semantics. Unless you really have to (no <h1> with a role="button", for example).
  • 103. Five Rules of ARIA Use 3. All interactive ARIA controls must be usable with the keyboard — keyboard users must be able to perform equivalent actions.
  • 104. Five Rules of ARIA Use 4. Do not use role="presentation" or aria- hidden="true" on a focusable element. If you do so, some users will never be able to focus.
  • 105. Five Rules of ARIA Use 5. All interactive elements must have an accessible name. This may come from a visible (text on a button) or invisible (alt text on an image) property.
  • 106. Pattern Libraries • Document all this for your custom widgets, • Use this to build a larger pattern library, • For many custom widgets: WAI-ARIA Authoring Practices 1.1, • It is not perfect, but gets you started, • Be wary of application-specific patterns. • For truly custom widgets you have never seen before, consider simplifying to an existing pattern.
  • 107. Tab order indicated via numbers above Accessibility requirements See 3.1 Accordion in the WAI ARIA Authoring Practices for requirements. Focus and keyboard tab order • Left/Up arrow moves to previous accordion header • Right/down arrow moves to next accordion header • Enter opens a panel when on the header • When opened focus stays on the element, tab moves to the first item in the header Roles and states • Accordion is a tablist • Each header is a tab • Use visibility hidden to hide content of tabs Behavior • Contents of accordion hidden from screen readers when closed • Contents remain open until closed by the user • Header and arrow is a single touch target
  • 108.
  • 109.
  • 111. Group Exercise! • Take your user interface element and discuss how you might build/code it. • Represent the disability category you championed earlier. • Remember your personas, user story/stories. • Consider changing needs of users. • 15 minutes
  • 113. Stairamp Dean Bouchard on Flickrhttp://accessibility.net.nz/blog/the-problems-with-ramps-blended-into-stairs/
  • 114. ≠ Checklist • Accessibility is not a checklist.
  • 115. Maintenance Nicolas Steenhouthttps://twitter.com/vavroom/status/571092086365261824 “Wheelchair ramp at pharmacy not only hasn’t been cleared of snow but has 2 potted trees to ensure nobody can pass.”
  • 116. = Process • Accessibility is not a checklist. • Accessibility is an ongoing process.
  • 117. Prototyping Accessibility Presented by Adrian Roselli for WordCamp Europe 2018 Slides from this workshop will be available at rosel.li/wceu18

Notas do Editor

  1. We will be doing group activities. This gets the chaos organization out of the way early. Have this slide showing as people come in.
  2. - These guys funded my trip
  3. 1980 definition: “In the context of health experience, a disability is any restriction or lack of ability (resulting from an impairment) to perform an activity in the manner or within the range considered normal for a human being.”
  4. Everyone is different. No two people are alike. With that in mind, it only makes sense that not everyone's body is going work the way everyone else's. Because of this, some people might not be able to see, hear, speak, understand, or move the way other people do.
  5. A blind user cannot see what is on their screen. This may seem obvious, but it's important to think about what this really means. Most users don't think twice about how they ingest or interact with the content on their screen, nor does it really matter what the underlying code looks like. This is not the case for someone who cannot see the screen. When looking at the screen is not an option, assistive technology (AT) such as a screen reader must be used to navigate the web. Screen readers rely on HTML to navigate. If the website or application is not properly coded, AT will not be able to pass along the correct information to the user. This includes such important elements such as: Most likely a keyboard only user Using a mouse is most likely difficult, if not impossible, for a user who cannot see what is on the screen. As a result, a user who is blind will most likely use a keyboard to navigate. A keyboard-only user requires all functions performed by a mouse to be actionable via keyboard. These users are also prone to keyboard and/or programmatic focus issues if their experience isn't managed properly.
  6. Someone with low vision has an impairment that cannot be corrected. In many cases, the person may be "legally blind" but still have some visual perception. There are different kinds of low vision and each has its own considerations. These considerations are different from blindness, though there may be overlap in approaches.
  7. Some people may not be able to hear at all, or may have some kind of hearing impairment. This means any cues or information that are communicated by sound alone may be missed. The following barriers can occur.
  8. Someone with a speech disability may be able to speak less clearly than others, or perhaps be entirely non-verbal (and this could be due to physical/motor or cognitive challenges). Some factors to bear in mind are: Web-based services or functionality that require voice interactions will be difficult if not impossible Websites or applications that offer a phone number as the only way to communicate with a company A person who struggles with a speech impairment might use specialized AT, or none at all, depending on the root cause of their impairment. For example, someone who has lost their voice due to an injury or sickness might not require AT to navigate the web whereas someone who is non-verbal due to autism might require a screen reader or a more specialized application to communicate.
  9. There are many possible forms of physical impairment, such as mobility or dexterity issues. When thinking about web accessibility, the most prominent physical impairments are motor control and the inability to use two hands at once, as these most affect interaction with a device.
  10. Cognitive disabilities affect far more people than sensory disabilities. There's a large variety of reasons for cognitive barriers, and a corresponding wide range of effects they can have. Some causes and conditions are… Asperger's Syndrome Attention deficit disorder (AD/HD) Autism Dementia Down Syndrome Dyscalculia Dyslexia Learning disabilities Rett Syndrome Stroke Traumatic brain injury (TBI) Williams Syndrome In order to make sense of the many different cognitive barriers people could experience, and to help us address them, they can be categorized broadly as follows. Memory Problem solving Attention Reading, linguistic, verbal comprehension Math comprehension Visual comprehension
  11. Beware of disability stereotypes It's very important that we do not generalize people when talking about then individual needs. No two people are alike. With that in mind, we must be certain that we avoid the following: Using oversimplified terminology such as:Vision, hearing, physical and cognitive impairmentsThese types of impairments are not one size fits all, for example "Vision" could mean someone who is low vision, someone who is light sensitive, or someone who is completely blindUsing Misleading terms like:Screen reader usersMany people require a screen reader, for many different reasonsIncorrect:e.g. "Accessibility users"Accessibility isn't something we use, but rather something we can't use without.
  12. Our inclusive design principles Recognize exclusion Exclusion happens when we solve problems using our own biases. As Microsoft designers, we seek out those exclusions, and use them as opportunities to create new ideas and inclusive designs. Learn from diversity Human beings are the real experts in adapting to diversity. Inclusive design puts people in the center from the very start of the process, and those fresh, diverse perspectives are the key to true insight. Solve for one, extend to many Everyone has abilities, and limits to those abilities. Designing for people with permanent disabilities actually results in designs that benefit people universally. Constraints are a beautiful thing.
  13. Trying to check into your airline in a foreign country Keyboards, system in different language Great way to extend a trip
  14. The objective is to get people to champion their disability type and think about where its needs and challenges intersect with others. It should prime them for the personas and user stories section to maybe write more aggregated stories.
  15. WCAG 2.1 AAA: 44px Excludes: Equivalent: The target is available through an equivalent link or control on the same page that is at least 44 by 44 CSS pixels; Inline: The target is in a sentence or block of text; User Agent Control: The size of the target is determined by the user agent and is not modified by the author; Essential: A particular presentation of the target is essential to the information being conveyed.
  16. Apple
  17. Microsoft
  18. Android
  19. BBC
  20. Screen shot of a link with the blue Chrome focus ring on the blue background of the Chrome help page.
  21. Pattern as taken from the WAI Authoring Practices Guide