Make WordPress Core

Ticket #41589: 41589.diff

File 41589.diff, 2.2 KB (added by afercia, 6 years ago)
  • src/wp-admin/menu-header.php

     
    8989                }
    9090
    9191                if ( ( $parent_file && $item[2] == $parent_file ) || ( empty($typenow) && $self == $item[2] ) ) {
    92                         $class[] = ! empty( $submenu_items ) ? 'wp-has-current-submenu wp-menu-open' : 'current';
     92                        if ( ! empty( $submenu_items ) ) {
     93                                $class[] = 'wp-has-current-submenu wp-menu-open';
     94                        } else {
     95                                $class[] = 'current';
     96                                $aria_attributes .= 'aria-current="page"';
     97                        }
    9398                } else {
    9499                        $class[] = 'wp-not-current-submenu';
    95100                        if ( ! empty( $submenu_items ) )
     
    178183                                        continue;
    179184
    180185                                $class = array();
     186                                $aria_attributes = '';
    181187                                if ( $first ) {
    182188                                        $class[] = 'wp-first-item';
    183189                                        $first = false;
     
    192198                                $self_type = ! empty( $typenow ) ? $self . '?post_type=' . $typenow : 'nothing';
    193199
    194200                                if ( isset( $submenu_file ) ) {
    195                                         if ( $submenu_file == $sub_item[2] )
     201                                        if ( $submenu_file == $sub_item[2] ) {
    196202                                                $class[] = 'current';
     203                                                $aria_attributes .= ' aria-current="page"';
     204                                        }
    197205                                // If plugin_page is set the parent must either match the current page or not physically exist.
    198206                                // This allows plugin pages with the same hook to exist under different parents.
    199207                                } elseif (
     
    201209                                        ( isset( $plugin_page ) && $plugin_page == $sub_item[2] && ( $item[2] == $self_type || $item[2] == $self || file_exists($menu_file) === false ) )
    202210                                ) {
    203211                                        $class[] = 'current';
     212                                        $aria_attributes .= ' aria-current="page"';
    204213                                }
    205214
    206215                                if ( ! empty( $sub_item[4] ) ) {
     
    224233                                                $sub_item_url = add_query_arg( array( 'page' => $sub_item[2] ), 'admin.php' );
    225234
    226235                                        $sub_item_url = esc_url( $sub_item_url );
    227                                         echo "<li$class><a href='$sub_item_url'$class>$title</a></li>";
     236                                        echo "<li$class><a href='$sub_item_url'$class$aria_attributes>$title</a></li>";
    228237                                } else {
    229                                         echo "<li$class><a href='{$sub_item[2]}'$class>$title</a></li>";
     238                                        echo "<li$class><a href='{$sub_item[2]}'$class$aria_attributes>$title</a></li>";
    230239                                }
    231240                        }
    232241                        echo "</ul>";