Make WordPress Core

Changeset 56024


Ignore:
Timestamp:
06/25/2023 06:42:56 PM (8 months 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.