-
Notifications
You must be signed in to change notification settings - Fork 842
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use culturally inclusive palette names #7570
Conversation
This PR contains breaking changes. The opener of this pull request is asked to perform the following due diligence steps below, to assist EUI in our next Kibana upgrade:
|
1d4dea8
to
1bc9eeb
Compare
Rather than making this a breaking change, I'd prefer to add in a 3 month deprecation period where we export the old palette names (e.g. @markov00 do you mind adding that to this PR? Or if you want I can do so, let me know :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks so much for this PR @markov00, you rock ❤️🔥 Going to commit a few small copy nit changes and merge this in!
Deprecation has been scheduled for June 2024 (#1469) |
Preview staging links for this PR:
|
💚 Build Succeeded
History
|
@markov00 I don't necessarily object to this change, but I'm not sure I understand how this moves us toward cultural inclusivity. As I understand it, you're saying that not all cultures associate red with negative and green with positive. I think that's a fair point, but it's not like changing the names of these palettes will change anything about what users from various cultures experience in our products. I could imagine us adjusting the presentation of color based on culture. But, if we did that, it seems like the universal semantic concepts of "positive" and "negative" would serve us better because they are what we're actually trying to communicate. The specific color that would be shown would be an implementation detail. Practically speaking, I would expect the color to adjust automatically based on locale or something. I would expect to be able to say "I want this theme to convey a positive feeling" and let the robots do the translation. Just my 2 🪙 |
`v93.3.0`⏩ `v93.4.0` --- ## [`v93.4.0`](https://github.com/elastic/eui/releases/v93.4.0) - Added the following properties to `EuiButtonGroup`'s `options` configs: `toolTipContent`, `toolTipProps`, and `title`. These new properties allow wrapping buttons in `EuiToolTips`, and additionally customizing or disabling the native browser `title` tooltip. ([#7461](elastic/eui#7461)) - Enhanced `EuiResizeObserver` and `useResizeObserver`'s performance to not trigger page reflows on resize event ([#7575](elastic/eui#7575)) - Updated `EuiSuperUpdateButton` to support custom button text via an optional `children` prop ([#7576](elastic/eui#7576)) **Bug fixes** - Fixed `EuiFlyout` to not repeatedly remove/add a body class on resize ([#7462](elastic/eui#7462)) - Fixed `EuiToast` title text to wrap instead of overflowing out of the container ([#7568](elastic/eui#7568)) - Fixed a visual bug with `EuiHeaderBreadcrumbs` with popovers ([#7580](elastic/eui#7580)) **Deprecations** - Deprecated `euiPalettePositive` and `euiPaletteNegative` in favour of a more culturally inclusive `euiPaletteGreen` and `euiPaletteRed` ([#7570](elastic/eui#7570)) - Deprecated all charts theme exports in favor of `@elastic/charts` exports: ([#7572](elastic/eui#7572)) - Deprecated `EUI_CHARTS_THEME_<DARK|LIGHT>` in favor of `<DARK|LIGHT>_THEME` from `@elastic/charts`. ([#7572](elastic/eui#7572)) - Deprecated `EUI_SPARKLINE_THEME_PARTIAL` in favor of `useSparklineOverrides` theme from the kibana `charts` plugin `theme` service. **Accessibility** - Updated `EuiModal` to set an `aria-modal` attribute and a default `dialog` role ([#7564](elastic/eui#7564)) - Updated `EuiConfirmModal` to set a default `alertdialog` role ([#7564](elastic/eui#7564)) - Fixed `EuiModal` and `EuiConfirmModal` to properly trap Safari+VoiceOver's virtual cursor ([#7564](elastic/eui#7564))
I'd just like to disagree with that. If you are required to select a negative color that is instead called "positive" I believe this can make users a bit uncomfortable.
This is an interesting idea, definitely something to consider. Probably it will have its problems, but I believe this could be a great enhancement. It will probably need to be "linked" to the user profile because even within the same locale users could have different beliefs/ideas/visions (like the first day of the week: Monday/Sunday) |
Does this mean that these names show up in our palette switcher UI? In that case, I misunderstood originally and I agree with you that this is a good short-term change. I assumed this was merely an adjustment to what they are called in the code. From the developer's perspective, I was saying that As I said above, giving the developer access to semantic terms (code level) and allowing the application to translate these to the appropriate colors (UI level) would be easier than what I originally thought you were trying to accomplish here :)
Good points. I see it as being the same as any other translation operation. For text-based information I (the developer) write a string in English in the code. Then, the application translates that string to best communicate my meaning to the user in the UI. |
Summary
This PR rename the positive and negative palettes to be more culturally inclusive. Instead of using green for
positive
and red fornegative
I've just used the color name to describe the palette, that is enough and pretty clear to everyone.fix #4766
In Kibana there are 10 references to
euiPaletteNegative
andeuiPalettePositive
, the change is pretty straight forward.QA
Remove or strikethrough items that do not apply to your PR.
General checklist
[ ] Checked in both light and dark modes[ ] Checked in mobile[ ] Checked in Chrome, Safari, Edge, and Firefox[ ] Checked for accessibility including keyboard-only and screenreader modes[ ] Added documentation[ ] Props have proper autodocs (using@default
if default values are missing) and playground toggles[ ] Checked Code Sandbox works for any docs examples[ ] Added or updated jest and cypress tests[ ] Updated the Figma library counterpart- These palettes are not in Figma