helium/ui: match Chrome tab group colors for better contrast#1757
helium/ui: match Chrome tab group colors for better contrast#1757jakeleventhal wants to merge 1 commit into
Conversation
|
I am curious if it makes sense for this to be a config instead of hard coded? I could see this being in chrome://flags with the option for a user to override with their preferred color scheme. |
I think here it's better to go with Steve Jobs' approach in this case. Good defaults are often better than overly-customizable experiences. It's the customer's job to validate the design, not make it themselves. |
1d6ab50 to
8507d0e
Compare
|
Reviews (1): Last reviewed commit: "helium/ui: match Chrome tab group colors" | Re-trigger Greptile |
| - gfx::kGooglePink300, gfx::kGooglePink700); | ||
| - mixer[kColorTabGroupTabStripFrameInactivePurple] = | ||
| - ui::SelectBasedOnDarkInput(kColorTabBackgroundInactiveFrameInactive, | ||
| - gfx::kGooglePurple300, gfx::kGooglePurple500); | ||
| - mixer[kColorTabGroupTabStripFrameInactiveRed] = | ||
| - ui::SelectBasedOnDarkInput(kColorTabBackgroundInactiveFrameInactive, | ||
| - gfx::kGoogleRed300, gfx::kGoogleRed600); | ||
| - mixer[kColorTabGroupTabStripFrameInactiveYellow] = | ||
| - ui::SelectBasedOnDarkInput(kColorTabBackgroundInactiveFrameInactive, | ||
| - gfx::kGoogleYellow300, gfx::kGoogleYellow600); | ||
| - | ||
| - mixer[kColorTabGroupDialogBlue] = {kColorTabGroupContextMenuBlue}; | ||
| - mixer[kColorTabGroupDialogCyan] = {kColorTabGroupContextMenuCyan}; | ||
| - mixer[kColorTabGroupDialogGreen] = {kColorTabGroupContextMenuGreen}; | ||
| - mixer[kColorTabGroupDialogGrey] = {kColorTabGroupContextMenuGrey}; | ||
| - mixer[kColorTabGroupDialogOrange] = {kColorTabGroupContextMenuOrange}; | ||
| - mixer[kColorTabGroupDialogPink] = {kColorTabGroupContextMenuPink}; | ||
| - mixer[kColorTabGroupDialogPurple] = {kColorTabGroupContextMenuPurple}; | ||
| - mixer[kColorTabGroupDialogRed] = {kColorTabGroupContextMenuRed}; |
There was a problem hiding this comment.
Tab strip frame colors hardcoded to pastel 300-level regardless of light/dark mode
The original code used ui::SelectBasedOnDarkInput(kColorTabBackgroundInactiveFrameActive, k*300, k*600) — 300-level for dark tab backgrounds and 600-level for light ones. The new code unconditionally assigns {tg::k*300} for every kColorTabGroupTabStripFrameActive* and kColorTabGroupTabStripFrameInactive* slot. In Helium's light mode (toolbar is SK_ColorWHITE), the 300 pastels (e.g. kBlue300 = #8AB4F8 against a white/near-white tab strip) produce noticeably lower contrast than the 600-level colors they replaced (e.g. kBlue600 = #1A73E8). The same concern applies to kColorTabGroupDialog* which previously inherited from kColorTabGroupContextMenuBlue (light/dark adaptive) but now also points to flat {tg::k*300}. This could undo the contrast improvement the PR aims to deliver for light-mode users.
For your pull request to not get closed without review, please confirm that:
(an approved feature request, or confirmed bug).
→ No, but the two open issues about this haven't been responded to in nearly 2 months
otherwise I have marked my PR as draft.
organization if I lied by checking any of these checkboxes.
Tested on (check one or more):
Screen.Recording.2026-05-21.at.8.23.52.PM.mov
Adds better tab color group contrast. The labels are hard to read sometimes as demonstrated by #1536 (comment).
Closes: