--- functions.js	2016-07-09 12:46:41.198851000 -0400
+++ new_functions.js	2016-07-09 12:51:47.562851000 -0400
@@ -122,6 +122,35 @@
 	} );

 	/**
+	 * Enable hover for dropdown menu for touch devices
+	 *
+	 * Modification of patch 30575 by Richard van Denderen
+	 * @link https://core.trac.wordpress.org/attachment/ticket/30575/30575.patch
+	 */
+	function touchDropdown() {
+		if ( 781 > _window.width() ) {
+			$( '.primary-navigation, .secondary-navigation' ).find( 'a' ).on( 'focus.twentyfourteen blur.twentyfourteen', function() {
+				$( this ).parents().toggleClass( 'focus' );
+			} );
+			if ( 'ontouchstart' in window ) {
+				$( document.body ).off( 'touchstart.twentyfourteen' );
+			}
+		} else {
+			if ( 'ontouchstart' in window ) {
+				$( document.body ).on( 'touchstart.twentyfourteen',  '.menu-item-has-children > a, .page_item_has_children > a', function( e ) {
+					var el = $( this ).parent( 'li' );
+
+					if ( ! el.hasClass( 'focus' ) ) {
+						e.preventDefault();
+						el.toggleClass( 'focus' );
+						el.siblings( '.focus' ).removeClass( 'focus' );
+					}
+				} );
+			}
+		}
+	}
+
+	/**
 	 * @summary Add or remove ARIA attributes.
 	 * Uses jQuery's width() function to determine the size of the window and add
 	 * the default ARIA attributes for the menu toggle if it's visible.
@@ -132,16 +161,17 @@
 			button.attr( 'aria-expanded', 'false' );
 			menu.attr( 'aria-expanded', 'false' );
 			button.attr( 'aria-controls', 'primary-menu' );
+			$( '.menu-item-has-children' ).attr( 'aria-haspopup', 'false' );
 		} else {
 			button.removeAttr( 'aria-expanded' );
 			menu.removeAttr( 'aria-expanded' );
 			button.removeAttr( 'aria-controls' );
+			$( '.menu-item-has-children' ).attr( 'aria-haspopup', 'true' );
 		}
 	}

-	_window
-		.on( 'load.twentyfourteen', onResizeARIA )
-		.on( 'resize.twentyfourteen', function() {
+	_window.on( 'load.twentyfourteen resize.twentyfourteen', function() {
+			touchDropdown();
 			onResizeARIA();
 	} );

