Make WordPress Core

Ticket #31527: 31527.twentyfourteen.searchtoggle.patch

File 31527.twentyfourteen.searchtoggle.patch, 1.7 KB (added by lancewillett, 10 years ago)

Toggle ARIA properties on Twenty Fourteen's search behavior

  • wp-content/themes/twentyfourteen/header.php

     
    4545                        <h1 class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></h1>
    4646
    4747                        <div class="search-toggle">
    48                                 <a href="#search-container" class="screen-reader-text"><?php _e( 'Search', 'twentyfourteen' ); ?></a>
     48                                <a href="#search-container" class="screen-reader-text" aria-expanded="false" aria-controls="search-container"><?php _e( 'Search', 'twentyfourteen' ); ?></a>
    4949                        </div>
    5050
    5151                        <nav id="primary-navigation" class="site-navigation primary-navigation" role="navigation">
  • wp-content/themes/twentyfourteen/js/functions.js

     
    6969                // Search toggle.
    7070                $( '.search-toggle' ).on( 'click.twentyfourteen', function( event ) {
    7171                        var that    = $( this ),
    72                                 wrapper = $( '.search-box-wrapper' );
     72                                wrapper = $( '#search-container' );
    7373
    7474                        that.toggleClass( 'active' );
    7575                        wrapper.toggleClass( 'hide' );
     76                       
     77                        if ( that.hasClass( 'active' ) ) {
     78                                that.attr( 'aria-expanded', 'true' );
     79                                wrapper.attr( 'aria-expanded', 'true' );
     80                        } else {
     81                                that.attr( 'aria-expanded', 'false' );
     82                                wrapper.attr( 'aria-expanded', 'false' );
     83                        }
    7684
    7785                        if ( that.is( '.active' ) || $( '.search-toggle .screen-reader-text' )[0] === event.target ) {
    7886                                wrapper.find( '.search-field' ).focus();