diff --git a/src/js/media/views/uploader/inline.js b/src/js/media/views/uploader/inline.js index bd2cff0dcc..c6bc5fa068 100644 --- a/src/js/media/views/uploader/inline.js +++ b/src/js/media/views/uploader/inline.js @@ -115,6 +115,7 @@ UploaderInline = View.extend(/** @lends wp.media.view.UploaderInline.prototype * $browser.detach().text( $placeholder.text() ); $browser[0].className = $placeholder[0].className; + $browser[0].setAttribute( 'aria-labelledby', $browser[0].id + ' ' + $placeholder[0].getAttribute('aria-labelledby') ); $placeholder.replaceWith( $browser.show() ); } diff --git a/src/js/media/views/uploader/status.js b/src/js/media/views/uploader/status.js index 0be6f15f5d..a21c278395 100644 --- a/src/js/media/views/uploader/status.js +++ b/src/js/media/views/uploader/status.js @@ -116,8 +116,14 @@ UploaderStatus = View.extend(/** @lends wp.media.view.UploaderStatus.prototype * message: error.get( 'message' ) } ); + var buttonClose = this.$el.find( 'button' ); + // Can show additional info here while retrying to create image sub-sizes. this.views.add( '.upload-errors', statusError, { at: 0 } ); + _.delay( function() { + buttonClose.trigger( 'focus' ); + wp.a11y.speak( error.get( 'message' ), 'assertive' ); + }, 1000 ); }, dismiss: function() { diff --git a/src/wp-includes/media-template.php b/src/wp-includes/media-template.php index 2b887c475a..70e1995707 100644 --- a/src/wp-includes/media-template.php +++ b/src/wp-includes/media-template.php @@ -252,12 +252,12 @@ function wp_print_media_templates() {