diff --git a/src/wp-admin/css/install.css b/src/wp-admin/css/install.css index dfed0f33e3..27b023bb54 100644 --- a/src/wp-admin/css/install.css +++ b/src/wp-admin/css/install.css @@ -337,7 +337,6 @@ body.language-chooser { height: 250px; } -/* TODO:add focus style via JS */ .language-chooser fieldset.focus { border-color: #5b9dd9; -webkit-box-shadow: 0 0 2px rgba(30,140,190,0.8); @@ -355,9 +354,17 @@ body.language-chooser { .language-chooser input:checked + label{ color:white; + background: #777; +} + +.language-chooser .focus input:checked + label{ background: #0074A2; } +.language-chooser label:hover { + background: #eee; +} + .language-chooser label{ display:block; } @@ -373,3 +380,5 @@ body.language-chooser { clip: rect(0 0 0 0); border: 0; } + +} diff --git a/src/wp-admin/includes/upgrade.php b/src/wp-admin/includes/upgrade.php index dbd846d27b..cbec07fb13 100644 --- a/src/wp-admin/includes/upgrade.php +++ b/src/wp-admin/includes/upgrade.php @@ -2162,7 +2162,7 @@ endif; function wp_install_language_form( $languages ) { echo "
\n"; echo "Select a default language\n"; - echo ''; + echo ''; echo ''; echo "\n"; @@ -2175,7 +2175,7 @@ function wp_install_language_form( $languages ) { } foreach ( $languages as $language ) { - echo ''; + echo ''; echo '\n"; } echo "
\n"; diff --git a/src/wp-admin/install.php b/src/wp-admin/install.php index 3772f1d6b4..8c958953fc 100644 --- a/src/wp-admin/install.php +++ b/src/wp-admin/install.php @@ -281,5 +281,6 @@ if ( !wp_is_mobile() ) { + diff --git a/src/wp-admin/js/language-chooser.js b/src/wp-admin/js/language-chooser.js new file mode 100644 index 0000000000..f328db32a1 --- /dev/null +++ b/src/wp-admin/js/language-chooser.js @@ -0,0 +1,39 @@ +(function($){ + if ( $('body').hasClass('language-chooser') === false ) { + return; + } + + var mouseDown = 0, + $fieldset = $('fieldset'); + + // simple way to check if mousebutton is depressed while accounting for multiple mouse buttons being used independently + document.body.onmousedown = function() { + ++mouseDown; + }; + document.body.onmouseup = function() { + --mouseDown; + }; + + /* + we can't rely upon the focusout event + since clicking on a label triggers it + */ + function maybeRemoveFieldsetFocus(){ + if (mouseDown) { + setTimeout( maybeRemoveFieldsetFocus, 50); + return; + } + if ( $(':focus').hasClass('language-chooser-input') !== true ) { + $fieldset.removeClass('focus'); + } + } + + $fieldset.focusin( function() { + $(this).addClass('focus'); + }); + + $fieldset.focusout( function() { + setTimeout( maybeRemoveFieldsetFocus, 50); + }); + +})(jQuery); diff --git a/src/wp-admin/setup-config.php b/src/wp-admin/setup-config.php index 3905d929d9..60eea999d5 100644 --- a/src/wp-admin/setup-config.php +++ b/src/wp-admin/setup-config.php @@ -319,5 +319,6 @@ el.select(); break; } ?> + diff --git a/src/wp-includes/script-loader.php b/src/wp-includes/script-loader.php index 3e7dc143e4..3db15df13d 100644 --- a/src/wp-includes/script-loader.php +++ b/src/wp-includes/script-loader.php @@ -345,6 +345,7 @@ function wp_default_scripts( &$scripts ) { ) ); $scripts->add( 'user-profile', "/wp-admin/js/user-profile$suffix.js", array( 'jquery', 'password-strength-meter' ), false, 1 ); + $scripts->add( 'language-chooser', "/wp-admin/js/language-chooser$suffix.js", array( 'jquery' ), false, 1 ); $scripts->add( 'user-suggest', "/wp-admin/js/user-suggest$suffix.js", array( 'jquery-ui-autocomplete' ), false, 1 );