Inclusive Design Patterns 2025
Inclusive Design Patterns 2025
Patterns For
2025
Vitaly Friedman
September 2024
Table of Contents
Accessibility &
Inclusive Design
Inclusive Design
Retaining Accessibility
Accessibility is not something we add
to a website, but something we start
with initially — and risk losing with
every single change. Our task is to
retain it throughout the design process.
Misaligned Vocabulary
Business language Accessibility / UX Language
01 — “Conquer” the market 01 — “Reduce” friction
“Disability” Mindset
People don’t think of themselves as
disabled, so they don’t think the
accessibility features apply to them.
People often don’t realize that they rely
on accessibility all the time. 👓
“Disability” Mindset
There is no “one true way” to use a
computer. There are limitations and
barriers we all need to contend with.
Some issues a ect everyone, others are
present circumstantially.
EU Accessibility
Act, WCAG 2.2
Accessible Legislation
1.2.7 Extended Audio Description 2.2.6 Timeouts 2.3.3 Animation from 2.4.5 Multiple Ways
1.3.1 Info and Relationships AAA (Prerecorded) 1.1.1 Non-text Content Interactions
AAA
1.3.2 Meaningful Sequence
A 2.1 Keyboard 2.4.6 Headings and Labels
A 1.2.8 Media Alternative (Prerecorded) Accessible
1.3.3 Sensory Characteristics 2.4.7 Focus Visible AA
1.2.9 Audio-only (Live)
2.2 Enough 2.4.11 Focus Not Obscured
1.3.4 Orientation 1.1 Text Alternatives Time (Minimum)
AA 1.3.5 Identify Input Purpose 2.3 Seizures
2.4.8 Location
Information and Physical
1.2 Time-based Media 2.4.9 Link Purpose (Link Only)
AAA 1.3.6 Identify Purpose and user interface Reactions
2.4.10 Section Headings
components must be AAA
presentable to users User interface 2.4.12 Focus Not Obscured
components and (Enhanced)
in ways they can
1.3 Adaptable navigation must be 2.4.13 Focus Appearance
perceive.
operable.
Perceivable Operable
A 1.4.1 Use of Color
WCAG 2.5 Input Modalities
1.4.2 Audio Control
Robust 2.2 Understandable
1.4.3 Contrast (Minimum)
1.4.4 Resize Text
Content must be
2.5.1 Pointer Gestures
1.4.5 Images of Text
robust enough that it
AA can be interpreted Information 2.5.2 Pointer Cancellation
A
1.4.10 Reflow and the 2.5.3 Label in Name
reliably by a wide
1.4.11 Non-text Contrast operation of 2.5.4 Motion Actuation
variety of user
1.4.12 Text Spacing user interface
agents, including 2.5.7 Dragging Movements
1.4.13 Content on Hover or Focus must be AA
assistive 2.5.8 Target Size (Minimum)
technologies. understandable.
1.4.6 Contrast (Enhanced) 2.5.5 Target Size (Enhanced)
1.4.7 Low or No Background Audio 3.3 Input 2.5.6 Concurrent Input AAA
AAA 1.4.8 Visual Presentation Assistance Mechanisms
1.4.9 Images of Text (No Exception) 4.1 Compatible
3.1 Readable
3.2 Predictable
4.1.1 Parsing (Removed in 2.2)
A 4.1.2 Name, Role, Value 3.3.1 Error Identification
3.3.2 Labels or Instructions
A
3.1.1 Language of Page A 3.3.7 Redundant Entry
AA 4.1.3 Status Messages
Visual map of Web Content Accessibility Guidelines 2.2 Based on World Wide 3.2.5 Change on Request
3.3.6 Error Prevention (All) AAA
AAA 3.3.9 Accessible Authentication
Web Consortium documentation available at https://www.w3.org/TR/WCAG22
intopia.digital Licenced under Creative Commons Attribution-ShareAlike 4.0 International
(Enhanced)
Compliance and regulation
S
Inclusive design
Colorblindness
300 million people have some kind
of colorweakness, or are colorblind.
The safest bet is to never rely on
colors alone to communicate data.
Inclusive Design
Colorblindness
Be careful when combining hues
and patterns: patterns change how
bright or dark colors are perceived.
Consider designing in monotone
rst, then add color.
fi
Inclusive design
Color Contrast
Contrast captures the di erence in
brightness between colors, by using
relative luminance of colors. The
greater the di erence in luminance,
the higher the contrast ratio.
ff
ff
Inclusive design
Color Contrast
White-on-white has 1:1 ratio (min)
Black-on-white has 21:1 ratio (max).
High color contrast alone isn’t
su cient to address colorblindness.
ffi
Inclusive design
Colorblindness
01 — Blue is the safest hue for users to perceive color as you do.
03 — Colorblind users can tell red/green apart, but not which is which.
09 — Don’t mix green 🟢 and pink 🟣 if you use red 🔴 and blue 🔵.
10 — Don’t mix green 🟢 with orange 🟠, red 🔴 or blue 🔵 of the same lightness.
Who Can Use?
https://www.whocanuse.com
Accessible Color Palettes
https://venngage.com/tools/
accessible-color-palette-generator
Accessible Color Palettes
https://www.figma.com/community/
file/909176640411029401
Viz Palette
https://projects.susielu.com/viz-palette
Colorblind and Colorweak Experiences
https://blog.datawrapper.de/colorblindness-
Inclusive design
Motion Sickness
When people experience a
sensory con ict between what
they see and what they feel, it
often causes motion sickness.
Ca 30% are highly susceptible to
it (vestibular disorder, migraine).
fl
Inclusive Design
Inclusive
Design
Inclusive design
Children
Designing for children (age 3–12)
is hard. Children tend to lose focus
and motivation quickly. They need
steady achievements. We need to
reward and encourage small wins.
Inclusive design
Children
Children communicate volumes by
how they play, what they choose to
play with, how long they choose to
play with it, and when they decide
to play with something else.
02 — Very rough motor skills, but know how to swipe and tap.
03 — Around the age of 6, they can focus for longer period of time.
09 — Yet they still can’t think abstractly until the age of 12.
Teenagers
Teenagers (13–17 years old) are
often fast-moving, less cautious
and make snap judgements. Think
of them as younger adults, not kids.
Don’t underestimate their skills.
Inclusive Design
Teenagers’ Behavior
01 — Most teens have mobile devices, but not all have laptops.
Teenagers’ Behavior
06 — They heavily rely on apps related to school, work, shopping.
Older Adults
One billion people aged 60+ live
today, often healthy, active and
with a solid income and capital to
spend. Also, they are often ignored
and seen as one single entity.
Older Adults: Are We Really Designing for Our Future Selves?, Elizabeth Buie, Slideshare
Older Adults: Are We Really Designing for Our Future Selves?, Elizabeth Buie, Slideshare
Older Adults: Are We Really Designing for Our Future Selves?, Elizabeth Buie, Slideshare
Older Adults: Are We Really Designing for Our Future Selves?, Elizabeth Buie, Slideshare
↬ Hover Tunnels, Chris Coyier, https://css-tricks.com/dropdown-menus-with-more-forgiving-mouse-movement-paths/
↬ Hover Tunnels, Chris Coyier, https://css-tricks.com/dropdown-menus-with-more-forgiving-mouse-movement-paths/
↬ SVG Exit Path Areas, Hakim al-Hattab, https://slides.com/wireframe?debug=2#menu
↬ A Guide to Build Context Menus, Michael Villar, https://height.app/blog/guide-to-build-context-menus
↬ A Guide to Build Context Menus, Michael Villar, https://height.app/blog/guide-to-build-context-menus
Goldman Sachs, https://design.gs.com/patterns/grids-tables-formatting
GE Healthcare, https://design.gs.com/components/table#states
Salesforce Drag’n-Drop, https://salesforce-ux.github.io/dnd-a11y-patterns/
Salesforce Drag’n-Drop, https://salesforce-ux.github.io/dnd-a11y-patterns/
Drag-and-Drop UX
Summary
01 — Users should feel like they are moving physical objects..
04 — Animate the drop of an item (100ms) into its new home position.
Seniors 1 Sites and apps designed by and for young people are
Ages 65+ often inaccessible for older users. Ensure you are using
accessible text sizes and touch targets.
Left-Handed Users
Roughly 10% of people are left-
handed. It doesn’t mean that they
are left-handed users. We can’t
impose design decisions, but we
can allow customization based
on preferences.
↬ Diagonal UI, Michael Oh, https://www.behance.net/gallery/12419409/VICE-VERSA-diagonal-UI-optimized-for-single-hand-IX
↬ Diagonal UI, Michael Oh, https://www.behance.net/gallery/12419409/VICE-VERSA-diagonal-UI-optimized-for-single-hand-IX
↬ Diagonal UI, Michael Oh, https://www.behance.net/gallery/12419409/VICE-VERSA-diagonal-UI-optimized-for-single-hand-IX
↬ Diagonal UI, Michael Oh, https://www.behance.net/gallery/12419409/VICE-VERSA-diagonal-UI-optimized-for-single-hand-IX
↬ Diagonal UI, Michael Oh, https://www.behance.net/gallery/12419409/VICE-VERSA-diagonal-UI-optimized-for-single-hand-IX
User Behavior Patterns
Mental Health
People with di cult experiences
often feel vulnerable. They need
to be genuinely listened and
responded to, and they need a
clear route to anonymity.
ffi
In nite Scroll
Usability Issues
01 — Overwhelming, di cult to manage
02 — High abandonment rates
03 — Hard to spot “new” and “old”
04 — URL in the address bar often broken
05 — Can’t bookmark a location
06 — Hard to reach the footer
07 — Breaks the scroll bar
08 — Accessibility issues
09 — Performance issues
fi
ffi
Loading
Behavior
Pagination is the most popular,
and the slowest solution. Users
browse signi cantly less, and
often feel “slowed down”. But:
users spend more time on the rst
page and use lters/sorting more.
fi
fi
fi
Loading
Behavior
Load more pattern works best
across mobile and desktop. Gives
users control, all items on a single
page, footer is reachable. Users
browse more, and focus on single
items, often scrolling up/down.
Loading
Behavior
In nite scroll is the most over-
whelming option. Users often dive
into exploration mode, scan fast,
and focus less on single items.
Loading of products often feels
like “out of control”, footer issues.
fi
eCommerce UX
Designing For
Neurodiversity
Inclusive design
Neurodiversity
Refers to a wide range of
di erences in how people think —
similar to diversity in ethnicity,
gender, sexuality etc. For traits
associated with many diagnoses.
ff
Intuit Content Design System
https://contentdesign.intuit.com/
Inclusive design
Dyscalculia
3–10% of people have dyscalculia,
but many are unaware of that. It’s a
persistent, life-long di culty in
understanding numbers.
ffi
Inclusive design
Dyscalculia
Di culty to read and spot patterns
in numbers. Can be hard to tell
apart numbers/letters: 7/L, 0/O.
Struggle with time blindness,
managing nances, planning.
ffi
fi
Inclusive Design
Dyslexia
Around 6–10% of population have
some sort of dyslexia. It’s a condition
involving di culties with writing or
typing, reduced reading experience,
word recognition, spelling, decoding.
ffi
Inclusive design
Dyslexia
People with dyslexia are more likely to
nd most important details hidden in
a sea of data. There aren’t di erent
types of dyslexia — it’s one thing and
everyone is on a continuum.
fi
ff
Inclusive design
Neurodiversity
People with neurodiversity have
sensory experiences, unique ways of
social interaction, problem-solving,
“uneven” skill pro les.
fi
↬ Neurodiversity Design System, https://neurodiversity.design/principles/font/
↬ Neurodiversity Design System, https://neurodiversity.design/principles/font/
Inclusive Design
Autism
Nearly 1% of population has
autism. It’s not a sickness, but a
di erent way of experiencing the
world. Autistic children grow up
into autistic adults. No two people
with autism are the same.
ff
Inclusive Design
Focus Management
Most of the time, it’s a good idea to leave
focus order alone if we use <button> for
buttons, <input> for inputs and <a> for links.
No need to apply tabindex to interactive
elements that can receive keyboard focus,
and not for non-interactive elements.
Note on tooltips
tabindex
tabindex allows an element to be focused. It
accepts an integer as a value. It’s never a
good idea to use a positive integer value as it
will override the expected tab order, causing
disorienting experiences.
Note on tooltips
tabindex="-1"
We can use tabindex="-1" for focusing
with JavaScript. It will make an element
focusable via JavaScript or click/tap.
These elements are removed from the
tab sequence, but can still received
keyboard focus programatically.
Note on tooltips
via Therese Fessenden, Modal & Nonmodal Dialogs, Nielsen Normal Group
↬ Onboarding, https://dribbble.com/shots/3546996-Onboarding-Art-Direction/attachments/788404
↬ Best Practices for Modals, Naema Baskanderi, https://uxplanet.org/best-practices-for-modals-overlays-dialog-windows
Modals Are Disruptive
Disruptions of users focused on a
task often lead to forgetting the as-
left conditions (45%), forgetting to
return to the original task (25%)
and slowdown of task completion.
Brian P. Bailey, Joseph A. Konstan, “On the need for attention-aware systems”, 2006
Disruption Is Expensive
Because modal windows require
immediate attention, they interrupt
user’s work ow, cause users to lose
their train of thought and block the
content located in the background.
via Therese Fessenden, Modal & Nonmodal Dialogs, Nielsen Normal Group
fl
Modal Dialogs
Modals move the system into a special
mode requiring user interaction. That
means that users have to leave everything
and focus entirely on resolving the issue.
Similar to phone calls, alarm clocks or cats.
via Therese Fessenden, Modal & Nonmodal Dialogs, Nielsen Normal Group
↬ Enterprise Design: Dialogs, James Jacobs, /modern-enterprise-ui-design-part-2-modal-dialogs @ Medium
↬ Enterprise Design: Dialogs, James Jacobs, /modern-enterprise-ui-design-part-2-modal-dialogs @ Medium
↬ Enterprise Design: Dialogs, James Jacobs, /modern-enterprise-ui-design-part-2-modal-dialogs @ Medium
↬ Enterprise Design: Dialogs, James Jacobs, /modern-enterprise-ui-design-part-2-modal-dialogs @ Medium
Not All Modals Are Equal
Modals allow users to maintain multiple
contexts at the same time: perform related
actions without interrupting current state
on the main page. They are useful when
sending users to another page is disruptive.
Focus Management
Most of the time, it’s a good idea to leave
focus order alone if we use <button> for
buttons, <input> for inputs and <a> for links.
No need to apply tabindex to interactive
elements that can receive keyboard focus,
and not for non-interactive elements.
Accessibility Strategy
via Therese Fessenden, Modal & Nonmodal Dialogs, Nielsen Normal Group
Modals
Summary
01 — Modals should be mostly triggered by user interaction.
ADHD
Attention-De cit/Hyperactivity
Disorder a ects 5% of children,
2.5% of adults. Shows in
forgetfulness, time-blindness,
impulsivity, hyperactivity.
ff
fi
Inclusive Design
Navigation Queries
We could give users an option to
construct their own navigation query
with a set of straightforward selections.
An additional navigation layer for the
main navigation and search.
↬ Marcin Ignac, https://twitter.com/marcinignac/status/1400806180797231104
↬ Marcin Ignac, https://twitter.com/marcinignac/status/1400806180797231104
Inclusive Design
fi
↬ Statistics Estonia, https://www.stat.ee/en
Adam Silver on
Cancel UX
Users need Cancel when they fear that
they’ve committed to something they
want to avoid. Best strategy is to
calibrate expectations with clear end
explicit labels — not the “X” icon.
↬ Cancel vs. Close UX, Aurora Harley, https://www.nngroup.com/articles/cancel-vs-close/
↬ Cancel vs. Close UX, Aurora Harley, https://www.nngroup.com/articles/cancel-vs-close/
↬ Cancel vs. Close UX, Aurora Harley, https://www.nngroup.com/articles/cancel-vs-close/
↬ Cancel vs. Close UX, Aurora Harley, https://www.nngroup.com/articles/cancel-vs-close/
↬ Clearing Input Fields, Jens Brandt
↬ Pattern y Design System, https://www.pattern y.org/2022.05/guidelines/ lters/
fl
fl
fi
Modals & Popovers
Cancel UX
Add Cancel Things To Note
01 — Especially for complex multi-step dialogs. 01 — Nothing is more ambiguous than X.
02 — When exiting the page doesn’t clear input. 02 — X can mean Cancel, Close, Ignore.
03 — When all data is automatically saved. 03 — Or also: Save, Back, Delete, Reset.
04 — To cancel radios/dropdown selections. 04 — Make destructive buttons hard to nd.
05 — Link if Cancel dismisses a modal. 05 — Explain what happens to data/settings.
06 — Button if it reverts a process or changes. 06 — Close large overlays with Back button.
07 — Explicit and clear labels work best. 07 — Avoid pre-selected radio buttons.
08 —“Apply and Continue”, “Close and Dismiss”. 08 — Add an option “None of the above”.
09 — Use con rm prompts to avoid data loss. 09 — Add Reset if users often restore defaults.
10 — On mobile, put a primary button last. 10 — …or they ll in the same form repeatedly.
fi
fi
fi
↬ Where To Place Buttons In Forms, Adam Silver, https://adamsilver.io/blog/where-to-put-buttons-on-forms/
↬ Improving Usability of Multi-Select, Zina Szőgyényi, https://medium.com/tripaneer-techblog/improving-the-usability-of-multi-selecting
Modals & Popovers
GoodUI.org
fi
fi
fi
fi
Alan Cooper on
“About Face”
fi
fi
fi
Modals & Popovers
Deafness,
Blindness
Inclusive design
Deafness
466 million people have some
kind of deafness. About 90–95%
of deaf people come from hearing
families — often occurs due to
exposure to loud noises, emerges
with age, disease, accidents.
↬ UX Design Collective, https://uxdesign.cc/a-guide-to-the-visual-language-of-closed-captions-and-subtitles-2fda5fa2a325
Captioning UX
Captioning
01 — Subtitles
02 — Voiceover
03 — Closed captions [CC]
04 — Open captions Captions are on-screen text
05 — Transcripts
descriptions — used to describe
06 — Audio description
07 — On-screen text
audio content on video.
08 — Auto-generated captions
09 — Auto-generated chapters
10 — Video chapters design
11 — Search and time stamps
12 — Video player UX
↬ European Parliament: Multimedia Centre, https://multimedia.europarl.europa.eu/en
↬ European Parliament: Multimedia Centre, https://multimedia.europarl.europa.eu/en
↬ European Parliament: Multimedia Centre, https://multimedia.europarl.europa.eu/en
Captioning UX
User’s Environment
Captions are used not just in busy
and noisy environments — also in
video content, social media, real-time
communication, games, courses.
Captioning UX
User’s Environment
Captions are the only way to
consume audio for viewers who
are hard of hearing — permanently
or temporarily.
Captioning UX
User’s Environment
Using Closed Captioning is often a
choice or preference, rather than
being caused by impairment or
restraints from using audio.
↬ America’s Subtitle Use, Preply, https://preply.com/en/blog/americas-subtitles-use/
↬ Inclusive Design Toolkit, https://www.microsoft.com/design/inclusive/
Captioning UX
Bene ts of Captioning
Contextual details Managing distractions
Sarcasm, synth voice, lyrics, Gym, multi-tasking, child care, public
background sound details. space, work space, lack of headphones.
Subtle Differences
Captions are part of accessibility.
Designed for people who are hard of
hearing to access aural information
with speaker IDs and sound desc.
Captioning UX
Subtle Differences
Audio description is also a part of
accessibility. Designed for people
with visual impairments to access
details about crucial visual elements
on the screen.
↬ Net ix, https://www.net ix.com
fl
fl
Captioning UX
Subtle Differences
Subtitles: part of internationalization.
Designed as a translation from one
spoken language to another written
language for hearing people. They aren’t
necessarily accessible.
Captioning UX
Subtle Differences
Open captions are “burnt” onto the
video and can’t be turned o .
Rules of Captioning
The Pyramid pattern Full person’s ID on the same line
With 2 relatively equal parts Don’t break person’s identi cation
(40 ch top line, a bit less bottom line) details across multiple lines.
Native Integration
Captions are often seen as an
additional layer on top of existing
audio and video. We could also
natively design and integrate it in
the viewing experience.
↬ Living Comic, Agung Tarumampen, https://www.cmd-amsterdam.nl/portfolio/living-comic-thanos-vs-iron-man/
Captions UX
Enable Search
With search, viewers could jump
to a speci c part of the video as
every sentence is linked to the
time stamp within the video.
fi
↬ TED, https://dcmp.org/learn/captioningkey
↬ TED, https://www.ted.com
↬ Zoom, https://www.zoom.us
Captions UX
Customization Settings
Subtitles were never designed.
But some people need di erent
subtitles in terms of font size,
color or a typeface.
ff
↬ Amazon Prime Subtitles, https://www.amazon.com
Captions UX
Position of Captions
Customization Settings
Enable users to change the font
and font size, choose presets for
display of captions, to relocate the
caption across the screen and a
setting to use captions by default.
↬ Best Practices for Closed Captioning, https://www.smashingmagazine.com/2023/01/closed-captions-subtitles-ux/
↬ European Parliament: Multimedia Centre, https://multimedia.europarl.europa.eu/en
↬ European Parliament: Multimedia Centre, https://multimedia.europarl.europa.eu/en
↬ European Parliament: Multimedia Centre, https://multimedia.europarl.europa.eu/en
↬ Multimedia Center Mock-up, by Christian Kuhrt
↬ Multimedia Center Mock-up, by Artem Shykov
↬ Multimedia Center Mock-up, by Artem Shykov
↬ Multimedia Center Mock-up, by Katharina Schönefeld
Captions UX
Summary
01 — Captions are often used by default (especially Gen Z).
05 — Avoid “hearing impairment” when speaking about users who are deaf.
06 — Use the words Deaf (most of their lives) or deaf (later in life).
09 — Don’t assume that every deaf person can lip read well.
Inclusive design
Screen Readers
253 million people worldwide have a
visual impairment. Screen readers help
them translate text to speech or Braille.
They use the same voice regardless of
font size, weight and color.
Measuring UX
Design Patterns
And Guidelines
Inclusive design
Accessible Forms
Mega-sites are usually extremely
large, many levels deep, are made of
many micro-websites and many sub-
sections, cater to many audiences and
have multiple entry points.
Single vs. Multiple Input Fields
In theory, we’d always ask users only for
their full name. But systems often require a
structured input, so asking with multiple
inputs is needed. In that case, Middle Name
should be optional, but not marked.
I
r
I
f
a
fi
Single Field Works Best
A single name eld can accommodate
the broadest range of name types, but
means you cannot reliably extract
parts of a name.
Summary
01 — Avoid disabled buttons if you can.
fi
Inclusive Disabled Buttons
01 — On hover, change the cursor to cursor: not-allowed.
02 — Always keep disabled buttons focusable.
03 — On focus/tap/click, explain why the button is disabled.
04 — We can show a tooltip or a text message on focus/tap/click.
05 — To avoid double bookings, add a spinner/change the wording on tap/click.
06 — Prevent double click programmatically via JS with aria-disabled.
07 — Use ARIA live regions to announce dynamic content.
08 — Avoid pointer-events: none as it won’t prevent focus/key nav.
09 — Guide the user to error summary, or to form errors directly.
10 — Provide a “way-out”-link under the disabled button.
11 — Allow customers to overrule errors and continue despite them.
12 — Keep the “Continue” button accessible and validate on submit.
13 — Consider replacing disabled buttons with more actionable alternatives.
↬ Microcopy for con rmation dialogues, Kinneret Yifrah, UXdesign Medium
fi
↬ Microcopy for con rmation dialogues, Kinneret Yifrah, UXdesign Medium
fi
↬ Microcopy for con rmation dialogues, Kinneret Yifrah, UXdesign Medium
fi
↬ Microcopy for con rmation dialogues, Kinneret Yifrah, UXdesign Medium
fi
Adam Silver on
GoodUI.org
fi
fi
fi
fi
Alan Cooper on
“About Face”
fi
fi
fi
Default buttons UX
Saving by Default
Brian P. Bailey, Joseph A. Konstan, “On the need for attention-aware systems”, 2006
Web Forms UX
Error Messages
We show error messages to explain an
issue with the user input and guide users
to a solution. Both parts are important;
it’s not about telling users they are wrong,
but showing them how to get it right.
American Press Institute on
Inline Validation
Input Order
Inline Validation
04 — Show ‘success’ only if the the user has moved to the next eld.
05 — Editing a eld that was valid: validate after data entry.
06 — Editing a eld that was invalid: validate during data entry.
fi
Form Design Guidelines
03 — Upon submit, scroll the user to the label of the rst error.
04 — Display the error above the submit button on click.
Accessible Copy-Paste
Toasts are problematic. are usually
extremely large, many levels deep, are
made of many micro-websites and
many sub-sections, cater to many
audiences and have multiple entry
points.
I
r
I
f
a
fi
I
r
I
f
a
fi
I
r
I
f
a
fi
I
r
I
f
a
fi
I
r
I
f
a
fi
Auto-Masking Issues
Auto-masking makes it di cult to type a
number in a customer’s preferred way.
It’s also more di cult to copy-paste a
number from another place and verify it.
Also, masks need to be localized.
ffi
ffi
Auto-Masking Issues
Masks also need to be localized. There
are regional di erences in input
formatting and input structure for dates,
phone numbers, addresses etc. E.g. US:
MM/DD/YYYY, EU: DD/MM/YYYY,
Canada/Japan: YYYY/MM/DD.
ff
Separate Inputs Issues
Auto-masking makes it di cult to type a
number in a customer’s preferred way.
It’s also more di cult to copy-paste a
number from another place and verify it.
ffi
ffi
I
r
I
f
a
fi
Phone Input
Summary
01 — Make it more di cult for users to make mistakes.
02 — Consider di erent exceptions for every type of input.
03 — Error messages should be concise, speci c and actionable.
04 — Don’t tell users they are wrong; explain how to get it right.
Building A
Strong Case
UX Research
UX Without Users Is X
Stakeholders who won’t give you time
or resources to talk to users often are
the rst to demand evidence to
support your design work. Ask for
reasons for no access to users.
fi
UX Research
UX Without Users Is X
Typically users are hard to access,
too expensive to recruit, strict NDA,
lack of users, or the company blocks
access to maintain a relationship.
Mostly because they don’t trust you.
UX Research
06 — It’s not just their support, but their relationships you will need.
07 — Help them explain your work to others, e.g. with key points PDFs.
Front-End
Accessibility
Accessibility
Retaining Accessibility
Accessibility is not something we add
to a website, but something we start
with and risk losing with every
enhancement. It is to be retained.
Design KPIs
Improve! WCAG AA Compliance Measure! Sales/marketing costs < $15K/w.
Reduce! Accessibility errors (HTML) Reduce! Service desk inquiries < 35/w.
Reduce! Accessibility errors (PDFs) Reduce! Confusing encounters < 3/visit.
Reduce! Captions for videos. Reduce! Time to release/update < 14 days.
Reduce! Respect dark mode. Reduce! Non-content on a page < 25%.
Improve! Use prefers-color-scheme. Reduce! Environmental impact < 0.3g/p.
Improve! Use prefers-contrast. Reduce! Onboarding time < 15 sec.
Improve! Use forced-colors. Improve! Flesch reading ease score > 60.
Improve! Support reduced motion. Improve! “Turn-around” score < 1 week.
Accessibility
Focus Styles
It’s common to remove focus styles as they get
in a way of design. But every interactive
element has to be focusable, so it needs focus
styles. With :focus-visible we can remove
focus styles for a mouse/pointer, but keep it
visible for keyboard users.
Bundling Strategy
Focus Styles
We tend to remove focus styles as they get in a
way of design. But every interactive element
has to be focusable (a, button, input, select,
details, tabindex-applied). With :focus-
within we can style the parent element of a
focused element. Acts as a “parent” selector.
Bundling Strategy
Focus Styles
We tend to remove focus styles as they get in a
way of design. But every interactive element
has to be focusable. With :focus-within we
can style the parent element of a focused
element. It acts as a parent selector in CSS.
Bundling Strategy
Focus Management
Most of the time, it’s a good idea to leave
focus order alone if we use <button> for
buttons, <input> for inputs and <a> for links.
No need to apply tabindex to interactive
elements that can receive keyboard focus,
and not for non-interactive elements.
Bundling Strategy
tabindex
tabindex allows an element to be focused. It
accepts an integer as a value. It’s never a
good idea to use a positive integer value as it
will override the expected tab order, causing
disorienting experiences.
Bundling Strategy
tabindex="-1"
We can use tabindex="-1" for focusing
with JavaScript. It will make an element
focusable via JavaScript or click/tap.
These elements are removed from the
tab sequence, but can still received
keyboard focus programatically.
Accessibility Strategy
Focus Management in JS
In JavaScript, we need to send focus to
changed views, modals, menus. E.g. we
can use React refs and FocusScope API,
for Vue.js there is Vue.js $refs.
↬ Accessible Contrast Ratios Explained, https://www.getstark.co/blog/accessible-contrast-ratios-and-a-levels-explained
↬ Accessible Contrast Ratios Explained, https://www.getstark.co/blog/accessible-contrast-ratios-and-a-levels-explained
↬ Accessible Contrast Ratios Explained, https://www.getstark.co/blog/accessible-contrast-ratios-and-a-levels-explained
Avoid Error Msgs Under Fields
01 — Autocomplete features in browsers obscure them.
02 — On-screen keyboards can obscure them, too.
03 — Screen readers can announce them after the input.
04 — The messages might be out of view on narrow screens.
05 — They need to be complemented with an error summary on top.
06 — Pre x the word “Error:” to the document’s title.
07 — Style error messages in red and use a warning icon.
fi
↬ Illustrations by Jordan Moore, https://twitter.com/jordanmoore/status/1250026238762266624
↬ IBM’s Carbon Design System, https://www.carbondesignsystem.com/patterns/forms-pattern/
↬ Avoid Messages Under Fields, Adrian Roselli, https://adrianroselli.com/2017/01/avoid-messages-under- elds.html
fi
Form Design Guidelines
03 — Upon submit, scroll the user to the label of the rst error.
04 — Display the error above the submit button on click.
Summary
01 — Avoid disabled buttons if you can.
fi
Inclusive Disabled Buttons
01 — On hover, change the cursor to cursor: not-allowed.
02 — Always keep disabled buttons focusable.
03 — On focus/tap/click, explain why the button is disabled.
04 — We can show a tooltip or a text message on focus/tap/click.
05 — To avoid double bookings, add a spinner/change the wording on tap/click.
06 — Prevent double click programmatically via JS with aria-disabled.
07 — Use ARIA live regions to announce dynamic content.
08 — Avoid pointer-events: none as it won’t prevent focus/key nav.
09 — Guide the user to error summary, or to form errors directly.
10 — Provide a “way-out”-link under the disabled button.
11 — Allow customers to overrule errors and continue despite them.
12 — Keep the “Continue” button accessible and validate on submit.
13 — Consider replacing disabled buttons with more actionable alternatives.
Accessibility Strategy
PDF Accessibility
When PDF is generated by MS Word or
Apple Pages, it often includes plenty of
accessibility issues. They need to be
reviewed in Adobe Acrobat PDC and PDF
Accessibility Checker (PAC) for PDF/UA
and WCAG compliance.
↬ PDF Accessibility Checker, https://www.access-for-all.ch/en/pdf-accessibility-checker.html
Accessibility Strategy
Client-Side Routing
For each view, we’d need to add a small UI
control (like a “skip” link), label with its
action (e.g. “skip to nav”). When a user
clicks on it, move focus to this control, then
use Live Region to announce page changes.
Media Queries for Accessibility
Retaining Accessibility
Accessibility is not something we add
to a website, but something we start
with and risk losing with every
enhancement. It is to be retained.
— Heydon Pickering
“Apps for All”
“
...As a result, screen readers can
understand the patterns and provide
an equivalent experience of the same
content both visually and aurally.
Semantics is embedded in attributes
and HTML elements.
— Heydon Pickering
“Apps for All”
Accessibility Techniques
• HTML:
<button type="button">Read more…</button>
/* Beware: implicit type is ‘submit’, so be specific. */
• CSS:
button {
background-color: DarkSlateBlue;
border-radius: 0.25em;
box-shadow: 0 4px 0 #222; }
button:hover, button:focus {
/* Make it look like you can press it */ }
• CSS:
button:active {
position: relative;
top: 3px; /* 3px drop */
box-shadow: 0 0 0 #222; /* less by 3px (to zero) */
}
button[disabled] {
/* Styles for a disabled button */
pointer-events: none;
/* or cursor: not-allowed; */
}
• Nested text within <button> will be read out by
screen readers when the button is accessed.
input:focus + [role="tooltip"] {
display: block;
}
Accessibility Techniques
[aria-hidden="false"] { [aria-expanded="false"]:before {
display: block; content: '\25bc\0020';
} }
• HTML:
<a href=“#nav”>Menu</a>
<!—- other markup… —->
<nav id="nav" role="navigation">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about">About</a></li>
<li><a href="/blog">Blog</a></li>
</ul>
</nav>
• HTML:
<a href="#nav" role="button" aria-controls="nav"
aria-expanded="false">Menu</a>
<!—- other markup… —->
<nav id="nav" role=“navigation" aria-hidden="true">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/about">About</a></li>
<li><a href="/blog">Blog</a></li>
</ul>
</nav>
• HTML:
<ul>
<li><a href="#sec1">Section 1</a></li>
<li><a href="#sec2">Section 2</a></li>
<li><a href="#sec3">Section 3</a></li>
</ul>
<section id="sec1">...</section>
<section id="sec2">...</section>
<section id="sec3">...</section>
• HTML:
<ul role="tablist">
<li><a role=“tab" href="#sec1">Section 1</a></li>
<li><a role=“tab" href="#sec2">Section 2</a></li>
<li><a role=“tab" href="#sec3">Section 3</a></li>
</ul>
• HTML:
<video preload="auto" width="480" height="360"
poster="myvideo.jpg">
<source type=“video/mp4” src=“talk.mp4" />
<source type=“video/webm” src=“talk.webm" />
<track kind=“captions” src=“talk.vtt" />
</video>
• Accessible video includes captions, a transcript and
an audio description.
Summary
01 — Screen readers have great JavaScript support.
Strategy
01 — Embed accessibility testing in your build process (axe).
Wrapping Up
Smart Interface Design Patterns
20% off: SMARTUX
https://smart-interface-design-patterns.com
Smart Interface Design Patterns
https://smart-interface-design-patterns.com
Smart Interface Design Patterns
https://smart-interface-design-patterns.com/articles
Contact details
Checklists: www.smashed.by/checklists
Twitter: @smashingmag
Books, Magazine: www.smashingmagazine.com
Video course: www.smart-interface-design-patterns.com
Compliled and curated by Vitaly Friedman, 2012–2024.
Modals & Popovers
Cancel UX
Users need Cancel when they fear that
they’ve committed to something they
want to avoid. Best strategy is to
calibrate expectations with clear end
explicit labels — not the “X” icon.
↬ Cancel vs. Close UX, Aurora Harley, https://www.nngroup.com/articles/cancel-vs-close/
↬ Cancel vs. Close UX, Aurora Harley, https://www.nngroup.com/articles/cancel-vs-close/
↬ Cancel vs. Close UX, Aurora Harley, https://www.nngroup.com/articles/cancel-vs-close/
↬ Cancel vs. Close UX, Aurora Harley, https://www.nngroup.com/articles/cancel-vs-close/
↬ Clearing Input Fields, Jens Brandt
↬ Pattern y Design System, https://www.pattern y.org/2022.05/guidelines/ lters/
fl
fl
fi
Modals & Popovers
Cancel UX
Add Cancel Things To Note
01 — Especially for complex multi-step dialogs. 01 — Nothing is more ambiguous than X.
02 — When exiting the page doesn’t clear input. 02 — X can mean Cancel, Close, Ignore.
03 — When all data is automatically saved. 03 — Or also: Save, Back, Delete, Reset.
04 — To cancel radios/dropdown selections. 04 — Make destructive buttons hard to nd.
05 — Link if Cancel dismisses a modal. 05 — Explain what happens to data/settings.
06 — Button if it reverts a process or changes. 06 — Close large overlays with Back button.
07 — Explicit and clear labels work best. 07 — Avoid pre-selected radio buttons.
08 —“Apply and Continue”, “Close and Dismiss”. 08 — Add an option “None of the above”.
09 — Use con rm prompts to avoid data loss. 09 — Add Reset if users often restore defaults.
10 — On mobile, put a primary button last. 10 — …or they ll in the same form repeatedly.
fi
fi
fi
↬ Where To Place Buttons In Forms, Adam Silver, https://adamsilver.io/blog/where-to-put-buttons-on-forms/
↬ Improving Usability of Multi-Select, Zina Szőgyényi, https://medium.com/tripaneer-techblog/improving-the-usability-of-multi-selecting
Modals & Popovers
GoodUI.org
fi
fi
fi
fi
Alan Cooper on
“About Face”
fi
fi
fi
Modals & Popovers
First Impression
The rst thing a customer is exposed to
has a disproportionate impact on how
they perceive, use and will think about
the product — in eCommerce, and in any
product or service.
fi
↬ Menu Icons, Alex Münch, https://twitter.com/alexmuench/status/1090550334286692352
↬ Google Conversions, Luke Wroblewski, https://twitter.com/lukew/status/1182314747997278209
Reducing The Gap
User-centric design works when there’s
no gap between a user and the maker.
As companies grow, gaps start forming:
more distance between decision makers
and the actual customers.
Design KPIs
With design KPIs, the design process
is always driven by constraints and
user-centric goals. The outcome is an
evidence-based design without
subjective and random decisions.
Measuring usability
Design KPIs
Improve! Accuracy of data ≈ 100%. Measure! Sales/marketing costs < $15K/w.
Reduce! Time to complete < 35s. Reduce! Service desk inquiries < 35/w.
Reduce! Time to relevance < 30s. Reduce! Search query iterations < 3/query.
Reduce! Frequency of errors < 3/v. Reduce! Time to release/update < 14 days.
Reduce! Error recovery speed < 7s. Reduce! Non-content on a page < 25%.
Improve! Top tasks success > 80%. Reduce! Environmental impact < 0.3g/p.
Improve! System Usability Scale > 70. Reduce! Onboarding time < 15 sec.
Improve! WCAG AA coverage ≈ 100%. Improve! Flesch reading ease score > 60.
Improve! Core Web Vitals ≈ 100%. Improve! “Turn-around” score < 1 week.