mirror of
https://github.com/WordPress/WordPress.git
synced 2025-02-16 19:46:21 +00:00
Twenty Seventeen: Improve ARIA for the nav menu.
The `onResizeARIA()` function was not very useful and buggy. props afercia. fixes #39029, #39026. Built from https://develop.svn.wordpress.org/trunk@39451 git-svn-id: http://core.svn.wordpress.org/trunk@39391 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
a7ca4b8dde
commit
f048b66f95
@ -17,8 +17,13 @@
|
|||||||
|
|
||||||
container.find( '.menu-item-has-children > a, .page_item_has_children > a' ).after( dropdownToggle );
|
container.find( '.menu-item-has-children > a, .page_item_has_children > a' ).after( dropdownToggle );
|
||||||
|
|
||||||
// Toggle buttons and submenu items with active children menu items.
|
// Set the active submenu dropdown toggle button initial state.
|
||||||
container.find( '.current-menu-ancestor > button' ).addClass( 'toggled-on' );
|
container.find( '.current-menu-ancestor > button' )
|
||||||
|
.addClass( 'toggled-on' )
|
||||||
|
.attr( 'aria-expanded', 'true' )
|
||||||
|
.find( '.screen-reader-text' )
|
||||||
|
.text( twentyseventeenScreenReaderText.collapse );
|
||||||
|
// Set the active submenu initial state.
|
||||||
container.find( '.current-menu-ancestor > .sub-menu' ).addClass( 'toggled-on' );
|
container.find( '.current-menu-ancestor > .sub-menu' ).addClass( 'toggled-on' );
|
||||||
|
|
||||||
container.find( '.dropdown-toggle' ).click( function( e ) {
|
container.find( '.dropdown-toggle' ).click( function( e ) {
|
||||||
@ -50,15 +55,13 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add an initial values for the attribute.
|
// Add an initial value for the attribute.
|
||||||
menuToggle.add( siteNavigation ).attr( 'aria-expanded', 'false' );
|
menuToggle.attr( 'aria-expanded', 'false' );
|
||||||
|
|
||||||
menuToggle.on( 'click.twentyseventeen', function() {
|
menuToggle.on( 'click.twentyseventeen', function() {
|
||||||
$( siteNavContain ).toggleClass( 'toggled-on' );
|
siteNavContain.toggleClass( 'toggled-on' );
|
||||||
|
|
||||||
$( this )
|
$( this ).attr( 'aria-expanded', siteNavContain.hasClass( 'toggled-on' ) );
|
||||||
.add( siteNavigation )
|
|
||||||
.attr( 'aria-expanded', $( this ).add( siteNavigation ).attr( 'aria-expanded' ) === 'false' ? 'true' : 'false' );
|
|
||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
|
|
||||||
@ -103,32 +106,4 @@
|
|||||||
$( this ).parents( '.menu-item, .page_item' ).toggleClass( 'focus' );
|
$( this ).parents( '.menu-item, .page_item' ).toggleClass( 'focus' );
|
||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
|
|
||||||
// Add the default ARIA attributes for the menu toggle and the navigations.
|
|
||||||
function onResizeARIA() {
|
|
||||||
if ( 'block' === $( '.menu-toggle' ).css( 'display' ) ) {
|
|
||||||
|
|
||||||
if ( menuToggle.hasClass( 'toggled-on' ) ) {
|
|
||||||
menuToggle.attr( 'aria-expanded', 'true' );
|
|
||||||
} else {
|
|
||||||
menuToggle.attr( 'aria-expanded', 'false' );
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( siteNavigation.closest( '.main-navigation' ).hasClass( 'toggled-on' ) ) {
|
|
||||||
siteNavigation.attr( 'aria-expanded', 'true' );
|
|
||||||
} else {
|
|
||||||
siteNavigation.attr( 'aria-expanded', 'false' );
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
menuToggle.removeAttr( 'aria-expanded' );
|
|
||||||
siteNavigation.removeAttr( 'aria-expanded' );
|
|
||||||
menuToggle.removeAttr( 'aria-controls' );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$( document ).ready( function() {
|
|
||||||
$( window ).on( 'load.twentyseventeen', onResizeARIA );
|
|
||||||
$( window ).on( 'resize.twentyseventeen', onResizeARIA );
|
|
||||||
});
|
|
||||||
|
|
||||||
})( jQuery );
|
})( jQuery );
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
*
|
*
|
||||||
* @global string $wp_version
|
* @global string $wp_version
|
||||||
*/
|
*/
|
||||||
$wp_version = '4.8-alpha-39450';
|
$wp_version = '4.8-alpha-39451';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user