Make WordPress Core

Changeset 59988


Ignore:
Timestamp:
03/16/2025 07:38:42 PM (19 months ago)
Author:
joedolson
Message:

A11y: Add spoken notice when screen options are saved on change.

When some screen option input fields are changed (post table columns, welcome panel, and metabox visibility), the change is saved to options. Other screen options (e.g. number of items per page) are only saved on submit. The changes that are saved immediately are visibly changed for sighted readers immediately. Change adds a wp.a11y.speak() call to inform screen readers that a value change has updated screen options.

Props kkmuffme, joedolson, yogeshbhutkar, audrasjb, sourabhjain.
Fixes #62550.

Location:
trunk/src/js/_enqueues
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/js/_enqueues/admin/common.js

    r59746 r59988  
    420420        saveManageColumnsState : function() {
    421421                var hidden = this.hidden();
    422                 $.post(ajaxurl, {
    423                         action: 'hidden-columns',
    424                         hidden: hidden,
    425                         screenoptionnonce: $('#screenoptionnonce').val(),
    426                         page: pagenow
    427                 });
     422                $.post(
     423                        ajaxurl,
     424                        {
     425                                action: 'hidden-columns',
     426                                hidden: hidden,
     427                                screenoptionnonce: $('#screenoptionnonce').val(),
     428                                page: pagenow
     429                        },
     430                        function() {
     431                                wp.a11y.speak( __( 'Screen Options updated.' ) );
     432                        }
     433                );
    428434        },
    429435
  • trunk/src/js/_enqueues/admin/postbox.js

    r55044 r59988  
    462462                        hidden = $( '.postbox' ).filter( ':hidden' ).map( function() { return this.id; } ).get().join( ',' );
    463463
    464                         $.post(ajaxurl, {
    465                                 action: 'closed-postboxes',
    466                                 closed: closed,
    467                                 hidden: hidden,
    468                                 closedpostboxesnonce: jQuery('#closedpostboxesnonce').val(),
    469                                 page: page
    470                         });
     464                        $.post(
     465                                ajaxurl,
     466                                {
     467                                        action: 'closed-postboxes',
     468                                        closed: closed,
     469                                        hidden: hidden,
     470                                        closedpostboxesnonce: jQuery('#closedpostboxesnonce').val(),
     471                                        page: page
     472                                },
     473                                function() {
     474                                        wp.a11y.speak( __( 'Screen Options updated.' ) );
     475                                }
     476                        );
    471477                },
    472478
  • trunk/src/js/_enqueues/wp/dashboard.js

    r57987 r59988  
    2828         */
    2929        updateWelcomePanel = function( visible ) {
    30                 $.post( ajaxurl, {
    31                         action: 'update-welcome-panel',
    32                         visible: visible,
    33                         welcomepanelnonce: $( '#welcomepanelnonce' ).val()
    34                 });
     30                $.post(
     31                        ajaxurl,
     32                        {
     33                                action: 'update-welcome-panel',
     34                                visible: visible,
     35                                welcomepanelnonce: $( '#welcomepanelnonce' ).val()
     36                        },
     37                        function() {
     38                                wp.a11y.speak( wp.i18n.__( 'Screen Options updated.' ) );
     39                        }
     40                );
    3541        };
    3642
Note: See TracChangeset for help on using the changeset viewer.