Skip to content

helium/ui: match Chrome tab group colors for better contrast#1757

Open
jakeleventhal wants to merge 1 commit into
imputnet:mainfrom
jakeleventhal:fix-blue-tab-group-chip-contrast
Open

helium/ui: match Chrome tab group colors for better contrast#1757
jakeleventhal wants to merge 1 commit into
imputnet:mainfrom
jakeleventhal:fix-blue-tab-group-chip-contrast

Conversation

@jakeleventhal
Copy link
Copy Markdown

@jakeleventhal jakeleventhal commented May 20, 2026

For your pull request to not get closed without review, please confirm that:

  • An issue exists where the maintainers agreed that this should be implemented
    (an approved feature request, or confirmed bug).
    → No, but the two open issues about this haven't been responded to in nearly 2 months
  • I tested that my contribution works locally, and does not break anything,
    otherwise I have marked my PR as draft.
  • If my contribution is non-trivial, I did not use AI to write most of it.
  • I understand that I will be permanently banned from interacting with this
    organization if I lied by checking any of these checkboxes.

Tested on (check one or more):

  • Windows
  • macOS
  • Linux

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:

@jakeleventhal jakeleventhal changed the title helium/ui: match Chrome tab group colors helium/ui: match Chrome tab group colors for better contrast May 20, 2026
@AleyaDevelopment
Copy link
Copy Markdown

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.

@jakeleventhal
Copy link
Copy Markdown
Author

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.

@jakeleventhal jakeleventhal force-pushed the fix-blue-tab-group-chip-contrast branch from 1d6ab50 to 8507d0e Compare May 22, 2026 00:27
@jakeleventhal jakeleventhal marked this pull request as ready for review May 22, 2026 00:31
@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented May 22, 2026

Reviews (1): Last reviewed commit: "helium/ui: match Chrome tab group colors" | Re-trigger Greptile

Comment on lines +188 to +206
- 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};
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants