gutenberg icon indicating copy to clipboard operation
gutenberg copied to clipboard

Components: Fix placeholder color inconsistency across `SearchControl`, `TextControl`, `Inputcontrol`

Open im3dabasia opened this issue 11 months ago • 5 comments

Closes: https://github.com/WordPress/gutenberg/issues/64666

What?

This PR ensures a consistent placeholder color across the InputControl, SearchControl, and TextControl components by defining the color explicitly.

Why?

To address the issue where placeholder color varied depending on the applied styles.

How?

The placeholder color has been defined at the component level to avoid inconsistencies and improve accessibility.

Testing Instructions

  1. Test the InputControl, SearchControl, and TextControl components in the storybook
  2. Ensure the placeholder color is consistent and meets the contrast ratio requirements.
Component Foreground Color Background Color
InputControl #1e1e1e9e (dark gray 62% opacity) #ffffff (white)
SearchControl #1e1e1e9e (dark gray 62% opacity) #f0f0f0 (light gray)
TextControl #1e1e1e9e (dark gray 62% opacity) #ffffff (white)

Screenshots

SearchControl

  • Their are talks around removing the background color to make the input box consistent with other input boxes https://github.com/WordPress/gutenberg/issues/56388#issuecomment-2300138008
Before After
image image

TextControl

Before After
image image

InputControl

Before After
image image

im3dabasia avatar Jan 21 '25 13:01 im3dabasia

  • This PR aims to standardize the placeholder colors for the three components mentioned above. There has been an ongoing discussion about potentially removing the light gray color from the SearchControl, as noted in this issue comment.

  • I am happy to take on the task of working on removing the color, if needed.

im3dabasia avatar Jan 21 '25 13:01 im3dabasia

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: im3dabasia <[email protected]>
Co-authored-by: Mamaduka <[email protected]>
Co-authored-by: afercia <[email protected]>
Co-authored-by: t-hamano <[email protected]>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

github-actions[bot] avatar Jan 21 '25 13:01 github-actions[bot]

Hey @Mamaduka,

Whenever you have a moment, could you please review my PR? I’d really appreciate it.

im3dabasia avatar Jan 28 '25 15:01 im3dabasia

Thanks for working on this, @im3dabasia!

Do you mind adding before/after screenshots? You can find examples here - #64586.

Mamaduka avatar Jan 28 '25 17:01 Mamaduka

There's now a smaller PR https://github.com/WordPress/gutenberg/pull/69334 for the InputControl. My fault, I missed this PR and the associated issue https://github.com/WordPress/gutenberg/issues/64666. I'd suggest to merge https://github.com/WordPress/gutenberg/pull/69334 first, if no objections. The use this existing PR for a small improvement:

  • Move the CSS-in-JS placeholder CSS rules to a new file in https://github.com/WordPress/gutenberg/blob/5c38661db385abdfbc0093a38fb01849d6793e6b/packages/components/src/utils/style-mixins.js and then reuse it in InputControl and TextareControl.
  • Having this styling in a centralized place would help future adjustments and maintenance.
  • The opacity for Firefox should be removed, see https://github.com/WordPress/gutenberg/issues/69311
  • For the scss part, I'm already adding a mixin in https://github.com/WordPress/gutenberg/pull/69333 and I will take care to reuse it for the text control once this PR is merged.

afercia avatar Feb 27 '25 08:02 afercia