diff --git a/src/wp-admin/js/customize-controls.js b/src/wp-admin/js/customize-controls.js index a22aa76bba..5c0d0a40fa 100644 --- a/src/wp-admin/js/customize-controls.js +++ b/src/wp-admin/js/customize-controls.js @@ -77,7 +77,7 @@ * @param {Function} [params.completeCallback] */ focus = function ( params ) { - var construct, completeCallback, focus; + var construct, completeCallback, focus, focusElement; construct = this; params = params || {}; focus = function () { @@ -90,8 +90,12 @@ focusContainer = construct.container; } - // Note that we can't use :focusable due to a jQuery UI issue. See: https://github.com/jquery/jquery-ui/pull/1583 - focusContainer.find( 'input, select, textarea, button, object, a[href], [tabindex]' ).filter( ':visible' ).first().focus(); + focusElement = focusContainer.find( '.control-focus:first' ); + if ( 0 === focusElement.length ) { + // Note that we can't use :focusable due to a jQuery UI issue. See: https://github.com/jquery/jquery-ui/pull/1583 + focusElement = focusContainer.find( 'input, select, textarea, button, object, a[href], [tabindex]' ).filter( ':visible' ).first(); + } + focusElement.focus(); }; if ( params.completeCallback ) { completeCallback = params.completeCallback; diff --git a/src/wp-includes/customize/class-wp-customize-media-control.php b/src/wp-includes/customize/class-wp-customize-media-control.php index bcd8db8a63..f066c02245 100644 --- a/src/wp-includes/customize/class-wp-customize-media-control.php +++ b/src/wp-includes/customize/class-wp-customize-media-control.php @@ -196,7 +196,7 @@ class WP_Customize_Media_Control extends WP_Customize_Control {