Toolbar: Update links to the about page if current user can't access the dashboard of the current site.

Add missing focus styling for menu items with an icon.

Fixes #37949.
Built from https://develop.svn.wordpress.org/trunk@38660


git-svn-id: http://core.svn.wordpress.org/trunk@38603 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Dominik Schilling 2016-09-27 19:01:29 +00:00
parent b5d68be194
commit 7627255d7e
35 changed files with 58 additions and 24 deletions

View File

@ -324,6 +324,7 @@ ul#adminmenu > li.current > a.current:after {
#wpadminbar li:hover .ab-item:before,
#wpadminbar li a:focus .ab-icon:before,
#wpadminbar li .ab-item:focus:before,
#wpadminbar li .ab-item:focus .ab-icon:before,
#wpadminbar li.hover .ab-icon:before,
#wpadminbar li.hover .ab-item:before,
#wpadminbar li:hover #adminbarsearch:before,

View File

@ -352,6 +352,7 @@ ul#adminmenu > li.current > a.current:after {
#wpadminbar li:hover .ab-item:before,
#wpadminbar li a:focus .ab-icon:before,
#wpadminbar li .ab-item:focus:before,
#wpadminbar li .ab-item:focus .ab-icon:before,
#wpadminbar li.hover .ab-icon:before,
#wpadminbar li.hover .ab-item:before,
#wpadminbar li:hover #adminbarsearch:before,

File diff suppressed because one or more lines are too long

View File

@ -352,6 +352,7 @@ ul#adminmenu > li.current > a.current:after {
#wpadminbar li:hover .ab-item:before,
#wpadminbar li a:focus .ab-icon:before,
#wpadminbar li .ab-item:focus:before,
#wpadminbar li .ab-item:focus .ab-icon:before,
#wpadminbar li.hover .ab-icon:before,
#wpadminbar li.hover .ab-item:before,
#wpadminbar li:hover #adminbarsearch:before,

File diff suppressed because one or more lines are too long

View File

@ -352,6 +352,7 @@ ul#adminmenu > li.current > a.current:after {
#wpadminbar li:hover .ab-item:before,
#wpadminbar li a:focus .ab-icon:before,
#wpadminbar li .ab-item:focus:before,
#wpadminbar li .ab-item:focus .ab-icon:before,
#wpadminbar li.hover .ab-icon:before,
#wpadminbar li.hover .ab-item:before,
#wpadminbar li:hover #adminbarsearch:before,

File diff suppressed because one or more lines are too long

View File

@ -352,6 +352,7 @@ ul#adminmenu > li.current > a.current:after {
#wpadminbar li:hover .ab-item:before,
#wpadminbar li a:focus .ab-icon:before,
#wpadminbar li .ab-item:focus:before,
#wpadminbar li .ab-item:focus .ab-icon:before,
#wpadminbar li.hover .ab-icon:before,
#wpadminbar li.hover .ab-item:before,
#wpadminbar li:hover #adminbarsearch:before,

File diff suppressed because one or more lines are too long

View File

@ -352,6 +352,7 @@ ul#adminmenu > li.current > a.current:after {
#wpadminbar li:hover .ab-item:before,
#wpadminbar li a:focus .ab-icon:before,
#wpadminbar li .ab-item:focus:before,
#wpadminbar li .ab-item:focus .ab-icon:before,
#wpadminbar li.hover .ab-icon:before,
#wpadminbar li.hover .ab-item:before,
#wpadminbar li:hover #adminbarsearch:before,

File diff suppressed because one or more lines are too long

View File

@ -352,6 +352,7 @@ ul#adminmenu > li.current > a.current:after {
#wpadminbar li:hover .ab-item:before,
#wpadminbar li a:focus .ab-icon:before,
#wpadminbar li .ab-item:focus:before,
#wpadminbar li .ab-item:focus .ab-icon:before,
#wpadminbar li.hover .ab-icon:before,
#wpadminbar li.hover .ab-item:before,
#wpadminbar li:hover #adminbarsearch:before,

File diff suppressed because one or more lines are too long

View File

@ -352,6 +352,7 @@ ul#adminmenu > li.current > a.current:after {
#wpadminbar li:hover .ab-item:before,
#wpadminbar li a:focus .ab-icon:before,
#wpadminbar li .ab-item:focus:before,
#wpadminbar li .ab-item:focus .ab-icon:before,
#wpadminbar li.hover .ab-icon:before,
#wpadminbar li.hover .ab-item:before,
#wpadminbar li:hover #adminbarsearch:before,

File diff suppressed because one or more lines are too long

View File

@ -352,6 +352,7 @@ ul#adminmenu > li.current > a.current:after {
#wpadminbar li:hover .ab-item:before,
#wpadminbar li a:focus .ab-icon:before,
#wpadminbar li .ab-item:focus:before,
#wpadminbar li .ab-item:focus .ab-icon:before,
#wpadminbar li.hover .ab-icon:before,
#wpadminbar li.hover .ab-item:before,
#wpadminbar li:hover #adminbarsearch:before,

File diff suppressed because one or more lines are too long

View File

@ -352,6 +352,7 @@ ul#adminmenu > li.current > a.current:after {
#wpadminbar li:hover .ab-item:before,
#wpadminbar li a:focus .ab-icon:before,
#wpadminbar li .ab-item:focus:before,
#wpadminbar li .ab-item:focus .ab-icon:before,
#wpadminbar li.hover .ab-icon:before,
#wpadminbar li.hover .ab-item:before,
#wpadminbar li:hover #adminbarsearch:before,

File diff suppressed because one or more lines are too long

View File

