WordPress.org

Make WordPress Core

Ticket #20373: 20373-2.patch

File 20373-2.patch, 3.0 KB (added by azaozz, 6 years ago)
  • wp-admin/menu-header.php

     
    6666                        $class[] = $item[4];
    6767
    6868                $class = $class ? ' class="' . join( ' ', $class ) . '"' : '';
    69                 $id = ! empty( $item[5] ) ? ' id="' . preg_replace( '|[^a-zA-Z0-9_:.]|', '-', $item[5] ) . '"' : '';
     69                $id = ! empty( $item[5] ) ? preg_replace( '|[^a-zA-Z0-9_:.]|', '-', $item[5] ) : 'wp-menu-' . $key;
     70                $link_id = $id . '-link';
     71
    7072                $img = '';
    7173                if ( ! empty( $item[6] ) )
    7274                        $img = ( 'div' === $item[6] ) ? '<br />' : '<img src="' . $item[6] . '" alt="" />';
     75
    7376                $arrow = '<div class="wp-menu-arrow"><div></div></div>';
    74 
    7577                $title = wptexturize( $item[0] );
    7678
    77                 echo "\n\t<li$class$id>";
     79                echo "\n\t<li$class id='$id'>";
    7880
    7981                if ( false !== strpos( $class, 'wp-menu-separator' ) ) {
    8082                        echo '<div class="separator"></div>';
     
    8688                                $menu_file = substr( $menu_file, 0, $pos );
    8789                        if ( ! empty( $menu_hook ) || ( ('index.php' != $submenu_items[0][2]) && file_exists( WP_PLUGIN_DIR . "/$menu_file" ) ) ) {
    8890                                $admin_is_parent = true;
    89                                 echo "<div class='wp-menu-image'><a href='admin.php?page={$submenu_items[0][2]}'>$img</a></div>$arrow<a href='admin.php?page={$submenu_items[0][2]}'$class $aria_attributes>$title</a>";
     91                                echo "<div class='wp-menu-image'><a href='admin.php?page={$submenu_items[0][2]}' aria-labelledby='$link_id'>$img</a></div>$arrow<a href='admin.php?page={$submenu_items[0][2]}'$class $aria_attributes id='$link_id'>$title</a>";
    9092                        } else {
    91                                 echo "\n\t<div class='wp-menu-image'><a href='{$submenu_items[0][2]}'>$img</a></div>$arrow<a href='{$submenu_items[0][2]}'$class $aria_attributes>$title</a>";
     93                                echo "\n\t<div class='wp-menu-image'><a href='{$submenu_items[0][2]}' aria-labelledby='$link_id'>$img</a></div>$arrow<a href='{$submenu_items[0][2]}'$class $aria_attributes id='$link_id'>$title</a>";
    9294                        }
    9395                } elseif ( ! empty( $item[2] ) && current_user_can( $item[1] ) ) {
    9496                        $menu_hook = get_plugin_page_hook( $item[2], 'admin.php' );
     
    9799                                $menu_file = substr( $menu_file, 0, $pos );
    98100                        if ( ! empty( $menu_hook ) || ( ('index.php' != $item[2]) && file_exists( WP_PLUGIN_DIR . "/$menu_file" ) ) ) {
    99101                                $admin_is_parent = true;
    100                                 echo "\n\t<div class='wp-menu-image'><a href='admin.php?page={$item[2]}'>$img</a></div>$arrow<a href='admin.php?page={$item[2]}'$class $aria_attributes>{$item[0]}</a>";
     102                                echo "\n\t<div class='wp-menu-image'><a href='admin.php?page={$item[2]}' aria-labelledby='$link_id'>$img</a></div>$arrow<a href='admin.php?page={$item[2]}'$class $aria_attributes id='$link_id'>{$item[0]}</a>";
    101103                        } else {
    102                                 echo "\n\t<div class='wp-menu-image'><a href='{$item[2]}'>$img</a></div>$arrow<a href='{$item[2]}'$class $aria_attributes>{$item[0]}</a>";
     104                                echo "\n\t<div class='wp-menu-image'><a href='{$item[2]}' aria-labelledby='$link_id'>$img</a></div>$arrow<a href='{$item[2]}'$class $aria_attributes id='$link_id'>{$item[0]}</a>";
    103105                        }
    104106                }
    105107