Interaction Patterns and Micro-interactions
Interaction patterns are reusable ways for people to control an interface, such as opening a menu or submitting a form. Micro-interactions are the small state changes and feedback loops inside those patterns, such as a pressed button, progress indicator, validation message, or undo confirmation.
itWeb development | OpenSkills.info
Intro
Interaction Patterns and Micro-interactions
An interaction pattern is a reusable arrangement of controls, states, and expected behavior that solves a recurring interface problem. A dialog, disclosure, search autocomplete, and drag-and-drop list are patterns. A micro-interaction is a focused feedback loop around one action or state change. A button press, inline validation message, progress indicator, and undo notice are micro-interactions.
Patterns reduce relearning when they preserve familiar meaning and behavior. They are not screenshots to copy. A pattern includes its trigger, state model, input methods, feedback, escape routes, semantics, and failure behavior. Visual styling can change while those behavioral commitments remain recognizable.
The interaction loop
Every interaction starts with a trigger. A pointer click, key press, touch gesture, voice command, timer, or system event may provide it. The interface interprets that trigger against its current state, applies a rule, changes state, and presents feedback.
The compact model is:
Trigger → rule → state change → feedback → next available action
Consider a Save button. Activation begins a request. The control enters a pending state and prevents accidental duplicate submission. Success updates the saved state and confirms completion near the affected content. Failure preserves the person's work, explains the problem, and offers a retry. Keyboard focus stays in a predictable place throughout the loop.
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://www.w3.org/WAI/ARIA/apg/patterns/
Supports
- Common web interaction patterns and their expected keyboard behavior
- Roles, states, properties, and relationships for composite widgets
- https://www.w3.org/WAI/ARIA/apg/about/introduction/
Supports
- APG pattern structure and illustrative implementation scope
- Semantic roles and states accompanying, rather than creating, behavior
- https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/
Supports
- Keyboard operation, focus movement conventions, and visible focus
- Coordination of pointer and keyboard interaction
- https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/
Supports
- Modal dialog focus containment, initial focus, dismissal, and focus return
- https://www.w3.org/WAI/WCAG22/Understanding/animation-from-interactions
Supports
- Requirement to disable interaction-triggered motion unless essential
- https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum
Supports
- Level AA minimum target size of 24 by 24 CSS pixels and defined exceptions
- Target spacing as a means of satisfying the criterion in specified cases
- https://www.w3.org/WAI/WCAG22/Understanding/status-messages
Supports
- Programmatic determination of status messages without receiving focus
- https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/At-rules/%40media/prefers-reduced-motion
Supports
- reduced and no-preference query values
- Replacing or reducing nonessential motion in response to user preference
- https://webkit.org/blog/7551/responsive-design-for-motion/
Supports
- WebKit support for prefers-reduced-motion on 15 May 2017
- CSS and JavaScript implementation paths and alternate-motion examples
- https://developer.apple.com/design/human-interface-guidelines/feedback
Supports
- Feedback communicating status, success, failure, warning, and correction
- Matching interruption and presentation to consequence
- Accessible feedback through multiple channels and nearby placement
- https://developer.apple.com/design/human-interface-guidelines/motion
Supports
- Purposeful, brief, precise, optional, and cancelable motion guidance
- Motion preserving spatial and gesture expectations
- https://developer.apple.com/design/human-interface-guidelines/navigation-and-search
Supports
- Navigation hierarchy and task context guidance
- https://m3.material.io/styles/motion/overview
Supports
- Motion as a system of transitions, spatial relationships, and timing
- https://www.nngroup.com/articles/ten-usability-heuristics/
Supports
- Visibility of system status, consistency, user control, error prevention, and recovery
- Recognition and feedback as interface review concerns
- https://www.oreilly.com/library/view/microinteractions/9781449342760/
Supports
- Microinteraction structure, examples, prototyping, documentation, and orchestration
- Publication and scope of Dan Saffer's Microinteractions
- https://github.com/sindresorhus/awesome
Supports
- Discovery of the Motion UI Design awesome list from the canonical awesome index
- https://github.com/fliptheweb/motion-ui-design
Supports
- Discovery of easings.net, cubic-bezier.com, GSAP, Anime.js, Origami Studio, and useAnimations
- Curated motion UI software, helpers, libraries, guidelines, and learning resources
- https://easings.net/
Supports
- Interactive comparison and copyable values for common easing functions
- https://cubic-bezier.com/
Supports
- Visual construction and preview of cubic Bezier timing curves
- https://gsap.com/docs/v3/
Supports
- GSAP timelines, animation control methods, and browser animation documentation
- https://animejs.com/documentation/
Supports
- Anime.js animation, timeline, event, easing, SVG, draggable, and WAAPI documentation
- https://origami.design/documentation/
Supports
- Origami Studio patches for interaction, animation, and prototype behavior
- https://useanimations.com/
Supports
- Reusable animated icons for interface controls
- https://help.figma.com/hc/en-us/articles/360039818874-Smart-animate-layers-between-frames
Supports
- Smart Animate matching layers, transitions, gestures, toggles, and loading sequences
- https://www.sketch.com/docs/prototyping/
Supports
- Sketch links, hotspots, overlays, hover, press, toggle, scrolling, and fixed elements
- https://www.framer.com/help/articles/how-animations-and-effects-work-in-framer/
Supports
- Framer layout animations, gestures, interactions, effects, and Motion integration
- https://www.protopie.io/features/interaction-logic
Supports
- ProtoPie triggers, responses, variables, formulas, and system events
- https://www.axure.com/axure-rp
Supports
- Axure events, conditions, variables, forms, repeaters, and multi-state panels
- https://www.uxpin.com/docs/editor/interactions/
Supports
- UXPin interactions, states, and animated prototypes
- https://rive.app/docs/editor/state-machine/state-machine
Supports
- Rive animation states, transitions, inputs, and runtime-ready interaction logic
- https://guidebookgallery.org/articles/designingthestaruserinterface/
Supports
- Xerox Star announcement in April 1981
- Consistent graphical interface principles and transfer of learning
- https://doi.org/10.1145/800276.810991
Supports
- Publication of Direct Manipulation A Step Beyond Programming Languages
- https://www.cs.umd.edu/~ben/about.html
Supports
- 1983 publication and properties of direct manipulation
- https://openlibrary.org/books/OL7406922M/Apple_Human_Interface_Guidelines
Supports
- November 1987 publication of Apple Human Interface Guidelines
- https://shop.elsevier.com/books/usability-engineering/nielsen/978-0-08-052029-2
Supports
- 1994 publication and practical usability evaluation methods
- https://www.apple.com/newsroom/2007/01/09Apple-Reinvents-the-Phone-with-iPhone/
Supports
- 9 January 2007 iPhone introduction and finger-driven multi-touch interface
- https://www.w3.org/press-releases/2008/wcag20/
Supports
- WCAG 2.0 publication as a W3C Recommendation on 11 December 2008
- Technology-neutral and testable web accessibility guidance
- https://openlibrary.org/books/OL25891170M/Microinteractions
Supports
- 2013 publication metadata for Microinteractions
- https://blog.google/products-and-platforms/platforms/android/google-io-2014-keynote/
Supports
- Material Design introduction on 25 June 2014 as a consistent design approach
- https://medium.com/airbnb-engineering/introducing-lottie-4ff4a0afac0e
Supports
- Lottie introduction on 1 February 2017 and After Effects export workflow
- https://airbnb.tech/opensource/lottie/
Supports
- Lottie rendering workflow and reduced manual animation recreation