@ -352,6 +352,7 @@ ul#adminmenu > li.current > a.current:after {
#wpadminbar li:hover .ab-item:before,
#wpadminbar li a:focus .ab-icon:before,
#wpadminbar li .ab-item:focus:before,
#wpadminbar li .ab-item:focus .ab-icon:before,
#wpadminbar li.hover .ab-icon:before,
#wpadminbar li.hover .ab-item:before,
#wpadminbar li:hover #adminbarsearch:before,

File diff suppressed because one or more lines are too long

View File

@ -352,6 +352,7 @@ ul#adminmenu > li.current > a.current:after {
#wpadminbar li:hover .ab-item:before,
#wpadminbar li a:focus .ab-icon:before,
#wpadminbar li .ab-item:focus:before,
#wpadminbar li .ab-item:focus .ab-icon:before,
#wpadminbar li.hover .ab-icon:before,
#wpadminbar li.hover .ab-item:before,
#wpadminbar li:hover #adminbarsearch:before,

File diff suppressed because one or more lines are too long

View File

@ -352,6 +352,7 @@ ul#adminmenu > li.current > a.current:after {
#wpadminbar li:hover .ab-item:before,
#wpadminbar li a:focus .ab-icon:before,
#wpadminbar li .ab-item:focus:before,
#wpadminbar li .ab-item:focus .ab-icon:before,
#wpadminbar li.hover .ab-icon:before,
#wpadminbar li.hover .ab-item:before,
#wpadminbar li:hover #adminbarsearch:before,

File diff suppressed because one or more lines are too long

View File

@ -352,6 +352,7 @@ ul#adminmenu > li.current > a.current:after {
#wpadminbar li:hover .ab-item:before,
#wpadminbar li a:focus .ab-icon:before,
#wpadminbar li .ab-item:focus:before,
#wpadminbar li .ab-item:focus .ab-icon:before,
#wpadminbar li.hover .ab-icon:before,
#wpadminbar li.hover .ab-item:before,
#wpadminbar li:hover #adminbarsearch:before,

File diff suppressed because one or more lines are too long

View File

@ -352,6 +352,7 @@ ul#adminmenu > li.current > a.current:after {
#wpadminbar li:hover .ab-item:before,
#wpadminbar li a:focus .ab-icon:before,
#wpadminbar li .ab-item:focus:before,
#wpadminbar li .ab-item:focus .ab-icon:before,
#wpadminbar li.hover .ab-icon:before,
#wpadminbar li.hover .ab-item:before,
#wpadminbar li:hover #adminbarsearch:before,

File diff suppressed because one or more lines are too long

View File

@ -107,19 +107,36 @@ function wp_admin_bar_render() {
* @param WP_Admin_Bar $wp_admin_bar
*/
function wp_admin_bar_wp_menu( $wp_admin_bar ) {
$wp_admin_bar->add_menu( array(
if ( current_user_can( 'read' ) ) {
$about_url = self_admin_url( 'about.php' );
} elseif ( is_multisite() ) {
$about_url = get_dashboard_url( get_current_user_id(), 'about.php' );
} else {
$about_url = false;
}
$wp_logo_menu_args = array(
'id' => 'wp-logo',
'title' => '<span class="ab-icon"></span><span class="screen-reader-text">' . __( 'About WordPress' ) . '</span>',
'href' => self_admin_url( 'about.php' ),
) );
'href' => $about_url,
);
if ( is_user_logged_in() ) {
// Set tabindex="0" to make sub menus accessible when no URL is available.
if ( ! $about_url ) {
$wp_logo_menu_args['meta'] = array(
'tabindex' => 0,
);
}
$wp_admin_bar->add_menu( $wp_logo_menu_args );
if ( $about_url ) {
// Add "About WordPress" link
$wp_admin_bar->add_menu( array(
'parent' => 'wp-logo',
'id' => 'about',
'title' => __('About WordPress'),
'href' => self_admin_url( 'about.php' ),
'href' => $about_url,
) );
}
@ -294,10 +311,10 @@ function wp_admin_bar_site_menu( $wp_admin_bar ) {
}
if ( is_network_admin() ) {
/* translators: %s: site name */
/* translators: %s: site name */
$blogname = sprintf( __( 'Network Admin: %s' ), esc_html( get_current_site()->site_name ) );
} elseif ( is_user_admin() ) {
/* translators: %s: site name */
/* translators: %s: site name */
$blogname = sprintf( __( 'User Dashboard: %s' ), esc_html( get_current_site()->site_name ) );
}

View File

@ -294,6 +294,7 @@ html:lang(he-il) .rtl #wpadminbar * {
#wpadminbar li:hover .ab-item:before,
#wpadminbar li a:focus .ab-icon:before,
#wpadminbar li .ab-item:focus:before,
#wpadminbar li .ab-item:focus .ab-icon:before,
#wpadminbar li.hover .ab-icon:before,
#wpadminbar li.hover .ab-item:before,
#wpadminbar li:hover #adminbarsearch:before,

File diff suppressed because one or more lines are too long

View File

@ -294,6 +294,7 @@ html:lang(he-il) .rtl #wpadminbar * {
#wpadminbar li:hover .ab-item:before,
#wpadminbar li a:focus .ab-icon:before,
#wpadminbar li .ab-item:focus:before,
#wpadminbar li .ab-item:focus .ab-icon:before,
#wpadminbar li.hover .ab-icon:before,
#wpadminbar li.hover .ab-item:before,
#wpadminbar li:hover #adminbarsearch:before,

File diff suppressed because one or more lines are too long

View File

@ -4,7 +4,7 @@
*
* @global string $wp_version
*/
$wp_version = '4.7-alpha-38659';
$wp_version = '4.7-alpha-38660';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.