Cursors
Foundations / Interaction / Cursors
Intro
Cursors are visual indicators that show where user interaction is currently focused on the screen. Users can move the cursor and interact with elements on the screen using a mouse, touchpad, or keyboard.
Cursors help users understand what type of action is possible – such as selecting text, clicking a button, resizing a column or dragging an object. The cursor shape changes dynamically based on context to reflect the available interaction.
General
Cursors reflect the system’s response to user motion or interaction on the screen, adapting to different contexts such as idle state (default), hovering over links, loading, or interaction restrictions – such as a disabled button or unavailable option.
Default
Arrow cursor Windows (left) and macOS (right)
The default state of the cursor is platform-dependent. It is usually displayed as an arrow. The visual representation may differ, depending on the operating system.
Auto
The auto state is the common cursor state, where the system automatically determines which cursor to display based on the current context.
Examples:
- When hovered over text, the cursor changes to a text selection cursor.
- When placed over a clickable element, the cursor changes to a pointer.
None
This state is used when the cursor needs to be hidden.
For instance, the cursor might disappear while typing to reduce visual clutter. This is a common scenario in various text editors.
Selection
Text
The cursor direction depends on the text orientation. It can be used to select horizontal and vertical lines of text, respectively.
Text cursor
Crosshair
Crosshair cursor
Pointer
Pointer cursor
Resize
Resize cursors
Column-Resize and Row-Resize
These cursors are used when users can resize columns or rows in tables. The orientation depends on whether the resizing is applied to a column or a row:
- Resize column: Cursor displays with a vertical beam.
- Resize row: Cursor displays with a horizontal beam.
Column-resize and row-resize
Move
Use this cursor when users can rearrange elements.
Both Windows and macOS use the same visual representation for the all-scroll cursor.
Move cursor
Drag and Drop
Grab and Grabbing
Use this cursor to indicate that the hovered item can be dragged and repositioned.
Grab and grabbing
Not Allowed or No Drop
‘Not allowed' in Windows (left) and macOS (right)
Zoom
Zoom In and Zoom Out
Zoom in and zoom out
Rarely Used Cursors
Copy
Copy in Windows (left) and macOS (right)
Alias
Alias in Windows (left) and macOS (right)
Progress and Wait
Alias in Windows (left) and macOS (right)
Help
Help in Windows (left) and macOS (right)
Context Menu
The context menu cursor is intended to help users discover context menus. This cursor CSS is available on macOS, but not on Windows.
To ensure consistency across different devices and operating systems, use of this cursor is not recommended.
Context menu cursor
Additional Information
The visual representation of the cursor depends on the specifics of the operating system (OS), such as macOS or Windows.
Cursors can be customized at the OS settings level. Personalization options include changing the shape, size, and color. These alterations might be used to improve the cursor’s visibility and thus enhance accessibility features.
[internal_only]