Ticket #33260: 33260.6.diff
File 33260.6.diff, 4.5 KB (added by , 10 years ago) |
---|
-
src/wp-admin/js/customize-widgets.js
1644 1644 /** 1645 1645 * Keyboard-accessible reordering 1646 1646 */ 1647 this.container.find( '.reorder-toggle' ).on( 'click keydown', function( event ) { 1648 if ( event.type === 'keydown' && ! ( event.which === 13 || event.which === 32 ) ) { // Enter or Spacebar 1649 return; 1650 } 1651 1647 this.container.find( '.reorder-toggle' ).on( 'click', function() { 1652 1648 self.toggleReordering( ! self.isReordering ); 1653 1649 } ); 1654 1650 }, … … 1659 1655 _setupAddition: function() { 1660 1656 var self = this; 1661 1657 1662 this.container.find( '.add-new-widget' ).on( 'click keydown', function( event ) { 1663 if ( event.type === 'keydown' && ! ( event.which === 13 || event.which === 32 ) ) { // Enter or Spacebar 1664 return; 1665 } 1666 1658 this.container.find( '.add-new-widget' ).on( 'click', function() { 1667 1659 if ( self.$sectionContent.hasClass( 'reordering' ) ) { 1668 1660 return; 1669 1661 } 1670 1662 1671 1663 if ( ! $( 'body' ).hasClass( 'adding-widget' ) ) { 1664 $( this ).attr( 'aria-expanded', 'true' ); 1672 1665 api.Widgets.availableWidgetsPanel.open( self ); 1673 1666 } else { 1667 $( this ).attr( 'aria-expanded', 'false' ); 1674 1668 api.Widgets.availableWidgetsPanel.close(); 1675 1669 } 1676 1670 } ); … … 1724 1718 * @todo We should have a reordering state instead and rename this to onChangeReordering 1725 1719 */ 1726 1720 toggleReordering: function( showOrHide ) { 1721 var addNewWidgetBtn = this.$sectionContent.find( '.add-new-widget' ), 1722 reorderBtn = this.container.find( '.reorder-toggle' ); 1723 1727 1724 showOrHide = Boolean( showOrHide ); 1728 1725 1729 1726 if ( showOrHide === this.$sectionContent.hasClass( 'reordering' ) ) { … … 1738 1735 formControl.collapse(); 1739 1736 } ); 1740 1737 1741 this.$sectionContent.find( '.first-widget .move-widget' ).focus(); 1742 this.$sectionContent.find( '.add-new-widget' ).prop( 'tabIndex', -1 ); 1738 addNewWidgetBtn.attr({ 'tabindex': '-1', 'aria-hidden': 'true' }); 1739 reorderBtn.attr( 'aria-label', l10n.reorderLabelOff ); 1740 wp.a11y.speak( l10n.reorderModeOn ); 1743 1741 } else { 1744 this.$sectionContent.find( '.add-new-widget' ).prop( 'tabIndex', 0 ); 1742 addNewWidgetBtn.removeAttr( 'tabindex aria-hidden' ); 1743 reorderBtn.attr( 'aria-label', l10n.reorderLabelOn ); 1744 wp.a11y.speak( l10n.reorderModeOff ); 1745 1745 } 1746 1746 }, 1747 1747 -
src/wp-includes/class-wp-customize-control.php
1456 1456 * @access public 1457 1457 */ 1458 1458 public function render_content() { 1459 $id = 'reorder-widgets-desc-' . str_replace( '[', '-', str_replace( ']', '', $this->id ) ); 1459 1460 ?> 1460 < span class="button-secondary add-new-widget" tabindex="0">1461 <button type="button" class="button-secondary add-new-widget" aria-label="<?php esc_attr_e( 'Add or remove widgets' ); ?>" aria-expanded="false" aria-controls="available-widgets"> 1461 1462 <?php _e( 'Add a Widget' ); ?> 1462 </span> 1463 1464 <span class="reorder-toggle" tabindex="0"> 1463 </button> 1464 <button type="button" class="not-a-button reorder-toggle" aria-label="<?php esc_attr_e( 'Reorder' ); ?>" aria-describedby="<?php echo esc_attr( $id ); ?>"> 1465 1465 <span class="reorder"><?php _ex( 'Reorder', 'Reorder widgets in Customizer' ); ?></span> 1466 1466 <span class="reorder-done"><?php _ex( 'Done', 'Cancel reordering widgets in Customizer' ); ?></span> 1467 </span> 1467 </button> 1468 <p class="screen-reader-text" id="<?php echo esc_attr( $id ); ?>"><?php _e( 'When in reorder mode, additional controls to reorder widgets will be available in the widgets list above.' ); ?></p> 1468 1469 <?php 1469 1470 } 1470 1471 -
src/wp-includes/class-wp-customize-widgets.php
655 655 'error' => __( 'An error has occurred. Please reload the page and try again.' ), 656 656 'widgetMovedUp' => __( 'Widget moved up' ), 657 657 'widgetMovedDown' => __( 'Widget moved down' ), 658 'reorderModeOn' => __( 'Reorder mode enabled' ), 659 'reorderModeOff' => __( 'Reorder mode closed' ), 660 'reorderLabelOn' => esc_attr__( 'Reorder' ), 661 'reorderLabelOff' => esc_attr__( 'Close reorder mode' ), 658 662 ), 659 663 'tpl' => array( 660 664 'widgetReorderNav' => $widget_reorder_nav_tpl,