--- a/wp/wp-includes/js/wp-ajax-response.js Wed Sep 21 18:19:35 2022 +0200
+++ b/wp/wp-includes/js/wp-ajax-response.js Tue Sep 27 16:37:53 2022 +0200
@@ -18,7 +18,7 @@
return r;
},
parseAjaxResponse: function( x, r, e ) { // 1 = good, 0 = strange (bad data?), -1 = you lack permission.
- var parsed = {}, re = jQuery('#' + r).empty(), err = '';
+ var parsed = {}, re = jQuery('#' + r).empty(), err = '', noticeMessage = '';
if ( x && typeof x === 'object' && x.getElementsByTagName('wp_ajax') ) {
parsed.responses = [];
@@ -29,6 +29,12 @@
response.data = jQuery( 'response_data', child ).text();
response.supplemental = {};
if ( !jQuery( 'supplemental', child ).children().each( function() {
+
+ if ( this.nodeName === 'notice' ) {
+ noticeMessage += jQuery(this).text();
+ return;
+ }
+
response.supplemental[this.nodeName] = jQuery(this).text();
} ).length ) { response.supplemental = false; }
response.errors = [];
@@ -46,7 +52,14 @@
} ).length ) { response.errors = false; }
parsed.responses.push( response );
} );
- if ( err.length ) { re.html( '<div class="error">' + err + '</div>' ); }
+ if ( err.length ) {
+ re.html( '<div class="error">' + err + '</div>' );
+ wp.a11y.speak( err );
+ } else if ( noticeMessage.length ) {
+ re.html( '<div class="updated notice is-dismissible"><p>' + noticeMessage + '</p></div>');
+ jQuery(document).trigger( 'wp-updates-notice-added' );
+ wp.a11y.speak( noticeMessage );
+ }
return parsed;
}
if ( isNaN(x) ) { return !re.html('<div class="error"><p>' + x + '</p></div>'); }