Make WordPress Core

Changeset 56024


Ignore:
Timestamp:
06/25/2023 06:42:56 PM (3 years ago)
Author:
joedolson
Message:

Upgrade/Install: Add aria-describedby for input descriptions.

Accessibly associate field description text with relevant input fields. Add aria-describedby and target IDs for each description field. Update privacy text note to better reflect relevancy to specific fields.

Props costdev, joedolson.
Fixes #58613.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/install.php

    r56008 r56024  
    124124                        } else {
    125125                                ?>
    126                                 <input name="user_name" type="text" id="user_login" size="25" value="<?php echo esc_attr( sanitize_user( $user_name, true ) ); ?>" />
    127                                 <p><?php _e( 'Usernames can have only alphanumeric characters, spaces, underscores, hyphens, periods, and the @ symbol.' ); ?></p>
     126                                <input name="user_name" type="text" id="user_login" size="25" aria-describedby="user-name-desc" value="<?php echo esc_attr( sanitize_user( $user_name, true ) ); ?>" />
     127                                <p id="user-name-desc"><?php _e( 'Usernames can have only alphanumeric characters, spaces, underscores, hyphens, periods, and the @ symbol.' ); ?></p>
    128128                                <?php
    129129                        }
    … …  
    142142                                        <?php $initial_password = isset( $_POST['admin_password'] ) ? stripslashes( $_POST['admin_password'] ) : wp_generate_password( 18 ); ?>
    143143                                        <div class="password-input-wrapper">
    144                                                 <input type="password" name="admin_password" id="pass1" class="regular-text" autocomplete="new-password" spellcheck="false" data-reveal="1" data-pw="<?php echo esc_attr( $initial_password ); ?>" aria-describedby="pass-strength-result" />
     144                                                <input type="password" name="admin_password" id="pass1" class="regular-text" autocomplete="new-password" spellcheck="false" data-reveal="1" data-pw="<?php echo esc_attr( $initial_password ); ?>" aria-describedby="pass-strength-result admin-password-desc" />
    145145                                                <div id="pass-strength-result" aria-live="polite"></div>
    146146                                        </div>
    … …  
    150150                                        </button>
    151151                                </div>
    152                                 <p><span class="description important hide-if-no-js">
     152                                <p id="admin-password-desc"><span class="description important hide-if-no-js">
    153153                                <strong><?php _e( 'Important:' ); ?></strong>
    154154                                <?php /* translators: The non-breaking space prevents 1Password from thinking the text "log in" should trigger a password save prompt. */ ?>
    … …  
    178178                <tr>
    179179                        <th scope="row"><label for="admin_email"><?php _e( 'Your Email' ); ?></label></th>
    180                         <td><input name="admin_email" type="email" id="admin_email" size="25" value="<?php echo esc_attr( $admin_email ); ?>" />
    181                         <p><?php _e( 'Double-check your email address before continuing.' ); ?></p></td>
     180                        <td><input name="admin_email" type="email" id="admin_email" size="25" aria-describedby="admin-email-desc" value="<?php echo esc_attr( $admin_email ); ?>" />
     181                        <p id="admin-email-desc"><?php _e( 'Double-check your email address before continuing.' ); ?></p></td>
    182182                </tr>
    183183                <tr>
    … …  
    199199                                                <input id="blog-public" type="radio" name="blog_public" value="1" <?php checked( 1, $blog_public ); ?> />
    200200                                                <label for="blog-public"><?php _e( 'Allow search engines to index this site' ); ?></label><br />
    201                                                 <input id="blog-norobots" type="radio" name="blog_public" value="0" <?php checked( 0, $blog_public ); ?> />
     201                                                <input id="blog-norobots" type="radio" name="blog_public"  aria-describedby="public-desc" value="0" <?php checked( 0, $blog_public ); ?> />
    202202                                                <label for="blog-norobots"><?php _e( 'Discourage search engines from indexing this site' ); ?></label>
    203                                                 <p class="description"><?php _e( 'Note: Neither of these options blocks access to your site &mdash; it is up to search engines to honor your request.' ); ?></p>
     203                                                <p id="public-desc" class="description"><?php _e( 'Note: Discouraging search engines does not block access to your site &mdash; it is up to search engines to honor your request.' ); ?></p>
    204204                                                <?php
    205205                                                /** This action is documented in wp-admin/options-reading.php */
    … …  
    207207                                        } else {
    208208                                                ?>
    209                                                 <label for="blog_public"><input name="blog_public" type="checkbox" id="blog_public" value="0" <?php checked( 0, $blog_public ); ?> />
     209                                                <label for="blog_public"><input name="blog_public" type="checkbox" id="blog_public" aria-describedby="privacy-desc" value="0" <?php checked( 0, $blog_public ); ?> />
    210210                                                <?php _e( 'Discourage search engines from indexing this site' ); ?></label>
    211                                                 <p class="description"><?php _e( 'It is up to search engines to honor this request.' ); ?></p>
     211                                                <p id="privacy-desc" class="description"><?php _e( 'It is up to search engines to honor this request.' ); ?></p>
    212212                                        <?php } ?>
    213213                                </fieldset>
Note: See TracChangeset for help on using the changeset viewer.