Click or gesture | Expected behavior | ||
---|---|---|---|
Primary click | Select or activate an item, such as a file or button. | ||
Secondary click | Reveal contextual menus. | ||
Scrolling | Move content up, down, left, or right within a view. | ||
Smart zoom | Zoom in or out on content, such as a web page or PDF. | ||
Swipe between pages | Navigate forward or backward between individually displayed pages. | ||
Swipe between full-screen apps | Navigate forward or backward between full-screen apps and spaces. | ||
Mission Control (double-tap the mouse with two fingers or swipe up on the trackpad with three or four fingers) | Activate Mission Control. | ||
Lookup and data detectors (force click with one finger or tap with three fingers) | Display a lookup window above selected content. | ||
Tap to click | Perform the primary click action using a tap rather than a click. | ||
Force click | Click then press firmly to display a Quick Look window or lookup window above selected content. Apply a variable amount of pressure to affect pressure-sensitive controls, such as variable speed media controls. | ||
Zoom in or out (pinch with two fingers) | Zoom in or out. | ||
Rotate (move two fingers in a circular motion) | Rotate content, such as an image. | ||
Notification Center (swipe from the edge of the trackpad) | Display Notification Center. | ||
App Exposé (swipe down with three or four fingers) | Display the current app’s windows in Exposé. | ||
Launchpad (pinch with thumb and three fingers) | Display the Launchpad. | ||
Show Desktop (spread with thumb and three fingers) | Slide all windows out of the way to reveal the desktop. |
Pointer | Name | Meaning | AppKit API |
---|---|---|---|
Arrow | Standard pointer for selecting and interacting with content and interface elements. | arrow() | |
Closed hand | Dragging to reposition the display of content within a view—for example, dragging a map around in Maps. | closedHand() | |
Contextual menu | A contextual menu is available for the content below the pointer. This pointer is generally shown only when the Control key is pressed. | contextualMenu() | |
Crosshair | Precise rectangular selection is possible, such as when viewing an image in Preview. | crosshair() | |
Disappearing item | A dragged item will disappear when dropped. If the item references an original item, the original is unaffected. For example, when dragging a mailbox out of the favorites bar in Mail, the original mailbox isn’t removed. | disappearingItem() | |
Drag copy | Duplicates a dragged—not moved—item when dropped into the destination. Appears when pressing the Option key during a drag operation. | dragCopy() | |
Drag link | During a drag and drop operation, creates an alias of the selected file when dropped. The alias points to the original file, which remains unmoved. Appears when pressing the Option and Command keys during a drag operation. | dragLink() | |
Horizontal I beam | Selection and insertion of text is possible in a horizontal layout, such as a TextEdit or Pages document. | I beam() | |
Open hand | Dragging to reposition content within a view is possible. | openHand() | |
Operation not allowed | A dragged item can’t be dropped in the current location. | operationNotAllowed() | |
Pointing hand | The content beneath the pointer is a URL link to a webpage, document, or other item. | pointingHand() | |
Resize down | Resize or move a window, view, or element downward. | resizeDown() | |
Resize left | Resize or move a window, view, or element to the left. | resizeLeft() | |
Resize left/right | Resize or move a window, view, or element to the left or right. | resizeLeftRight() | |
Resize right | Resize or move a window, view, or element to the right. | resizeRight() | |
Resize up | Resize or move a window, view, or element upward. | resizeUp() | |
Resize up/down | Resize or move a window, view, or element upward or downward. | resizeUpDown() | |
Vertical I beam | Selection and insertion of text is possible in a vertical layout. | iBeamCursorForVerticalLayout() |
Haptic feedback pattern | Description |
---|---|
Alignment | Indicates the alignment of a dragged item. For example, this pattern could be used in a drawing app when the people drag a shape into alignment with another shape. Other scenarios where this type of feedback could be used might include scaling an object to fit within specific dimensions, positioning an object at a preferred location, or reaching the beginning/minimum or end/maximum of something, such as a track view in an audio/video app. |
Level change | Indicates movement between discrete levels of pressure. For example, as people press a fast-forward button on a video player, playback could increase or decrease and haptic feedback could be provided as different levels of pressure are reached. |
Generic | Intended for providing general feedback when the other patterns don’t apply. |