Skip to content

Commit dadc25a

Browse files
Customize: Add label for hue control and improve accessibility
1 parent 1e04fc0 commit dadc25a

File tree

3 files changed

+13
-7
lines changed

3 files changed

+13
-7
lines changed

src/wp-content/themes/twentyseventeen/assets/js/customize-controls.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818
control.container.slideUp( 180 );
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 );
2425
});

src/wp-content/themes/twentyseventeen/inc/customizer.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ function twentyseventeen_customize_register( $wp_customize ) {
7373
$wp_customize,
7474
'colorscheme_hue',
7575
array(
76+
'label' => __( 'Hue', 'twentyseventeen' ),
7677
'mode' => 'hue',
7778
'section' => 'colors',
7879
'priority' => 6,

src/wp-includes/customize/class-wp-customize-color-control.php

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -92,30 +92,34 @@ public function render_content() {}
9292
*/
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 ) ) {
99103
defaultValue = '#' + data.defaultValue;
100104
} else {
101105
defaultValue = data.defaultValue;
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>
107112
<# } #>
108113
<# if ( data.description ) { #>
109114
<span class="description customize-control-description">{{{ data.description }}}</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
121125
}

0 commit comments

Comments
 (0)