Tonal Foundations¶
This note captures an early tonal direction for Dataface's neutral palette so future theme and token work can inherit a shared rationale instead of re-deciding the same questions ad hoc.
These choices describe the product frame, not a fully settled token system.
Current Direction¶
Dataface should soften the application frame without making the interface feel dim or low-contrast.
- darkest default ink:
#1A1A1A - page canvas: a slightly off-white neutral around
96-98%lightness - cards and primary working surfaces:
#FFFFFF - pure black: not part of the default neutral system for now, but available for future rare emphasis if a clear need emerges
The design intent is to avoid the harshness of absolute black and white as the everyday defaults while preserving white as a valid surface color.
Rationale¶
Near-black text is often easier to live with across dense product interfaces
than #000000. In a dashboard-heavy UI, pure black can make labels, chrome,
rules, and small text feel heavier than necessary. A softened darkest ink keeps
the product authoritative while reducing visual severity.
The background decision is more mixed. Pure white remains common and fully valid for app surfaces, but using a subtly off-white canvas can make the app frame feel calmer and give white cards or chart panels a clearer place to sit.
This leads to a useful separation:
- use a softened neutral for the page-level frame
- keep white available for cards, panels, and chart surfaces
Evidence From Reference Systems¶
Dataface is not unusual in preferring near-black over pure black for default ink:
- USWDS uses
#1B1B1Bfor itsinktoken rather than#000000. - IBM Carbon uses a near-black primary text color in its light themes rather than pure black.
- MUI uses
rgba(0, 0, 0, 0.87)for primary text in light mode rather than#000000.
It is also very common to keep using pure white for backgrounds and surfaces:
- IBM Carbon ships a
default
Whitetheme with#FFFFFFas the global background. - MUI documents
#fffas the default light-mode background. - CMS Design System keeps
both
#262626for base text and#000000/#FFFFFFas available utility colors, which reflects how mature systems often soften defaults without banning absolutes outright.
Accessibility guidance supports the category of decision rather than a specific
hex. WCAG contrast requirements focus on sufficient contrast, not on using
pure black. Very dark grays such as #1A1A1A easily clear contrast
requirements on white or near-white surfaces.
Implications For Dataface¶
- Dataface should not assume that
#000000and#FFFFFFare the right default neutral pair simply because they are the simplest endpoints. - Dataface can preserve white as a first-class surface color even if the app canvas moves slightly off white.
- Warm, cool, and neutral off-white variants are all plausible. The tint should remain subtle enough that the canvas still reads as bright and neutral rather than obviously beige or blue-gray.
Open Questions¶
- Should Dataface's neutral system skew slightly warm, slightly cool, or remain strictly neutral?
- Should pure black ever appear as a special emphasis color, or should the
neutral system stop at
#1A1A1A? - Once a neutral ramp is defined, which semantic roles should be standardized first: text, axes, borders, or surfaces?