Make WordPress Core

Ticket #38142: 38142.diff

File 38142.diff, 2.6 KB (added by afercia, 8 years ago)
  • src/wp-includes/js/media/views/modal.js

     
    2424                'keydown': 'keydown'
    2525        },
    2626
     27        clickedOpenerEl: null,
     28
    2729        initialize: function() {
    2830                _.defaults( this.options, {
    2931                        container: document.body,
     
    9193                        return this;
    9294                }
    9395
     96                this.clickedOpenerEl = document.activeElement;
     97
    9498                if ( ! this.views.attached ) {
    9599                        this.attach();
    96100                }
     
    141145                // Hide modal and remove restricted media modal tab focus once it's closed
    142146                this.$el.hide().undelegate( 'keydown' );
    143147
    144                 // Put focus back in useful location once modal is closed
    145                 $('#wpbody-content').focus();
     148                // Put focus back in useful location once modal is closed.
     149                if ( null !== this.clickedOpenerEl ) {
     150                        this.clickedOpenerEl.focus();
     151                } else {
     152                        $( '#wpbody-content' ).focus();
     153                }
    146154
    147155                this.propagate('close');
    148156
  • src/wp-includes/js/media-editor.js

     
    11111111
    11121112                                        event.preventDefault();
    11131113
    1114                                         // Remove focus from the `.insert-media` button.
    1115                                         // Prevents Opera from showing the outline of the button
    1116                                         // above the modal.
    1117                                         //
    1118                                         // See: https://core.trac.wordpress.org/ticket/22445
    1119                                         elem.blur();
    1120 
    11211114                                        if ( elem.hasClass( 'gallery' ) ) {
    11221115                                                options.state = 'gallery';
    11231116                                                options.title = wp.media.view.l10n.createGalleryTitle;
  • src/wp-includes/js/media-views.js

     
    66986698                'keydown': 'keydown'
    66996699        },
    67006700
     6701        clickedOpenerEl: null,
     6702
    67016703        initialize: function() {
    67026704                _.defaults( this.options, {
    67036705                        container: document.body,
     
    67656767                        return this;
    67666768                }
    67676769
     6770                this.clickedOpenerEl = document.activeElement;
     6771
    67686772                if ( ! this.views.attached ) {
    67696773                        this.attach();
    67706774                }
     
    68156819                // Hide modal and remove restricted media modal tab focus once it's closed
    68166820                this.$el.hide().undelegate( 'keydown' );
    68176821
    6818                 // Put focus back in useful location once modal is closed
    6819                 $('#wpbody-content').focus();
     6822                // Put focus back in useful location once modal is closed.
     6823                if ( null !== this.clickedOpenerEl ) {
     6824                        this.clickedOpenerEl.focus();
     6825                } else {
     6826                        $( '#wpbody-content' ).focus();
     6827                }
    68206828
    68216829                this.propagate('close');
    68226830