Make WordPress Core

Changeset 45849


Ignore:
Timestamp:
08/19/2019 04:55:01 AM (5 years ago)
Author:
SergeyBiryukov
Message:

Accessibility: Fix the order of the Previous, Next, and Close buttons in the Attachment Details modal.

Making the visual and DOM order match benefits keyboard users who navigate documents sequentially and expect the focus order to be consistent with the sequential reading order.

Props afercia.
Merges [45506] to the 5.2 branch.
Fixes #47458.

Location:
branches/5.2
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/5.2

  • branches/5.2/src/js/media/views/attachment/details.js

    r44900 r45849  
    1919    template:  wp.template('attachment-details'),
    2020
    21     attributes: function() {
    22         return {
    23             'tabIndex':     0,
    24             'data-id':      this.model.get( 'id' )
    25         };
    26     },
     21    /*
     22     * Reset all the attributes inherited from Attachment including role=checkbox,
     23     * tabindex, etc., as they are inappropriate for this view. See #47458 and [30483] / #30390.
     24     */
     25    attributes: {},
    2726
    2827    events: {
  • branches/5.2/src/js/media/views/frame/edit-attachments.js

    r43309 r45849  
    8181        if ( this.options.modal ) {
    8282            this.modal = new wp.media.view.Modal({
    83                 controller: this,
    84                 title:      this.options.title
     83                controller:     this,
     84                title:          this.options.title,
     85                hasCloseButton: false
    8586            });
    8687
  • branches/5.2/src/js/media/views/modal.js

    r44639 r45849  
    2727    initialize: function() {
    2828        _.defaults( this.options, {
    29             container: document.body,
    30             title:     '',
    31             propagate: true
     29            container:      document.body,
     30            title:          '',
     31            propagate:      true,
     32            hasCloseButton: true
    3233        });
    3334
     
    4142    prepare: function() {
    4243        return {
    43             title: this.options.title
     44            title:          this.options.title,
     45            hasCloseButton: this.options.hasCloseButton
    4446        };
    4547    },
  • branches/5.2/src/wp-includes/media-template.php

    r45335 r45849  
    196196    <script type="text/html" id="tmpl-media-modal">
    197197        <div tabindex="0" class="<?php echo $class; ?>">
    198             <button type="button" class="media-modal-close"><span class="media-modal-icon"><span class="screen-reader-text"><?php _e( 'Close media panel' ); ?></span></span></button>
     198            <# if ( data.hasCloseButton ) { #>
     199                <button type="button" class="media-modal-close"><span class="media-modal-icon"><span class="screen-reader-text"><?php _e( 'Close dialog' ); ?></span></span></button>
     200            <# } #>
    199201            <div class="media-modal-content"></div>
    200202        </div>
     
    320322            <button class="left dashicons <# if ( ! data.hasPrevious ) { #> disabled <# } #>"><span class="screen-reader-text"><?php _e( 'Edit previous media item' ); ?></span></button>
    321323            <button class="right dashicons <# if ( ! data.hasNext ) { #> disabled <# } #>"><span class="screen-reader-text"><?php _e( 'Edit next media item' ); ?></span></button>
     324            <button type="button" class="media-modal-close"><span class="media-modal-icon"><span class="screen-reader-text"><?php _e( 'Close dialog' ); ?></span></span></button>
    322325        </div>
    323326        <div class="media-frame-title"></div>
Note: See TracChangeset for help on using the changeset viewer.