Index: wp-includes/class-wp-admin-bar.php
===================================================================
--- wp-includes/class-wp-admin-bar.php	(revision 38729)
+++ wp-includes/class-wp-admin-bar.php	(working copy)
@@ -494,6 +494,9 @@
 		if ( $menuclass )
 			$menuclass = ' class="' . esc_attr( trim( $menuclass ) ) . '"';
 
+		if ( ! empty( $node->meta['data'] ) && ! is_array( $node->meta['data'] ) ) {
+			$node->meta['data'] = array( 'data' => (string) $node->meta['data'] );
+		}
 		?>
 
 		<li id="<?php echo esc_attr( 'wp-admin-bar-' . $node->id ); ?>"<?php echo $menuclass; ?>><?php
@@ -517,6 +520,11 @@
 				if ( ! empty( $node->meta['dir'] ) ) :
 					?> dir="<?php echo esc_attr( $node->meta['dir'] ); ?>"<?php
 				endif;
+				if ( ! empty( $node->meta['data'] ) ) :
+					foreach ( $node->meta['data'] as $attr => $data ) :
+					?> data-<?php echo esc_attr( $attr ); ?>="<?php echo esc_attr( $data ); ?>"<?php
+					endforeach;
+				endif;
 				?>><?php
 			else:
 				?><div class="ab-item ab-empty-item"<?php echo $aria_attributes;
@@ -529,6 +537,11 @@
 				if ( ! empty( $node->meta['dir'] ) ) :
 					?> dir="<?php echo esc_attr( $node->meta['dir'] ); ?>"<?php
 				endif;
+				if ( ! empty( $node->meta['data'] ) ) :
+					foreach ( $node->meta['data'] as $attr => $data ) :
+						?> data-<?php echo esc_attr( $attr ); ?>="<?php echo esc_attr( $data ); ?>"<?php
+					endforeach;
+				endif;
 				?>><?php
 			endif;
 
