WordPress.org

Make WordPress Core

Ticket #32578: 32578.patch

File 32578.patch, 1.6 KB (added by afercia, 5 years ago)
  • src/wp-admin/js/common.js

     
    245245                        }
    246246                }
    247247
     248                currentMenuItemHasPopup();
    248249                $( document ).trigger( 'wp-collapse-menu', { state: state } );
    249250        });
    250251
     252        // Handle the `aria-haspopup` attribute on the current menu item.
     253        function currentMenuItemHasPopup() {
     254                var respWidth,
     255                        $body = $( document.body ),
     256                        $current = $( 'a.wp-has-current-submenu' );
     257
     258                if ( window.innerWidth ) {
     259                        respWidth = Math.max( window.innerWidth, document.documentElement.clientWidth );
     260                } else {
     261                        respWidth = 961;
     262                }
     263
     264                if ( $body.hasClass( 'folded' ) || ( $body.hasClass( 'auto-fold' ) && respWidth && respWidth <= 960 && respWidth > 782 ) ) {
     265                        // When folded or auto-folded and not responsive view, the current menu item does have a fly-out sub-menu.
     266                        $current.attr( 'aria-haspopup', 'true' );
     267                } else {
     268                        // When expanded or in responsive view, reset aria-haspopup.
     269                        $current.attr( 'aria-haspopup', 'false' );
     270                }
     271        };
     272
     273        $document.on( 'wp-window-resized wp-responsive-activate wp-responsive-deactivate', currentMenuItemHasPopup );
     274
    251275        /**
    252276         * Ensure an admin submenu is within the visual viewport.
    253277         *
     
    859883
    860884        window.wpResponsive.init();
    861885        setPinMenu();
     886        currentMenuItemHasPopup();
    862887
    863888        $document.on( 'wp-pin-menu wp-window-resized.pin-menu postboxes-columnchange.pin-menu postbox-toggled.pin-menu wp-collapse-menu.pin-menu wp-scroll-start.pin-menu', setPinMenu );
    864889});