Edit

Haptics design guidelines

Haptics add a sense of touch to digital interactions, making experiences feel more responsive and intuitive. While most digital interfaces rely on visual or auditory feedback alone, haptic feedback provides a physical confirmation that reinforces user input and creates a clearer, more immediate connection between action and response.

Windows supports contextual haptic feedback through the InputHapticsManager API, enabling apps to deliver consistent touch feedback across supported devices.

Tip

For code examples and implementation details, see Implement haptic feedback. For additional visual guides, see Haptics design and implementation on microsoft.design.

Why add haptics?

Adding haptic feedback to your app benefits users in three key ways:

Clarity — Haptic feedback reinforces interactions by providing a physical confirmation, helping make actions feel responsive and reducing uncertainty about whether an action occurred.

Inclusion — Haptics extend feedback beyond visual and auditory channels, helping make interactions more accessible for users with different needs and preferences.

Delight — Thoughtfully designed haptics bring interactions to life through subtle, expressive feedback—adding moments of delight beyond basic function.

Passive vs. active haptics

Haptic feedback can be either:

  • Passive — comes directly from physical interaction with hardware (for example, the tactile click of a physical button).
  • Active — generated by the device and controlled through software using the InputHapticsManager API.

The InputHapticsManager API enables active haptics, letting your app control when feedback occurs and what it feels like. Haptics are most effective when used alongside visual and auditory feedback, reinforcing interactions without adding complexity.

Haptic language

Windows provides a set of predefined haptic waveforms designed for common interaction patterns. Each waveform has a distinct feel and purpose, helping create consistent experiences across applications and devices.

Waveforms are defined by three characteristics:

Characteristic Description
Intensity How strong the feedback feels.
Decay How quickly the feedback fades.
Sharpness The character of the feedback, ranging from soft to crisp.

Interaction feedback waveforms

These waveforms provide feedback during an interaction.

Waveform API constant Description
Hover Hover A light pulse that indicates hover states, signaling an upcoming action.
Collide Collide A soft pulse that indicates reaching a boundary or limit.
Align Align A sharp pulse when an object snaps to an alignment guide.
Step Step A firm pulse for discrete changes, such as moving through steps or values.
Grow Grow A dynamic pulse that conveys motion, transitions, or intelligent system activity.

Process confirmation waveforms

These waveforms communicate the outcome of a completed action.

Waveform API constant Description
Success Success An ascending pattern that confirms a completed action.
Error Error A descending pattern that indicates a failed action.

Note

Collide, Align, Step, and Grow were added in Windows SDK 10.0.28000.1839. On earlier SDK versions, fall back to Click or check for support with ApiInformation before using them.

User control and intensity

Haptic preferences vary by user. Windows allows users to adjust intensity or turn haptics off entirely in Settings > Bluetooth & devices > Touch.

Design your experience so it remains clear and usable even when haptics are reduced or disabled. Never rely on haptics as the sole indicator of an interaction outcome.

When to use haptics

Haptics should feel like a natural part of an interaction—not a distraction. Use them to reinforce user input, not to add decoration. The following principles guide when and how to use haptics effectively.

1. Establish a clear cause–effect relationship

Haptic feedback should be a reliable response to user input. Reserve it for user-initiated actions to create a clear, intuitive connection. Delays weaken that connection—aim for latency under 50 ms between the triggering event and feedback delivery.

2. Provide signals, not noise

Not every interaction needs feedback. Use haptics where they add value. The following patterns represent common scenarios where haptics improve clarity:

Scenario Purpose Trigger Recommended waveform
Object alignment Indicate when an object aligns to the edge or center of another object. Cursor snaps to an alignment guide while moving or resizing. Align
Drop target Indicate that an item can be dropped at the current location. Dragging an item over a valid drop target. Click (Hover)
Slider detent Indicate discrete steps or values within a range. Control reaches a step or snaps to a value. Step
Screen edge Indicate that a boundary has been reached. Dragging a window to the edge of the screen to activate Snap. Collide

3. Provide haptics consistently

Apply haptics consistently across similar interactions so users can build an understanding of what each signal represents. Use each waveform for its intended purpose and avoid mixing patterns for the same interaction type.

When combining haptics with visual or audio feedback, align them in timing and intensity. Well-designed haptics may go unnoticed consciously, but their absence is felt.