Color
Semantic tokens alias the primitives. Components use these, never raw hex.
| Token | Light | Dark | CSS |
|---|---|---|---|
surface/backgroundPage and app background, behind panels. | neutral/50#F7F8FA | neutral/900#14181D | --stl-color-surface-background |
surface/panelBackground of panels, cards, grid rows, and input fields. | neutral/0#FFFFFF | neutral/800#232930 | --stl-color-surface-panel |
surface/raisedBackground of surfaces that sit above the page: menus and dialogs. | neutral/0#FFFFFF | neutral/750#2A3038 | --stl-color-surface-raised |
surface/hoverBackground of a hovered row, cell, menu option, or ghost control. | neutral/100#EEF0F3 | neutral/750#2A3038 | --stl-color-surface-hover |
surface/disabledBackground of disabled controls and fields. | neutral/100#EEF0F3 | neutral/700#3B434C | --stl-color-surface-disabled |
surface/pressedBackground of a pressed secondary or ghost control. | neutral/200#DDE1E6 | neutral/700#3B434C | --stl-color-surface-pressed |
border/defaultDividers and the borders of panels, cards, and grid rows. | neutral/200#DDE1E6 | neutral/700#3B434C | --stl-color-border-default |
border/strongBorders people need to see to use a control: input fields, checkboxes, chips, and the grid header rule. | neutral/500#6F7985 | neutral/400#9AA3AE | --stl-color-border-strong |
text/primaryMain text: values, labels, and headings. | neutral/900#14181D | neutral/50#F7F8FA | --stl-color-text-primary |
text/secondarySupporting text: field labels, captions, placeholders, and inactive column headers. | neutral/600#535C67 | neutral/300#C3C9D1 | --stl-color-text-secondary |
text/disabledText and icons in disabled controls. Exempt from contrast minimums. | neutral/400#9AA3AE | neutral/500#6F7985 | --stl-color-text-disabled |
text/inverseText and icons on every solid fill (accent, danger, buy, sell). Foreground for every solid fill (accent, danger, buy, sell). Fills are chosen so this passes 4.5:1 in both modes. | neutral/0#FFFFFF | neutral/900#14181D | --stl-color-text-inverse |
accent/defaultPrimary actions, links, progress bars, and selected controls such as a checked checkbox or the selected tab. | blue/600#1F5AD1 | blue/400#6B9BF2 | --stl-color-accent-default |
accent/hoverHover state of accent fills and links. | blue/700#1848AA | blue/300#8FB2F5 | --stl-color-accent-hover |
accent/pressedPressed state of accent fills. | blue/800#153A85 | blue/200#B9CFFA | --stl-color-accent-pressed |
accent/subtleTinted background for accent areas: the bulk action bar, the selected menu option, and the selected tab's count. | blue/50#EEF4FF | blue/900#1A2A4A | --stl-color-accent-subtle |
focus/ringThe 2px keyboard focus outline on every interactive control. | blue/500#2F6FEB | blue/300#8FB2F5 | --stl-color-focus-ring |
selection/rowBackground of a selected grid row. | blue/50#EEF4FF | blue/900#1A2A4A | --stl-color-selection-row |
selection/row-hoverBackground of a selected grid row while hovered. Hover on a selected row. blue/75 and blue/850 sit between the ramp steps so every text color on rows still passes 4.5:1. | blue/75#E4EDFF | blue/850#1D2F52 | --stl-color-selection-row-hover |
surface/skeletonLoading placeholder bars. Decorative, so pair them with a loading label. Loading placeholder bars. Decorative: pair with a loading label or aria-busy, never color alone. | neutral/200#DDE1E6 | neutral/700#3B434C | --stl-color-surface-skeleton |
surface/scrimTranslucent layer that dims the page behind a modal dialog. The only translucent color. alpha/* primitives are 8-digit hex (#RRGGBBAA): neutral/900 at 50% in Light, black at 60% in Dark, where the page is already neutral/900. | alpha/neutral-900-50#14181D80 | alpha/black-60#00000099 | --stl-color-surface-scrim |
status/positivePositive status (success, ready): icons and borders. | green/600#147A45 | green/400#4CC38A | --stl-color-status-positive |
status/positive-subtleTinted background for positive status, as in status chips. | green/50#EBF7F0 | green/900#12301F | --stl-color-status-positive-subtle |
status/positive-strongText and icons for positive status on its subtle background. | green/800#0E4F2E | green/200#A6DDBE | --stl-color-status-positive-strong |
status/warningWarning status (needs attention): icons, and the border of flagged cells and fields. | amber/600#B07203 | amber/400#EBA21F | --stl-color-status-warning |
status/warning-subtleTinted background for warning status: chips and flagged cells. | amber/50#FFF6E5 | amber/900#3A2A0E | --stl-color-status-warning-subtle |
status/warning-strongText and icons for warning status on its subtle background, and the over-target progress bar. | amber/800#6B4602 | amber/200#FDD38A | --stl-color-status-warning-strong |
status/criticalCritical status (error, destructive): error icons and borders, and the fill of danger buttons. Shares the crimson red ramp with finance/loss. Destructive (danger) buttons use status/critical, never finance/sell. | red/600#C0263A | red/300#F28B8F | --stl-color-status-critical |
status/critical-hoverHover state of danger buttons. | red/700#9E1F30 | red/200#F5AEB5 | --stl-color-status-critical-hover |
status/critical-pressedPressed state of danger buttons. | red/800#7A1824 | red/100#FAD4D8 | --stl-color-status-critical-pressed |
status/critical-subtleTinted background for critical status: chips and error cells. | red/50#FDEDEF | red/900#4A1A1F | --stl-color-status-critical-subtle |
status/critical-strongText and icons for critical status on its subtle background. | red/800#7A1824 | red/200#F5AEB5 | --stl-color-status-critical-strong |
status/infoInformational status: icons and borders. | blue/600#1F5AD1 | blue/400#6B9BF2 | --stl-color-status-info |
status/info-subtleTinted background for informational status, as in status chips. | blue/50#EEF4FF | blue/900#1A2A4A | --stl-color-status-info-subtle |
status/info-strongText and icons for informational status on its subtle background. | blue/800#153A85 | blue/200#B9CFFA | --stl-color-status-info-strong |
status/neutralNeutral status (draft, inactive): icons and borders. | neutral/500#6F7985 | neutral/400#9AA3AE | --stl-color-status-neutral |
status/neutral-subtleTinted background for neutral status, as in status chips and tab counts. | neutral/100#EEF0F3 | neutral/700#3B434C | --stl-color-status-neutral-subtle |
status/neutral-strongText and icons for neutral status on its subtle background. | neutral/700#3B434C | neutral/200#DDE1E6 | --stl-color-status-neutral-strong |
finance/buyBuy side of an order or trade, which is an action. Never use it for gain. Buy (blue) / Sell (coral) are actions. Gain (green) / Loss (crimson red) are data. Never rely on color alone: pair with B/S labels, +/− signs, and ▲/▼ glyphs. | blue/600#1F5AD1 | blue/400#6B9BF2 | --stl-color-finance-buy |
finance/buy-subtleTinted background for the Buy side chip. Buy (blue) / Sell (coral) are actions. Gain (green) / Loss (crimson red) are data. Never rely on color alone: pair with B/S labels, +/− signs, and ▲/▼ glyphs. | blue/50#EEF4FF | blue/900#1A2A4A | --stl-color-finance-buy-subtle |
finance/buy-strongText on the Buy side chip. Buy (blue) / Sell (coral) are actions. Gain (green) / Loss (crimson red) are data. Never rely on color alone: pair with B/S labels, +/− signs, and ▲/▼ glyphs. | blue/800#153A85 | blue/200#B9CFFA | --stl-color-finance-buy-strong |
finance/sellSell side of an order or trade, which is an action. Never use it for loss or for destructive buttons. Buy (blue) / Sell (coral) are actions. Gain (green) / Loss (crimson red) are data. Never rely on color alone: pair with B/S labels, +/− signs, and ▲/▼ glyphs. | coral/600#BE3D2A | coral/400#F2705A | --stl-color-finance-sell |
finance/sell-subtleTinted background for the Sell side chip. Buy (blue) / Sell (coral) are actions. Gain (green) / Loss (crimson red) are data. Never rely on color alone: pair with B/S labels, +/− signs, and ▲/▼ glyphs. | coral/50#FBEDEA | coral/900#4A2019 | --stl-color-finance-sell-subtle |
finance/sell-strongText on the Sell side chip. Buy (blue) / Sell (coral) are actions. Gain (green) / Loss (crimson red) are data. Never rely on color alone: pair with B/S labels, +/− signs, and ▲/▼ glyphs. | coral/800#7A2A1D | coral/200#F9C2B8 | --stl-color-finance-sell-strong |
finance/gainA gain in a value, which is data: the up glyph and signed number in gain cells. Buy (blue) / Sell (coral) are actions. Gain (green) / Loss (crimson red) are data. Never rely on color alone: pair with B/S labels, +/− signs, and ▲/▼ glyphs. | green/600#147A45 | green/400#4CC38A | --stl-color-finance-gain |
finance/gain-subtleTinted background for highlighting a gain. Buy (blue) / Sell (coral) are actions. Gain (green) / Loss (crimson red) are data. Never rely on color alone: pair with B/S labels, +/− signs, and ▲/▼ glyphs. | green/50#EBF7F0 | green/900#12301F | --stl-color-finance-gain-subtle |
finance/gain-strongGain text and glyph on tinted backgrounds, such as flagged cells. Buy (blue) / Sell (coral) are actions. Gain (green) / Loss (crimson red) are data. Never rely on color alone: pair with B/S labels, +/− signs, and ▲/▼ glyphs. | green/800#0E4F2E | green/200#A6DDBE | --stl-color-finance-gain-strong |
finance/lossA loss in a value, which is data: the down glyph and signed number in loss cells. Buy (blue) / Sell (coral) are actions. Gain (green) / Loss (crimson red) are data. Never rely on color alone: pair with B/S labels, +/− signs, and ▲/▼ glyphs. | red/600#C0263A | red/300#F28B8F | --stl-color-finance-loss |
finance/loss-subtleTinted background for highlighting a loss. Buy (blue) / Sell (coral) are actions. Gain (green) / Loss (crimson red) are data. Never rely on color alone: pair with B/S labels, +/− signs, and ▲/▼ glyphs. | red/50#FDEDEF | red/900#4A1A1F | --stl-color-finance-loss-subtle |
finance/loss-strongLoss text and glyph on tinted backgrounds, such as flagged cells. Buy (blue) / Sell (coral) are actions. Gain (green) / Loss (crimson red) are data. Never rely on color alone: pair with B/S labels, +/− signs, and ▲/▼ glyphs. | red/800#7A1824 | red/200#F5AEB5 | --stl-color-finance-loss-strong |
Primitives
Raw color ramps. Only semantic tokens should reference them.
neutral
- 0#FFFFFF
- 50#F7F8FA
- 100#EEF0F3
- 200#DDE1E6
- 300#C3C9D1
- 400#9AA3AE
- 500#6F7985
- 600#535C67
- 700#3B434C
- 750#2A3038
- 800#232930
- 900#14181D
blue
- 50#EEF4FF
- 75#E4EDFF
- 100#D9E6FF
- 200#B9CFFA
- 300#8FB2F5
- 400#6B9BF2
- 500#2F6FEB
- 600#1F5AD1
- 700#1848AA
- 800#153A85
- 850#1D2F52
- 900#1A2A4A
green
- 50#EBF7F0
- 100#D1EEDD
- 200#A6DDBE
- 300#86D6AD
- 400#4CC38A
- 500#1F9D55
- 600#147A45
- 700#12663B
- 800#0E4F2E
- 900#12301F
amber
- 50#FFF6E5
- 100#FFE9BF
- 200#FDD38A
- 300#F7BA4F
- 400#EBA21F
- 500#D98E04
- 600#B07203
- 700#8C5B03
- 800#6B4602
- 900#3A2A0E
red
- 50#FDEDEF
- 100#FAD4D8
- 200#F5AEB5
- 300#F28B8F
- 400#E0525E
- 500#D93545
- 600#C0263A
- 700#9E1F30
- 800#7A1824
- 900#4A1A1F
coral
- 50#FBEDEA
- 100#F8D8D1
- 200#F9C2B8
- 300#F59C8B
- 400#F2705A
- 500#E0553D
- 600#BE3D2A
- 700#A63726
- 800#7A2A1D
- 900#4A2019
alpha
- neutral-900-50#14181D80
- black-60#00000099
Spacing, radius, and size
Gaps and padding use spacing; fixed widths and heights use size; stroke/* are border widths.
| Token | Value | Preview | CSS |
|---|---|---|---|
space/0 | 0px | --stl-space-0 | |
space/2 | 2px | --stl-space-2 | |
space/4 | 4px | --stl-space-4 | |
space/6 | 6px | --stl-space-6 | |
space/8 | 8px | --stl-space-8 | |
space/12 | 12px | --stl-space-12 | |
space/16 | 16px | --stl-space-16 | |
space/24 | 24px | --stl-space-24 | |
space/32 | 32px | --stl-space-32 | |
space/48 | 48px | --stl-space-48 | |
radius/none | 0px | --stl-radius-none | |
radius/xs | 2px | --stl-radius-xs | |
radius/sm | 4px | --stl-radius-sm | |
radius/md | 8px | --stl-radius-md | |
radius/pill | 999px | --stl-radius-pill | |
size/4 | 4px | --stl-size-4 | |
size/12 | 12px | --stl-size-12 | |
size/16 | 16px | --stl-size-16 | |
size/20 | 20px | --stl-size-20 | |
size/24 | 24px | --stl-size-24 | |
size/32 | 32px | --stl-size-32 | |
size/40 | 40px | --stl-size-40 | |
size/56 | 56px | --stl-size-56 | |
stroke/1 | 1px | --stl-stroke-1 | |
stroke/2 | 2px | --stl-stroke-2 |
Density
Every value is an alias to the Size or Spacing scale. In CSS, Default is the default; add
.stl-density-compact or .stl-density-comfortable to a container to switch.
| Token | Compact | Default | Comfortable |
|---|---|---|---|
row/height | size/24 24px | size/32 32px | size/40 40px |
cell/padding-x | space/6 6px | space/8 8px | space/12 12px |
cell/padding-y | space/2 2px | space/6 6px | space/8 8px |
control/height | size/24 24px | size/32 32px | size/40 40px |
control/padding-x | space/8 8px | space/12 12px | space/16 16px |
control/height-sm | size/20 20px | size/24 24px | size/32 32px |
control/padding-x-sm | space/6 6px | space/8 8px | space/12 12px |
control/gap | space/4 4px | space/6 6px | space/8 8px |
icon/size | size/12 12px | size/16 16px | size/16 16px |
card/padding | space/12 12px | space/16 16px | space/24 24px |
card/gap | space/6 6px | space/8 8px | space/12 12px |
Typography
Inter with system fallbacks (this page makes no network requests). Numeric uses tabular figures so digits line up.
| Style | Specimen | CSS |
|---|---|---|
| Display Inter Semi Bold · 24/32 · -0.5px | Review the pending orders | .stl-text-display |
| Title Inter Semi Bold · 20/28 · -0.25px | Review the pending orders | .stl-text-title |
| Heading Inter Semi Bold · 16/22 · 0px | Review the pending orders | .stl-text-heading |
| Body Inter Regular · 13/18 · 0px | Review the pending orders | .stl-text-body |
| Body-strong Inter Semi Bold · 13/18 · 0px | Review the pending orders | .stl-text-body-strong |
| Body-link Inter Regular · 13/18 · 0px · underlined | Review the pending orders | .stl-text-body-link |
| Label Inter Medium · 12/16 · 0px | Review the pending orders | .stl-text-label |
| Label-link Inter Medium · 12/16 · 0px · underlined | Review the pending orders | .stl-text-label-link |
| Caption Inter Regular · 11/14 · 0.1px | Review the pending orders | .stl-text-caption |
| Numeric Inter Regular · 13/18 · 0px · tabular figures | 1,234,567.89 −0.80% +12.50 | .stl-text-numeric |
| Code Roboto Mono Regular · 12/16 · 0px | numericColumnWidth(value) | .stl-text-code |
Contrast
248 pairs checked across 2 modes — 0 failure(s).
Text needs 4.5:1; large text and UI graphics need 3:1; disabled content is reported only. Same results as npm run contrast.
| Mode | Rule | Sample | Pair | Ratio | Requirement | Result |
|---|---|---|---|---|---|---|
| Light | Body text on surfaces | Aa | text/primaryon surface/background | 16.77:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | text/primaryon surface/panel | 17.82:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | text/primaryon surface/raised | 17.82:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | text/primaryon surface/hover | 15.61:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | text/primaryon selection/row | 16.14:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | text/primaryon selection/row-hover | 15.16:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | text/secondaryon surface/background | 6.39:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | text/secondaryon surface/panel | 6.79:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | text/secondaryon surface/raised | 6.79:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | text/secondaryon surface/hover | 5.94:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | text/secondaryon selection/row | 6.15:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | text/secondaryon selection/row-hover | 5.77:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | accent/defaulton surface/background | 5.74:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | accent/defaulton surface/panel | 6.10:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | accent/defaulton surface/raised | 6.10:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | accent/defaulton surface/hover | 5.34:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | accent/defaulton selection/row | 5.53:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | accent/defaulton selection/row-hover | 5.19:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | finance/buyon surface/background | 5.74:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | finance/buyon surface/panel | 6.10:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | finance/buyon surface/raised | 6.10:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | finance/buyon surface/hover | 5.34:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | finance/buyon selection/row | 5.53:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | finance/buyon selection/row-hover | 5.19:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | finance/sellon surface/background | 5.08:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | finance/sellon surface/panel | 5.40:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | finance/sellon surface/raised | 5.40:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | finance/sellon surface/hover | 4.73:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | finance/sellon selection/row | 4.89:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | finance/sellon selection/row-hover | 4.59:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | finance/gainon surface/background | 5.07:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | finance/gainon surface/panel | 5.39:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | finance/gainon surface/raised | 5.39:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | finance/gainon surface/hover | 4.72:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | finance/gainon selection/row | 4.88:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | finance/gainon selection/row-hover | 4.58:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | finance/losson surface/background | 5.52:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | finance/losson surface/panel | 5.87:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | finance/losson surface/raised | 5.87:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | finance/losson surface/hover | 5.14:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | finance/losson selection/row | 5.31:1 | body · 4.5:1 | ✓ Pass |
| Light | Body text on surfaces | Aa | finance/losson selection/row-hover | 4.99:1 | body · 4.5:1 | ✓ Pass |
| Light | Status text on surfaces (field errors, over-target notes) | Aa | status/criticalon surface/background | 5.52:1 | body · 4.5:1 | ✓ Pass |
| Light | Status text on surfaces (field errors, over-target notes) | Aa | status/criticalon surface/panel | 5.87:1 | body · 4.5:1 | ✓ Pass |
| Light | Status text on surfaces (field errors, over-target notes) | Aa | status/criticalon surface/raised | 5.87:1 | body · 4.5:1 | ✓ Pass |
| Light | Status text on surfaces (field errors, over-target notes) | Aa | status/warning-strongon surface/background | 7.90:1 | body · 4.5:1 | ✓ Pass |
| Light | Status text on surfaces (field errors, over-target notes) | Aa | status/warning-strongon surface/panel | 8.39:1 | body · 4.5:1 | ✓ Pass |
| Light | Status text on surfaces (field errors, over-target notes) | Aa | status/warning-strongon surface/raised | 8.39:1 | body · 4.5:1 | ✓ Pass |
| Light | Text on pressed surfaces (pressed secondary/ghost buttons, filter chips) | Aa | text/primaryon surface/pressed | 13.57:1 | body · 4.5:1 | ✓ Pass |
| Light | Text on accent-tinted surfaces (selected tab count, bulk action bar) | Aa | text/primaryon accent/subtle | 16.14:1 | body · 4.5:1 | ✓ Pass |
| Light | Text on accent-tinted surfaces (selected tab count, bulk action bar) | Aa | accent/defaulton accent/subtle | 5.53:1 | body · 4.5:1 | ✓ Pass |
| Light | UI graphics on interactive surfaces (focus ring, borders on hover/pressed and selected rows) | Aa | focus/ringon surface/hover | 4.00:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on interactive surfaces (focus ring, borders on hover/pressed and selected rows) | Aa | focus/ringon surface/pressed | 3.48:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on interactive surfaces (focus ring, borders on hover/pressed and selected rows) | Aa | focus/ringon selection/row | 4.14:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on interactive surfaces (focus ring, borders on hover/pressed and selected rows) | Aa | focus/ringon selection/row-hover | 3.89:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on interactive surfaces (focus ring, borders on hover/pressed and selected rows) | Aa | border/strongon surface/hover | 3.87:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on interactive surfaces (focus ring, borders on hover/pressed and selected rows) | Aa | border/strongon surface/pressed | 3.37:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on interactive surfaces (focus ring, borders on hover/pressed and selected rows) | Aa | border/strongon selection/row | 4.00:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on interactive surfaces (focus ring, borders on hover/pressed and selected rows) | Aa | border/strongon selection/row-hover | 3.76:1 | ui · 3:1 | ✓ Pass |
| Light | Warning and error cell borders on their tinted backgrounds | Aa | status/warningon status/warning-subtle | 3.72:1 | ui · 3:1 | ✓ Pass |
| Light | Warning and error cell borders on their tinted backgrounds | Aa | status/warningon status/critical-subtle | 3.53:1 | ui · 3:1 | ✓ Pass |
| Light | Warning and error cell borders on their tinted backgrounds | Aa | status/criticalon status/warning-subtle | 5.47:1 | ui · 3:1 | ✓ Pass |
| Light | Warning and error cell borders on their tinted backgrounds | Aa | status/criticalon status/critical-subtle | 5.18:1 | ui · 3:1 | ✓ Pass |
| Light | Danger icon button glyph (row actions on any row background) | Aa | status/criticalon surface/background | 5.52:1 | ui · 3:1 | ✓ Pass |
| Light | Danger icon button glyph (row actions on any row background) | Aa | status/criticalon surface/panel | 5.87:1 | ui · 3:1 | ✓ Pass |
| Light | Danger icon button glyph (row actions on any row background) | Aa | status/criticalon surface/hover | 5.14:1 | ui · 3:1 | ✓ Pass |
| Light | Danger icon button glyph (row actions on any row background) | Aa | status/criticalon selection/row | 5.31:1 | ui · 3:1 | ✓ Pass |
| Light | Danger icon button glyph (row actions on any row background) | Aa | status/criticalon selection/row-hover | 4.99:1 | ui · 3:1 | ✓ Pass |
| Light | Gain and loss values in warning and error cells | Aa | finance/gain-strongon status/warning-subtle | 8.99:1 | body · 4.5:1 | ✓ Pass |
| Light | Gain and loss values in warning and error cells | Aa | finance/gain-strongon status/critical-subtle | 8.52:1 | body · 4.5:1 | ✓ Pass |
| Light | Gain and loss values in warning and error cells | Aa | finance/loss-strongon status/warning-subtle | 9.86:1 | body · 4.5:1 | ✓ Pass |
| Light | Gain and loss values in warning and error cells | Aa | finance/loss-strongon status/critical-subtle | 9.34:1 | body · 4.5:1 | ✓ Pass |
| Light | Warning notes on selected rows (Needs sign-off) | Aa | status/warning-strongon selection/row | 7.60:1 | body · 4.5:1 | ✓ Pass |
| Light | Warning notes on selected rows (Needs sign-off) | Aa | status/warning-strongon selection/row-hover | 7.14:1 | body · 4.5:1 | ✓ Pass |
| Light | Muted descriptions on selected options | Aa | text/secondaryon accent/subtle | 6.15:1 | body · 4.5:1 | ✓ Pass |
| Light | Links on hover | Aa | accent/hoveron surface/background | 7.76:1 | body · 4.5:1 | ✓ Pass |
| Light | Links on hover | Aa | accent/hoveron surface/panel | 8.25:1 | body · 4.5:1 | ✓ Pass |
| Light | Links on hover | Aa | accent/hoveron surface/raised | 8.25:1 | body · 4.5:1 | ✓ Pass |
| Light | Progress fills against the track | Aa | accent/defaulton border/default | 4.65:1 | ui · 3:1 | ✓ Pass |
| Light | Progress fills against the track | Aa | status/warning-strongon border/default | 6.39:1 | ui · 3:1 | ✓ Pass |
| Light | Primary text in error cells | Aa | text/primaryon status/critical-subtle | 15.73:1 | body · 4.5:1 | ✓ Pass |
| Light | Primary text in error cells | Aa | text/primaryon status/warning-subtle | 16.61:1 | body · 4.5:1 | ✓ Pass |
| Light | Primary text in error cells | Aa | text/secondaryon status/critical-subtle | 5.99:1 | body · 4.5:1 | ✓ Pass |
| Light | Primary text in error cells | Aa | text/secondaryon status/warning-subtle | 6.32:1 | body · 4.5:1 | ✓ Pass |
| Light | Labels on solid fills (buttons, B/S tags) | Aa | text/inverseon accent/default | 6.10:1 | body · 4.5:1 | ✓ Pass |
| Light | Labels on solid fills (buttons, B/S tags) | Aa | text/inverseon accent/hover | 8.25:1 | body · 4.5:1 | ✓ Pass |
| Light | Labels on solid fills (buttons, B/S tags) | Aa | text/inverseon accent/pressed | 10.63:1 | body · 4.5:1 | ✓ Pass |
| Light | Labels on solid fills (buttons, B/S tags) | Aa | text/inverseon status/critical | 5.87:1 | body · 4.5:1 | ✓ Pass |
| Light | Labels on solid fills (buttons, B/S tags) | Aa | text/inverseon status/critical-hover | 7.80:1 | body · 4.5:1 | ✓ Pass |
| Light | Labels on solid fills (buttons, B/S tags) | Aa | text/inverseon status/critical-pressed | 10.59:1 | body · 4.5:1 | ✓ Pass |
| Light | Labels on solid fills (buttons, B/S tags) | Aa | text/inverseon finance/buy | 6.10:1 | body · 4.5:1 | ✓ Pass |
| Light | Labels on solid fills (buttons, B/S tags) | Aa | text/inverseon finance/sell | 5.40:1 | body · 4.5:1 | ✓ Pass |
| Light | Positive chip | Aa | status/positive-strongon status/positive-subtle | 8.77:1 | body · 4.5:1 | ✓ Pass |
| Light | Warning chip | Aa | status/warning-strongon status/warning-subtle | 7.82:1 | body · 4.5:1 | ✓ Pass |
| Light | Critical chip | Aa | status/critical-strongon status/critical-subtle | 9.34:1 | body · 4.5:1 | ✓ Pass |
| Light | Info chip | Aa | status/info-strongon status/info-subtle | 9.63:1 | body · 4.5:1 | ✓ Pass |
| Light | Neutral chip | Aa | status/neutral-strongon status/neutral-subtle | 8.79:1 | body · 4.5:1 | ✓ Pass |
| Light | Buy badge | Aa | finance/buy-strongon finance/buy-subtle | 9.63:1 | body · 4.5:1 | ✓ Pass |
| Light | Sell badge | Aa | finance/sell-strongon finance/sell-subtle | 8.46:1 | body · 4.5:1 | ✓ Pass |
| Light | Gain badge | Aa | finance/gain-strongon finance/gain-subtle | 8.77:1 | body · 4.5:1 | ✓ Pass |
| Light | Loss badge | Aa | finance/loss-strongon finance/loss-subtle | 9.34:1 | body · 4.5:1 | ✓ Pass |
| Light | UI graphics on surfaces (icons, input borders, focus ring) | Aa | border/strongon surface/background | 4.16:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on surfaces (icons, input borders, focus ring) | Aa | border/strongon surface/panel | 4.42:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on surfaces (icons, input borders, focus ring) | Aa | border/strongon surface/raised | 4.42:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on surfaces (icons, input borders, focus ring) | Aa | focus/ringon surface/background | 4.30:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on surfaces (icons, input borders, focus ring) | Aa | focus/ringon surface/panel | 4.57:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on surfaces (icons, input borders, focus ring) | Aa | focus/ringon surface/raised | 4.57:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/positiveon surface/background | 5.07:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/positiveon surface/panel | 5.39:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/positiveon surface/raised | 5.39:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/warningon surface/background | 3.76:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/warningon surface/panel | 4.00:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/warningon surface/raised | 4.00:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/criticalon surface/background | 5.52:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/criticalon surface/panel | 5.87:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/criticalon surface/raised | 5.87:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/infoon surface/background | 5.74:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/infoon surface/panel | 6.10:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/infoon surface/raised | 6.10:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/neutralon surface/background | 4.16:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/neutralon surface/panel | 4.42:1 | ui · 3:1 | ✓ Pass |
| Light | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/neutralon surface/raised | 4.42:1 | ui · 3:1 | ✓ Pass |
| Light | Disabled content | Aa | text/disabledon surface/panel | 2.55:1 | exempt · reported only | ⓘ Info |
| Light | Disabled content | Aa | text/disabledon surface/disabled | 2.24:1 | exempt · reported only | ⓘ Info |
| Dark | Body text on surfaces | Aa | text/primaryon surface/background | 16.77:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | text/primaryon surface/panel | 13.81:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | text/primaryon surface/raised | 12.52:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | text/primaryon surface/hover | 12.52:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | text/primaryon selection/row | 13.41:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | text/primaryon selection/row-hover | 12.50:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | text/secondaryon surface/background | 10.69:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | text/secondaryon surface/panel | 8.80:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | text/secondaryon surface/raised | 7.98:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | text/secondaryon surface/hover | 7.98:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | text/secondaryon selection/row | 8.55:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | text/secondaryon selection/row-hover | 7.97:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | accent/defaulton surface/background | 6.45:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | accent/defaulton surface/panel | 5.31:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | accent/defaulton surface/raised | 4.81:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | accent/defaulton surface/hover | 4.81:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | accent/defaulton selection/row | 5.15:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | accent/defaulton selection/row-hover | 4.81:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | finance/buyon surface/background | 6.45:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | finance/buyon surface/panel | 5.31:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | finance/buyon surface/raised | 4.81:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | finance/buyon surface/hover | 4.81:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | finance/buyon selection/row | 5.15:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | finance/buyon selection/row-hover | 4.81:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | finance/sellon surface/background | 6.15:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | finance/sellon surface/panel | 5.06:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | finance/sellon surface/raised | 4.59:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | finance/sellon surface/hover | 4.59:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | finance/sellon selection/row | 4.91:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | finance/sellon selection/row-hover | 4.58:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | finance/gainon surface/background | 8.05:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | finance/gainon surface/panel | 6.62:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | finance/gainon surface/raised | 6.01:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | finance/gainon surface/hover | 6.01:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | finance/gainon selection/row | 6.43:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | finance/gainon selection/row-hover | 6.00:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | finance/losson surface/background | 7.52:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | finance/losson surface/panel | 6.19:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | finance/losson surface/raised | 5.62:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | finance/losson surface/hover | 5.62:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | finance/losson selection/row | 6.01:1 | body · 4.5:1 | ✓ Pass |
| Dark | Body text on surfaces | Aa | finance/losson selection/row-hover | 5.61:1 | body · 4.5:1 | ✓ Pass |
| Dark | Status text on surfaces (field errors, over-target notes) | Aa | status/criticalon surface/background | 7.52:1 | body · 4.5:1 | ✓ Pass |
| Dark | Status text on surfaces (field errors, over-target notes) | Aa | status/criticalon surface/panel | 6.19:1 | body · 4.5:1 | ✓ Pass |
| Dark | Status text on surfaces (field errors, over-target notes) | Aa | status/criticalon surface/raised | 5.62:1 | body · 4.5:1 | ✓ Pass |
| Dark | Status text on surfaces (field errors, over-target notes) | Aa | status/warning-strongon surface/background | 12.61:1 | body · 4.5:1 | ✓ Pass |
| Dark | Status text on surfaces (field errors, over-target notes) | Aa | status/warning-strongon surface/panel | 10.38:1 | body · 4.5:1 | ✓ Pass |
| Dark | Status text on surfaces (field errors, over-target notes) | Aa | status/warning-strongon surface/raised | 9.42:1 | body · 4.5:1 | ✓ Pass |
| Dark | Text on pressed surfaces (pressed secondary/ghost buttons, filter chips) | Aa | text/primaryon surface/pressed | 9.44:1 | body · 4.5:1 | ✓ Pass |
| Dark | Text on accent-tinted surfaces (selected tab count, bulk action bar) | Aa | text/primaryon accent/subtle | 13.41:1 | body · 4.5:1 | ✓ Pass |
| Dark | Text on accent-tinted surfaces (selected tab count, bulk action bar) | Aa | accent/defaulton accent/subtle | 5.15:1 | body · 4.5:1 | ✓ Pass |
| Dark | UI graphics on interactive surfaces (focus ring, borders on hover/pressed and selected rows) | Aa | focus/ringon surface/hover | 6.24:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on interactive surfaces (focus ring, borders on hover/pressed and selected rows) | Aa | focus/ringon surface/pressed | 4.71:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on interactive surfaces (focus ring, borders on hover/pressed and selected rows) | Aa | focus/ringon selection/row | 6.69:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on interactive surfaces (focus ring, borders on hover/pressed and selected rows) | Aa | focus/ringon selection/row-hover | 6.23:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on interactive surfaces (focus ring, borders on hover/pressed and selected rows) | Aa | border/strongon surface/hover | 5.21:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on interactive surfaces (focus ring, borders on hover/pressed and selected rows) | Aa | border/strongon surface/pressed | 3.93:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on interactive surfaces (focus ring, borders on hover/pressed and selected rows) | Aa | border/strongon selection/row | 5.58:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on interactive surfaces (focus ring, borders on hover/pressed and selected rows) | Aa | border/strongon selection/row-hover | 5.20:1 | ui · 3:1 | ✓ Pass |
| Dark | Warning and error cell borders on their tinted backgrounds | Aa | status/warningon status/warning-subtle | 6.41:1 | ui · 3:1 | ✓ Pass |
| Dark | Warning and error cell borders on their tinted backgrounds | Aa | status/warningon status/critical-subtle | 6.66:1 | ui · 3:1 | ✓ Pass |
| Dark | Warning and error cell borders on their tinted backgrounds | Aa | status/criticalon status/warning-subtle | 5.84:1 | ui · 3:1 | ✓ Pass |
| Dark | Warning and error cell borders on their tinted backgrounds | Aa | status/criticalon status/critical-subtle | 6.08:1 | ui · 3:1 | ✓ Pass |
| Dark | Danger icon button glyph (row actions on any row background) | Aa | status/criticalon surface/background | 7.52:1 | ui · 3:1 | ✓ Pass |
| Dark | Danger icon button glyph (row actions on any row background) | Aa | status/criticalon surface/panel | 6.19:1 | ui · 3:1 | ✓ Pass |
| Dark | Danger icon button glyph (row actions on any row background) | Aa | status/criticalon surface/hover | 5.62:1 | ui · 3:1 | ✓ Pass |
| Dark | Danger icon button glyph (row actions on any row background) | Aa | status/criticalon selection/row | 6.01:1 | ui · 3:1 | ✓ Pass |
| Dark | Danger icon button glyph (row actions on any row background) | Aa | status/criticalon selection/row-hover | 5.61:1 | ui · 3:1 | ✓ Pass |
| Dark | Gain and loss values in warning and error cells | Aa | finance/gain-strongon status/warning-subtle | 9.03:1 | body · 4.5:1 | ✓ Pass |
| Dark | Gain and loss values in warning and error cells | Aa | finance/gain-strongon status/critical-subtle | 9.40:1 | body · 4.5:1 | ✓ Pass |
| Dark | Gain and loss values in warning and error cells | Aa | finance/loss-strongon status/warning-subtle | 7.65:1 | body · 4.5:1 | ✓ Pass |
| Dark | Gain and loss values in warning and error cells | Aa | finance/loss-strongon status/critical-subtle | 7.96:1 | body · 4.5:1 | ✓ Pass |
| Dark | Warning notes on selected rows (Needs sign-off) | Aa | status/warning-strongon selection/row | 10.08:1 | body · 4.5:1 | ✓ Pass |
| Dark | Warning notes on selected rows (Needs sign-off) | Aa | status/warning-strongon selection/row-hover | 9.40:1 | body · 4.5:1 | ✓ Pass |
| Dark | Muted descriptions on selected options | Aa | text/secondaryon accent/subtle | 8.55:1 | body · 4.5:1 | ✓ Pass |
| Dark | Links on hover | Aa | accent/hoveron surface/background | 8.36:1 | body · 4.5:1 | ✓ Pass |
| Dark | Links on hover | Aa | accent/hoveron surface/panel | 6.88:1 | body · 4.5:1 | ✓ Pass |
| Dark | Links on hover | Aa | accent/hoveron surface/raised | 6.24:1 | body · 4.5:1 | ✓ Pass |
| Dark | Progress fills against the track | Aa | accent/defaulton border/default | 3.63:1 | ui · 3:1 | ✓ Pass |
| Dark | Progress fills against the track | Aa | status/warning-strongon border/default | 7.10:1 | ui · 3:1 | ✓ Pass |
| Dark | Primary text in error cells | Aa | text/primaryon status/critical-subtle | 13.55:1 | body · 4.5:1 | ✓ Pass |
| Dark | Primary text in error cells | Aa | text/primaryon status/warning-subtle | 13.02:1 | body · 4.5:1 | ✓ Pass |
| Dark | Primary text in error cells | Aa | text/secondaryon status/critical-subtle | 8.63:1 | body · 4.5:1 | ✓ Pass |
| Dark | Primary text in error cells | Aa | text/secondaryon status/warning-subtle | 8.30:1 | body · 4.5:1 | ✓ Pass |
| Dark | Labels on solid fills (buttons, B/S tags) | Aa | text/inverseon accent/default | 6.45:1 | body · 4.5:1 | ✓ Pass |
| Dark | Labels on solid fills (buttons, B/S tags) | Aa | text/inverseon accent/hover | 8.36:1 | body · 4.5:1 | ✓ Pass |
| Dark | Labels on solid fills (buttons, B/S tags) | Aa | text/inverseon accent/pressed | 11.35:1 | body · 4.5:1 | ✓ Pass |
| Dark | Labels on solid fills (buttons, B/S tags) | Aa | text/inverseon status/critical | 7.52:1 | body · 4.5:1 | ✓ Pass |
| Dark | Labels on solid fills (buttons, B/S tags) | Aa | text/inverseon status/critical-hover | 9.85:1 | body · 4.5:1 | ✓ Pass |
| Dark | Labels on solid fills (buttons, B/S tags) | Aa | text/inverseon status/critical-pressed | 13.13:1 | body · 4.5:1 | ✓ Pass |
| Dark | Labels on solid fills (buttons, B/S tags) | Aa | text/inverseon finance/buy | 6.45:1 | body · 4.5:1 | ✓ Pass |
| Dark | Labels on solid fills (buttons, B/S tags) | Aa | text/inverseon finance/sell | 6.15:1 | body · 4.5:1 | ✓ Pass |
| Dark | Positive chip | Aa | status/positive-strongon status/positive-subtle | 9.34:1 | body · 4.5:1 | ✓ Pass |
| Dark | Warning chip | Aa | status/warning-strongon status/warning-subtle | 9.79:1 | body · 4.5:1 | ✓ Pass |
| Dark | Critical chip | Aa | status/critical-strongon status/critical-subtle | 7.96:1 | body · 4.5:1 | ✓ Pass |
| Dark | Info chip | Aa | status/info-strongon status/info-subtle | 9.07:1 | body · 4.5:1 | ✓ Pass |
| Dark | Neutral chip | Aa | status/neutral-strongon status/neutral-subtle | 7.64:1 | body · 4.5:1 | ✓ Pass |
| Dark | Buy badge | Aa | finance/buy-strongon finance/buy-subtle | 9.07:1 | body · 4.5:1 | ✓ Pass |
| Dark | Sell badge | Aa | finance/sell-strongon finance/sell-subtle | 8.89:1 | body · 4.5:1 | ✓ Pass |
| Dark | Gain badge | Aa | finance/gain-strongon finance/gain-subtle | 9.34:1 | body · 4.5:1 | ✓ Pass |
| Dark | Loss badge | Aa | finance/loss-strongon finance/loss-subtle | 7.96:1 | body · 4.5:1 | ✓ Pass |
| Dark | UI graphics on surfaces (icons, input borders, focus ring) | Aa | border/strongon surface/background | 6.98:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on surfaces (icons, input borders, focus ring) | Aa | border/strongon surface/panel | 5.75:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on surfaces (icons, input borders, focus ring) | Aa | border/strongon surface/raised | 5.21:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on surfaces (icons, input borders, focus ring) | Aa | focus/ringon surface/background | 8.36:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on surfaces (icons, input borders, focus ring) | Aa | focus/ringon surface/panel | 6.88:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on surfaces (icons, input borders, focus ring) | Aa | focus/ringon surface/raised | 6.24:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/positiveon surface/background | 8.05:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/positiveon surface/panel | 6.62:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/positiveon surface/raised | 6.01:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/warningon surface/background | 8.25:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/warningon surface/panel | 6.79:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/warningon surface/raised | 6.16:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/criticalon surface/background | 7.52:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/criticalon surface/panel | 6.19:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/criticalon surface/raised | 5.62:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/infoon surface/background | 6.45:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/infoon surface/panel | 5.31:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/infoon surface/raised | 4.81:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/neutralon surface/background | 6.98:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/neutralon surface/panel | 5.75:1 | ui · 3:1 | ✓ Pass |
| Dark | UI graphics on surfaces (icons, input borders, focus ring) | Aa | status/neutralon surface/raised | 5.21:1 | ui · 3:1 | ✓ Pass |
| Dark | Disabled content | Aa | text/disabledon surface/panel | 3.32:1 | exempt · reported only | ⓘ Info |
| Dark | Disabled content | Aa | text/disabledon surface/disabled | 2.27:1 | exempt · reported only | ⓘ Info |