Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Val Head — A New Look At UX Animation — UX Y'al...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
UX Y'all
October 12, 2022
Design
130
0
Share
Val Head — A New Look At UX Animation — UX Y'all 2022
UX Y'all
October 12, 2022
More Decks by UX Y'all
See All by UX Y'all
Breaking Down the Distinctions Evaluating AI generated Web Designs - Laura Ruel
uxyall
0
170
Redefining UX Design in the Age of Generative AI - Will Ryan
uxyall
0
180
How to critique other people’s designs without pissing them off - Ingrid Towey & Jess Schaefer
uxyall
0
120
Are we breaking people with our designs - Steve Banfi
uxyall
0
160
The Breaks Design Thinking Workshop - Sara Sosnowski
uxyall
0
170
Are you ready willing and able to lead a UX Research and Design team? - La Tosca Goodwin
uxyall
0
130
Breaking the Research Paradigm: Unlearning Biases and Fostering Inclusive UX - Rachel Rodney
uxyall
0
140
Breakthrough User Research with Trauma Informed Practices - Sumonthip Gmitro & Michiko Stas
uxyall
0
110
Decolonizing Your Design System Unveiling Biases and Revolutionizing Inclusion - Michelle Chin
uxyall
0
170
Other Decks in Design
See All in Design
AIエージェントが対話的なUIを返す!MCP−UIで変わるユーザ体験
daitasu
1
200
CULTURE DECK/Frontend Engineer
mhand01
0
1.2k
なぜ、インサイトを貯めるのか?
tajima_kaho
1
530
デザインとフロントエンドの境界が融ける Claude Code × Figma
littlebusters
1
2.5k
ClaudeCodeでマーケターの課題を解決する
kenichiota0711
11
13k
Mandalyn_DT5001_FinalAssignment.pdf
lynteo
0
220
The Art of Caring
klemens
0
310
Storyboard Assignment: Storyboard from Comic Strip
lynteo
3
260
体験負債を資産に変える組織的アプローチ
hikarutakase
0
1.1k
情報を翻訳する-伝わる可視化3原則とオープンデータ活用-
hjmkth
1
240
CULTURE DECK/Marketing Director
mhand01
0
1.2k
絵や写真から学ぶ、要素がもたらす副作用
kspace
0
300
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1370
200k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
360
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.9k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
680
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Building an army of robots
kneath
306
46k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
140
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
280
Producing Creativity
orderedlist
PRO
348
40k
Deep Space Network (abreviated)
tonyrice
0
130
Transcript
Val Head • UX Y’All 2022 A new look at
UX animation
Val Head • UX Y’All 2022 A new look at
UX animation
None
Animation & UX
UX animation • Visual continuity • Reduce cognitive load •
Connect contexts • Direct attention • Branding, voice and tone
User Preferences
“The prefers-reduced-motion media feature is used to detect if
the user has requested the system minimize the amount of animation or motion it uses.” prefers-reduced-motion
None
None
What type of motion to reduce? “…any motion that creates
the illusion of movement…” - WCAG
Multi-speed or multi-directional movement Commonly triggering motion effects: Spinning effects
Constant motion near text When you use any of these in your work, be sure to provide a reduced option.
Not on that list: Animated colour changes, opacity fades,
non-motion effects
How to respect reduced motion requests?
1. Identify potentially triggering motion effects 2. Choose a
reduced effect based on context Respecting reduced motion requests:
None
None
CSS @media (prefers-reduced-motion: reduce) { /* reduced behaviour */ }
JS let motionQuery = matchMedia('(prefers-reduced-motion)'); const handleReduceMotionChanged = () =>
{ if (motionQuery.matches) //reduced behaviour; } motionQuery.addListener(handleReduceMotionChanged); handleReduceMotionChanged();
None
None
None
None
smashingmagazine.com/2020/09/design-reduced-motion-sensitivities/
Container Queries
Container Queries in short: • Assign a container • Query
details about that container • De fi ne styles of other element(s) based on the results of that query
div { container:my-container / inline-size; } CSS
@container my-container (max-width:50em) { .thing { animation-duration: 250ms; } }
CSS
None
None
@container street (max-width:500px) { .cloud1 {animation-duration: 20s;} .cloud2 {animation-duration: 26s;}
.skyshapes {display: none;} } CSS
CSS @keyframes fl oating { 0% {translate: calc(0cqi - var(--cloud-width));}
100% {translate: calc(100cqi + var(--cloud-width));} }
Why adjust animation based on container size?
Focus or simplify animation for smaller contexts Emphasize with
strong motion for larger contexts Change playback sequence when layout changes Why adjust animations based on container size?
Container queries are for design too!
oddbird.net/2022/08/18/cq-syntax/
None
Thank you!