Make WordPress Core

Changeset 60478

Timestamp:
07/16/2025 10:50:07 PM (4 months ago)
Author:
joedolson
Message:

Customize: Use explicit labels in hue picker.

Add for and id attributes to the customizer hue picker, so labels are explicitly associated. Move picker outside of label element. Add label value for Twenty Seventeen, Twenty Nineteen, and Twenty Twenty.

Props afercia, subrataemfluence, dlh, jorbin, sainathpoojary, abcd95, mleraygp, joedolson.
Fixes #42078.

Location:
trunk/src
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-content/themes/twentynineteen/inc/customizer.php

    r56526 r60478  
    7676            'primary_color_hue',
    7777            array(
     78                'label'       => __( 'Custom Color', 'twentynineteen' ),
    7879                'description' => __( 'Apply a custom color for buttons, links, featured images, etc.', 'twentynineteen' ),
    7980                'section'     => 'colors',
  • trunk/src/wp-content/themes/twentynineteen/js/customize-controls.js

    r46586 r60478  
    2121                    }
    2222                };
    23 
     23                // The control-specific label is redundant because, visually, this control is part of the Color Scheme control.
     24                control.container.find( '.customize-control-title:first' ).addClass( 'screen-reader-text' );
    2425                visibility();
    2526                setting.bind( visibility );
  • trunk/src/wp-content/themes/twentyseventeen/assets/js/customize-controls.js

    r46586 r60478  
    1919                    }
    2020                };
    21 
     21                // The control-specific label is redundant because, visually, this control is part of the Color Scheme control.
     22                control.container.find( '.customize-control-title:first' ).addClass( 'screen-reader-text' );
    2223                visibility();
    2324                setting.bind( visibility );
  • trunk/src/wp-content/themes/twentyseventeen/inc/customizer.php

    r56526 r60478  
    7474            'colorscheme_hue',
    7575            array(
     76                'label'    => __( 'Hue', 'twentyseventeen' ),
    7677                'mode'     => 'hue',
    7778                'section'  => 'colors',
  • trunk/src/wp-content/themes/twentytwenty/assets/js/customize.js

    r52285 r60478  
    2323                } );
    2424            }
     25            // The control-specific label is redundant because, visually, this control is part of the Color Scheme control.
     26            control.container.find( '.customize-control-title:first' ).addClass( 'screen-reader-text' );
    2527        } );
    2628    } );
  • trunk/src/wp-content/themes/twentytwenty/classes/class-twentytwenty-customize.php

    r56559 r60478  
    186186                        'section'         => 'colors',
    187187                        'settings'        => 'accent_hue',
     188                        'label'           => __( 'Custom Color', 'twentytwenty' ),
    188189                        'description'     => __( 'Apply a custom color for links, buttons, featured images.', 'twentytwenty' ),
    189190                        'mode'            => 'hue',
  • trunk/src/wp-includes/customize/class-wp-customize-color-control.php

    r47382 r60478  
    9393    public function content_template() {
    9494        ?>
    95         <# var defaultValue = '#RRGGBB', defaultValueAttr = '',
     95        <#
     96        var defaultValue = '#RRGGBB',
     97            defaultValueAttr = '',
     98            inputId = _.uniqueId( 'customize-color-control-input-' ),
    9699            isHueSlider = data.mode === 'hue';
     100
    97101        if ( data.defaultValue && _.isString( data.defaultValue ) && ! isHueSlider ) {
    98102            if ( '#' !== data.defaultValue.substring( 0, 1 ) ) {
     
    102106            }
    103107            defaultValueAttr = ' data-default-color=' + defaultValue; // Quotes added automatically.
    104         } #>
     108        }
     109        #>
    105110        <# if ( data.label ) { #>
    106111            <span class="customize-control-title">{{{ data.label }}}</span>
     
    110115        <# } #>
    111116        <div class="customize-control-content">
    112             <label><span class="screen-reader-text">{{{ data.label }}}</span>
     117            <label for="{{ inputId }}"><span class="screen-reader-text">{{{ data.label }}}</span></label>
    113118            <# if ( isHueSlider ) { #>
    114                 <input class="color-picker-hue" type="text" data-type="hue" />
     119                <input id="{{ inputId }}" class="color-picker-hue" type="number" min="1" max="359" data-type="hue" />
    115120            <# } else { #>
    116                 <input class="color-picker-hex" type="text" maxlength="7" placeholder="{{ defaultValue }}" {{ defaultValueAttr }} />
     121                <input id="{{ inputId }}" class="color-picker-hex" type="text" maxlength="7" placeholder="{{ defaultValue }}" {{ defaultValueAttr }} />
    117122            <# } #>
    118             </label>
    119123        </div>
    120124        <?php
Note: See TracChangeset for help on using the changeset viewer.