From 738411493b2a0ebb6e462b71588703c6f2d5e550 Mon Sep 17 00:00:00 2001 From: Bryan Schneidewind Date: Mon, 10 Feb 2025 21:07:53 -0600 Subject: [PATCH] add aria-controls --- .../themes/twentyfifteen/js/functions.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/wp-content/themes/twentyfifteen/js/functions.js b/src/wp-content/themes/twentyfifteen/js/functions.js index 323b2ceb7ca46..f4b80c7e73ac5 100644 --- a/src/wp-content/themes/twentyfifteen/js/functions.js +++ b/src/wp-content/themes/twentyfifteen/js/functions.js @@ -28,6 +28,23 @@ } initMainNavigation( $( '.main-navigation' ) ); + // Add unique ID to each .sub-menu and aria-controls to parent links + function addUniqueIDToSubMenus() { + var subMenus = document.querySelectorAll( '.main-navigation .sub-menu' ); + subMenus.forEach( function( subMenu, index ) { + var parentLi = subMenu.closest( 'li.menu-item-has-children' ); + subMenu.id = 'sub-menu-' + (index + 1); + if ( parentLi ) { + var parentLink = parentLi.querySelector( 'button' ); + if ( parentLink ) { + parentLink.setAttribute( 'aria-controls', subMenu.id ); + } + } + } ); + } + + addUniqueIDToSubMenus(); + // Re-initialize the main navigation when it is updated, persisting any existing submenu expanded states. $( document ).on( 'customize-preview-menu-refreshed', function( e, params ) { if ( 'primary' === params.wpNavMenuArgs.theme_location ) {