Tick is a native checkbox drawn for task lists: a 34 px circle in a 3 px ink ring (or a 32 px square) with an optional running number inside. Ticked, it turns into an ink disc with a paper check, so the state reads without colour. The whole row is the target. A completion stamp, when a task wants one, is the print kit's Stamp.
Example#
Usage#
Use a tick for task lists: steps in a project, items in a checklist. It is a native checkbox drawn as a 34 px ring, with an optional running number inside, so it reads as a list of jobs rather than form options.
- Numbered steps.
numberprints the step's position; a ticked step turns into an ink disc with a paper check, so done reads without colour. - Square.
shape="square"draws a 32 px square for dense lists. - Completion stamps are the print kit's
Stamp, placed beside the list, never inside the tick. - Choices in a form are a
CheckboxorCheckboxGroup; a tick is for work being done.
Anatomy#
- Face
data-mk-part="face" - Label
data-mk-part="label"
Volume#
Reading layer: identical at every volume.
Quiet
Studio
Press
Rave
Content#
- Each task starts with a verb and fits one line: "Call Sam Okafor".
- Numbers only when the order matters.
- Done tasks stay in the list, ticked; deleting them hides the progress.
Do and don't#
Do
Don't
Accessibility#
- A native checkbox: Tab reaches it, Space ticks it, and the visible label names it.
- The check draws in 220 ms; reduced motion shows it at once.
- The ring is the focus host: the ring outside it is 2 px in the focus ink.
| Keys | What happens |
|---|---|
| Tab | Moves to the tick |
| Space | Ticks or unticks it |
The colour pairs it prints, with their contrast on both papers:
| Text | Surface | Role | Bone | Night |
|---|---|---|---|---|
--mk-text | --mk-surface | ui | not in this look | not in this look |
Props#
| Prop | Type | Default | Description |
|---|---|---|---|
label | ReactNode | none | The visible label (the task). Pass `aria-label` instead only where the row already shows the words. |
number | number | none | A running number printed in the circle while unchecked. |
shape | "circle" | "square" | none | |
className | string | none | Lands on the row. |
style | CSSProperties | none |
Tokens#
System tokens (20)
--mk-border--mk-border-thick--mk-display-family--mk-dur-press--mk-ease-out--mk-focus--mk-font-display--mk-font-text--mk-hover--mk-radius-control--mk-space-3--mk-surface--mk-text--mk-text-disabled--mk-type-body-ui-leading--mk-type-body-ui-size--mk-type-body-ui-weight--mk-type-numeral-s-size--mk-wd-numeral-s--mk-wght-numeral-s
Its own properties (5)
--mk-tick-leading--mk-tick-number--mk-tick-number-2--mk-tick-radius--mk-tick-size
Changelog#
Arrived in 0.9.0.
Breadcrumbs,Pagination(withpaginationRange),Count,ProgressBar(bar, segments, indeterminate),AvatarandAvatarGroup,Tick,EmptyState,Kbd,SkeletonandLoader. Read the whole entry