Make WordPress Core

Changeset 59988


Ignore:
Timestamp:
03/16/2025 07:38:42 PM (6 weeks 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.