From 7f81dbfe3ff68fefd08897d584f951812d25e026 Mon Sep 17 00:00:00 2001 From: azaozz Date: Wed, 30 Nov 2011 01:27:33 +0000 Subject: [PATCH] Add ARIA related attributes (first take), props DrewAPicture, see #19394 git-svn-id: http://svn.automattic.com/wordpress/trunk@19484 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/menu-header.php | 27 +++++++++++++++------------ wp-includes/class-wp-admin-bar.php | 23 +++++++++++++++-------- 2 files changed, 30 insertions(+), 20 deletions(-) diff --git a/wp-admin/menu-header.php b/wp-admin/menu-header.php index 6986e0798..4d7ec201d 100644 --- a/wp-admin/menu-header.php +++ b/wp-admin/menu-header.php @@ -41,6 +41,7 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) { foreach ( $menu as $key => $item ) { $admin_is_parent = false; $class = array(); + $aria_attributes = 'tabindex="1" role="menuitem"'; if ( $first ) { $class[] = 'wp-first-item'; @@ -53,16 +54,18 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) { $submenu_items = $submenu[$item[2]]; } - if ( ( $parent_file && $item[2] == $parent_file ) || ( empty($typenow) && $self == $item[2] ) ) + if ( ( $parent_file && $item[2] == $parent_file ) || ( empty($typenow) && $self == $item[2] ) ) { $class[] = ! empty( $submenu_items ) ? 'wp-has-current-submenu wp-menu-open' : 'current'; - else + } else { $class[] = 'wp-not-current-submenu'; + if ( ! empty( $submenu_items ) ) + $aria_attributes .= ' aria-haspopup="true"'; + } if ( ! empty( $item[4] ) ) $class[] = $item[4]; $class = $class ? ' class="' . join( ' ', $class ) . '"' : ''; - $tabindex = ' tabindex="1"'; $id = ! empty( $item[5] ) ? ' id="' . preg_replace( '|[^a-zA-Z0-9_:.]|', '-', $item[5] ) . '"' : ''; $img = ''; if ( ! empty( $item[6] ) ) @@ -83,9 +86,9 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) { $menu_file = substr( $menu_file, 0, $pos ); if ( ! empty( $menu_hook ) || ( ('index.php' != $submenu_items[0][2]) && file_exists( WP_PLUGIN_DIR . "/$menu_file" ) ) ) { $admin_is_parent = true; - echo "$arrow$title"; + echo "$arrow$title"; } else { - echo "\n\t$arrow$title"; + echo "\n\t$arrow$title"; } } elseif ( ! empty( $item[2] ) && current_user_can( $item[1] ) ) { $menu_hook = get_plugin_page_hook( $item[2], 'admin.php' ); @@ -94,14 +97,14 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) { $menu_file = substr( $menu_file, 0, $pos ); if ( ! empty( $menu_hook ) || ( ('index.php' != $item[2]) && file_exists( WP_PLUGIN_DIR . "/$menu_file" ) ) ) { $admin_is_parent = true; - echo "\n\t$arrow{$item[0]}"; + echo "\n\t$arrow{$item[0]}"; } else { - echo "\n\t$arrow{$item[0]}"; + echo "\n\t$arrow{$item[0]}"; } } if ( ! empty( $submenu_items ) ) { - echo "\n\t
"; + echo "\n\t"; @@ -169,9 +172,9 @@ function _wp_menu_output( $menu, $submenu, $submenu_as_parent = true ) { ?>
-
+