diff --git src/wp-admin/user-edit.php src/wp-admin/user-edit.php
index 64f81d68bc..a62132ae18 100644
--- src/wp-admin/user-edit.php
+++ src/wp-admin/user-edit.php
@@ -193,701 +193,698 @@ switch ( $action ) {
 		require_once ABSPATH . 'wp-admin/admin-header.php';
 		?>
 
-		<?php if ( ! IS_PROFILE_PAGE && is_super_admin( $profileuser->ID ) && current_user_can( 'manage_network_options' ) ) { ?>
-	<div class="notice notice-info"><p><strong><?php _e( 'Important:' ); ?></strong> <?php _e( 'This user has super admin privileges.' ); ?></p></div>
-<?php } ?>
-		<?php if ( isset( $_GET['updated'] ) ) : ?>
-<div id="message" class="updated notice is-dismissible">
-			<?php if ( IS_PROFILE_PAGE ) : ?>
-	<p><strong><?php _e( 'Profile updated.' ); ?></strong></p>
-	<?php else : ?>
-	<p><strong><?php _e( 'User updated.' ); ?></strong></p>
-	<?php endif; ?>
-			<?php if ( $wp_http_referer && false === strpos( $wp_http_referer, 'user-new.php' ) && ! IS_PROFILE_PAGE ) : ?>
-	<p><a href="<?php echo esc_url( wp_validate_redirect( esc_url_raw( $wp_http_referer ), self_admin_url( 'users.php' ) ) ); ?>"><?php _e( '&larr; Go to Users' ); ?></a></p>
-	<?php endif; ?>
-</div>
-		<?php endif; ?>
-		<?php if ( isset( $_GET['error'] ) ) : ?>
-<div class="notice notice-error">
-			<?php if ( 'new-email' === $_GET['error'] ) : ?>
-	<p><?php _e( 'Error while saving the new email address. Please try again.' ); ?></p>
-	<?php endif; ?>
-</div>
-		<?php endif; ?>
-		<?php if ( isset( $errors ) && is_wp_error( $errors ) ) : ?>
-<div class="error"><p><?php echo implode( "</p>\n<p>", $errors->get_error_messages() ); ?></p></div>
+		<?php if ( ! IS_PROFILE_PAGE && is_super_admin( $profileuser->ID ) && current_user_can( 'manage_network_options' ) ) : ?>
+			<div class="notice notice-info"><p><strong><?php _e( 'Important:' ); ?></strong> <?php _e( 'This user has super admin privileges.' ); ?></p></div>
 		<?php endif; ?>
 
-<div class="wrap" id="profile-page">
-<h1 class="wp-heading-inline">
-		<?php
-		echo esc_html( $title );
-		?>
-</h1>
-
-		<?php
-		if ( ! IS_PROFILE_PAGE ) {
-			if ( current_user_can( 'create_users' ) ) {
-				?>
-		<a href="user-new.php" class="page-title-action"><?php echo esc_html_x( 'Add New', 'user' ); ?></a>
-	<?php } elseif ( is_multisite() && current_user_can( 'promote_users' ) ) { ?>
-		<a href="user-new.php" class="page-title-action"><?php echo esc_html_x( 'Add Existing', 'user' ); ?></a>
-				<?php
-	}
-		}
-		?>
-
-<hr class="wp-header-end">
-
-<form id="your-profile" action="<?php echo esc_url( self_admin_url( IS_PROFILE_PAGE ? 'profile.php' : 'user-edit.php' ) ); ?>" method="post" novalidate="novalidate"
-		<?php
-		/**
-		 * Fires inside the your-profile form tag on the user editing screen.
-		 *
-		 * @since 3.0.0
-		 */
-		do_action( 'user_edit_form_tag' );
-		?>
-	>
-		<?php wp_nonce_field( 'update-user_' . $user_id ); ?>
-		<?php if ( $wp_http_referer ) : ?>
-	<input type="hidden" name="wp_http_referer" value="<?php echo esc_url( $wp_http_referer ); ?>" />
-		<?php endif; ?>
-<p>
-<input type="hidden" name="from" value="profile" />
-<input type="hidden" name="checkuser_id" value="<?php echo get_current_user_id(); ?>" />
-</p>
-
-<h2><?php _e( 'Personal Options' ); ?></h2>
-
-<table class="form-table" role="presentation">
-		<?php if ( ! ( IS_PROFILE_PAGE && ! $user_can_edit ) ) : ?>
-	<tr class="user-rich-editing-wrap">
-		<th scope="row"><?php _e( 'Visual Editor' ); ?></th>
-		<td>
-			<label for="rich_editing"><input name="rich_editing" type="checkbox" id="rich_editing" value="false" <?php checked( 'false', $profileuser->rich_editing ); ?> />
-				<?php _e( 'Disable the visual editor when writing' ); ?>
-			</label>
-		</td>
-	</tr>
-		<?php endif; ?>
-		<?php
-		$show_syntax_highlighting_preference = (
-		// For Custom HTML widget and Additional CSS in Customizer.
-		user_can( $profileuser, 'edit_theme_options' )
-		||
-		// Edit plugins.
-		user_can( $profileuser, 'edit_plugins' )
-		||
-		// Edit themes.
-		user_can( $profileuser, 'edit_themes' )
-		);
-		?>
-
-		<?php if ( $show_syntax_highlighting_preference ) : ?>
-	<tr class="user-syntax-highlighting-wrap">
-		<th scope="row"><?php _e( 'Syntax Highlighting' ); ?></th>
-		<td>
-			<label for="syntax_highlighting"><input name="syntax_highlighting" type="checkbox" id="syntax_highlighting" value="false" <?php checked( 'false', $profileuser->syntax_highlighting ); ?> />
-				<?php _e( 'Disable syntax highlighting when editing code' ); ?>
-			</label>
-		</td>
-	</tr>
+		<?php if ( isset( $_GET['updated'] ) ) : ?>
+			<div id="message" class="updated notice is-dismissible">
+				<?php if ( IS_PROFILE_PAGE ) : ?>
+					<p><strong><?php _e( 'Profile updated.' ); ?></strong></p>
+				<?php else : ?>
+					<p><strong><?php _e( 'User updated.' ); ?></strong></p>
+				<?php endif; ?>
+				<?php if ( $wp_http_referer && false === strpos( $wp_http_referer, 'user-new.php' ) && ! IS_PROFILE_PAGE ) : ?>
+					<p><a href="<?php echo esc_url( wp_validate_redirect( esc_url_raw( $wp_http_referer ), self_admin_url( 'users.php' ) ) ); ?>"><?php _e( '&larr; Go to Users' ); ?></a></p>
+				<?php endif; ?>
+			</div>
 		<?php endif; ?>
 
-		<?php if ( count( $_wp_admin_css_colors ) > 1 && has_action( 'admin_color_scheme_picker' ) ) : ?>
-	<tr class="user-admin-color-wrap">
-		<th scope="row"><?php _e( 'Admin Color Scheme' ); ?></th>
-		<td>
-			<?php
-			/**
-			 * Fires in the 'Admin Color Scheme' section of the user editing screen.
-			 *
-			 * The section is only enabled if a callback is hooked to the action,
-			 * and if there is more than one defined color scheme for the admin.
-			 *
-			 * @since 3.0.0
-			 * @since 3.8.1 Added `$user_id` parameter.
-			 *
-			 * @param int $user_id The user ID.
-			 */
-			do_action( 'admin_color_scheme_picker', $user_id );
-			?>
-		</td>
-	</tr>
-		<?php endif; // End if count ( $_wp_admin_css_colors ) > 1 ?>
-
-		<?php if ( ! ( IS_PROFILE_PAGE && ! $user_can_edit ) ) : ?>
-	<tr class="user-comment-shortcuts-wrap">
-		<th scope="row"><?php _e( 'Keyboard Shortcuts' ); ?></th>
-		<td>
-			<label for="comment_shortcuts">
-				<input type="checkbox" name="comment_shortcuts" id="comment_shortcuts" value="true" <?php checked( 'true', $profileuser->comment_shortcuts ); ?> />
-				<?php _e( 'Enable keyboard shortcuts for comment moderation.' ); ?>
-			</label>
-			<?php _e( '<a href="https://wordpress.org/support/article/keyboard-shortcuts/" target="_blank">More information</a>' ); ?>
-		</td>
-	</tr>
+		<?php if ( isset( $_GET['error'] ) ) : ?>
+			<div class="notice notice-error">
+			<?php if ( 'new-email' === $_GET['error'] ) : ?>
+				<p><?php _e( 'Error while saving the new email address. Please try again.' ); ?></p>
+			<?php endif; ?>
+			</div>
 		<?php endif; ?>
 
-	<tr class="show-admin-bar user-admin-bar-front-wrap">
-		<th scope="row"><?php _e( 'Toolbar' ); ?></th>
-		<td>
-			<label for="admin_bar_front">
-				<input name="admin_bar_front" type="checkbox" id="admin_bar_front" value="1"<?php checked( _get_admin_bar_pref( 'front', $profileuser->ID ) ); ?> />
-				<?php _e( 'Show Toolbar when viewing site' ); ?>
-			</label><br />
-		</td>
-	</tr>
-
-		<?php
-		$languages = get_available_languages();
-		if ( $languages ) :
-			?>
-	<tr class="user-language-wrap">
-		<th scope="row">
-			<?php /* translators: The user language selection field label. */ ?>
-			<label for="locale"><?php _e( 'Language' ); ?><span class="dashicons dashicons-translation" aria-hidden="true"></span></label>
-		</th>
-		<td>
-			<?php
-				$user_locale = $profileuser->locale;
-
-			if ( 'en_US' === $user_locale ) {
-				$user_locale = '';
-			} elseif ( '' === $user_locale || ! in_array( $user_locale, $languages, true ) ) {
-				$user_locale = 'site-default';
-			}
-
-			wp_dropdown_languages(
-				array(
-					'name'                        => 'locale',
-					'id'                          => 'locale',
-					'selected'                    => $user_locale,
-					'languages'                   => $languages,
-					'show_available_translations' => false,
-					'show_option_site_default'    => true,
-				)
-			);
-			?>
-		</td>
-	</tr>
-			<?php
-endif;
-		?>
-
-		<?php
-		/**
-		 * Fires at the end of the 'Personal Options' settings table on the user editing screen.
-		 *
-		 * @since 2.7.0
-		 *
-		 * @param WP_User $profileuser The current WP_User object.
-		 */
-		do_action( 'personal_options', $profileuser );
-		?>
-
-</table>
-		<?php
-		if ( IS_PROFILE_PAGE ) {
-			/**
-			 * Fires after the 'Personal Options' settings table on the 'Profile' editing screen.
-			 *
-			 * The action only fires if the current user is editing their own profile.
-			 *
-			 * @since 2.0.0
-			 *
-			 * @param WP_User $profileuser The current WP_User object.
-			 */
-			do_action( 'profile_personal_options', $profileuser );
-		}
-		?>
-
-<h2><?php _e( 'Name' ); ?></h2>
-
-<table class="form-table" role="presentation">
-	<tr class="user-user-login-wrap">
-		<th><label for="user_login"><?php _e( 'Username' ); ?></label></th>
-		<td><input type="text" name="user_login" id="user_login" value="<?php echo esc_attr( $profileuser->user_login ); ?>" disabled="disabled" class="regular-text" /> <span class="description"><?php _e( 'Usernames cannot be changed.' ); ?></span></td>
-	</tr>
-
-		<?php if ( ! IS_PROFILE_PAGE && ! is_network_admin() && current_user_can( 'promote_user', $profileuser->ID ) ) : ?>
-<tr class="user-role-wrap"><th><label for="role"><?php _e( 'Role' ); ?></label></th>
-<td><select name="role" id="role">
-			<?php
-			// Compare user role against currently editable roles.
-			$user_roles = array_intersect( array_values( $profileuser->roles ), array_keys( get_editable_roles() ) );
-			$user_role  = reset( $user_roles );
-
-			// Print the full list of roles with the primary one selected.
-			wp_dropdown_roles( $user_role );
-
-			// Print the 'no role' option. Make it selected if the user has no role yet.
-			if ( $user_role ) {
-				echo '<option value="">' . __( '&mdash; No role for this site &mdash;' ) . '</option>';
-			} else {
-				echo '<option value="" selected="selected">' . __( '&mdash; No role for this site &mdash;' ) . '</option>';
-			}
-			?>
-</select></td></tr>
-			<?php
-		endif; // End if ! IS_PROFILE_PAGE.
-
-		if ( is_multisite() && is_network_admin() && ! IS_PROFILE_PAGE && current_user_can( 'manage_network_options' ) && ! isset( $super_admins ) ) {
-			?>
-<tr class="user-super-admin-wrap"><th><?php _e( 'Super Admin' ); ?></th>
-<td>
-			<?php if ( 0 !== strcasecmp( $profileuser->user_email, get_site_option( 'admin_email' ) ) || ! is_super_admin( $profileuser->ID ) ) : ?>
-<p><label><input type="checkbox" id="super_admin" name="super_admin"<?php checked( is_super_admin( $profileuser->ID ) ); ?> /> <?php _e( 'Grant this user super admin privileges for the Network.' ); ?></label></p>
-<?php else : ?>
-<p><?php _e( 'Super admin privileges cannot be removed because this user has the network admin email.' ); ?></p>
-<?php endif; ?>
-</td></tr>
-		<?php } ?>
-
-<tr class="user-first-name-wrap">
-	<th><label for="first_name"><?php _e( 'First Name' ); ?></label></th>
-	<td><input type="text" name="first_name" id="first_name" value="<?php echo esc_attr( $profileuser->first_name ); ?>" class="regular-text" /></td>
-</tr>
-
-<tr class="user-last-name-wrap">
-	<th><label for="last_name"><?php _e( 'Last Name' ); ?></label></th>
-	<td><input type="text" name="last_name" id="last_name" value="<?php echo esc_attr( $profileuser->last_name ); ?>" class="regular-text" /></td>
-</tr>
-
-<tr class="user-nickname-wrap">
-	<th><label for="nickname"><?php _e( 'Nickname' ); ?> <span class="description"><?php _e( '(required)' ); ?></span></label></th>
-	<td><input type="text" name="nickname" id="nickname" value="<?php echo esc_attr( $profileuser->nickname ); ?>" class="regular-text" /></td>
-</tr>
-
-<tr class="user-display-name-wrap">
-	<th><label for="display_name"><?php _e( 'Display name publicly as' ); ?></label></th>
-	<td>
-		<select name="display_name" id="display_name">
-		<?php
-			$public_display                     = array();
-			$public_display['display_nickname'] = $profileuser->nickname;
-			$public_display['display_username'] = $profileuser->user_login;
-
-		if ( ! empty( $profileuser->first_name ) ) {
-			$public_display['display_firstname'] = $profileuser->first_name;
-		}
-
-		if ( ! empty( $profileuser->last_name ) ) {
-			$public_display['display_lastname'] = $profileuser->last_name;
-		}
-
-		if ( ! empty( $profileuser->first_name ) && ! empty( $profileuser->last_name ) ) {
-			$public_display['display_firstlast'] = $profileuser->first_name . ' ' . $profileuser->last_name;
-			$public_display['display_lastfirst'] = $profileuser->last_name . ' ' . $profileuser->first_name;
-		}
-
-		if ( ! in_array( $profileuser->display_name, $public_display, true ) ) { // Only add this if it isn't duplicated elsewhere.
-			$public_display = array( 'display_displayname' => $profileuser->display_name ) + $public_display;
-		}
-
-			$public_display = array_map( 'trim', $public_display );
-			$public_display = array_unique( $public_display );
-
-		foreach ( $public_display as $id => $item ) {
-			?>
-		<option <?php selected( $profileuser->display_name, $item ); ?>><?php echo $item; ?></option>
-			<?php
-		}
-		?>
-		</select>
-		</td>
-	</tr>
-	</table>
-
-	<h2><?php _e( 'Contact Info' ); ?></h2>
-
-	<table class="form-table" role="presentation">
-	<tr class="user-email-wrap">
-		<th><label for="email"><?php _e( 'Email' ); ?> <span class="description"><?php _e( '(required)' ); ?></span></label></th>
-		<td><input type="email" name="email" id="email" aria-describedby="email-description" value="<?php echo esc_attr( $profileuser->user_email ); ?>" class="regular-text ltr" />
-		<?php
-		if ( $profileuser->ID == $current_user->ID ) :
-			?>
-		<p class="description" id="email-description">
-			<?php _e( 'If you change this, we will send you an email at your new address to confirm it. <strong>The new address will not become active until confirmed.</strong>' ); ?>
-		</p>
-			<?php
-		endif;
-
-		$new_email = get_user_meta( $current_user->ID, '_new_email', true );
-		if ( $new_email && $new_email['newemail'] != $current_user->user_email && $profileuser->ID == $current_user->ID ) :
-			?>
-		<div class="updated inline">
-		<p>
-			<?php
-			printf(
-				/* translators: %s: New email. */
-				__( 'There is a pending change of your email to %s.' ),
-				'<code>' . esc_html( $new_email['newemail'] ) . '</code>'
-			);
-			printf(
-				' <a href="%1$s">%2$s</a>',
-				esc_url( wp_nonce_url( self_admin_url( 'profile.php?dismiss=' . $current_user->ID . '_new_email' ), 'dismiss-' . $current_user->ID . '_new_email' ) ),
-				__( 'Cancel' )
-			);
-			?>
-		</p>
-		</div>
+		<?php if ( isset( $errors ) && is_wp_error( $errors ) ) : ?>
+			<div class="error">
+				<p><?php echo implode( "</p>\n<p>", $errors->get_error_messages() ); ?></p>
+			</div>
 		<?php endif; ?>
-	</td>
-	</tr>
-
-	<tr class="user-url-wrap">
-	<th><label for="url"><?php _e( 'Website' ); ?></label></th>
-	<td><input type="url" name="url" id="url" value="<?php echo esc_attr( $profileuser->user_url ); ?>" class="regular-text code" /></td>
-	</tr>
-
-		<?php
-		foreach ( wp_get_user_contact_methods( $profileuser ) as $name => $desc ) {
-			?>
-	<tr class="user-<?php echo $name; ?>-wrap">
-<th><label for="<?php echo $name; ?>">
-			<?php
-			/**
-			 * Filters a user contactmethod label.
-			 *
-			 * The dynamic portion of the hook name, `$name`, refers to
-			 * each of the keys in the contact methods array.
-			 *
-			 * @since 2.9.0
-			 *
-			 * @param string $desc The translatable label for the contact method.
-			 */
-			echo apply_filters( "user_{$name}_label", $desc );
-			?>
-	</label></th>
-	<td><input type="text" name="<?php echo $name; ?>" id="<?php echo $name; ?>" value="<?php echo esc_attr( $profileuser->$name ); ?>" class="regular-text" /></td>
-	</tr>
-			<?php
-		}
-		?>
-	</table>
-
-	<h2><?php IS_PROFILE_PAGE ? _e( 'About Yourself' ) : _e( 'About the user' ); ?></h2>
-
-<table class="form-table" role="presentation">
-<tr class="user-description-wrap">
-	<th><label for="description"><?php _e( 'Biographical Info' ); ?></label></th>
-	<td><textarea name="description" id="description" rows="5" cols="30"><?php echo $profileuser->description; // textarea_escaped ?></textarea>
-	<p class="description"><?php _e( 'Share a little biographical information to fill out your profile. This may be shown publicly.' ); ?></p></td>
-</tr>
-
-		<?php if ( get_option( 'show_avatars' ) ) : ?>
-<tr class="user-profile-picture">
-	<th><?php _e( 'Profile Picture' ); ?></th>
-	<td>
-			<?php echo get_avatar( $user_id ); ?>
-		<p class="description">
-			<?php
-			if ( IS_PROFILE_PAGE ) {
-				$description = sprintf(
-					/* translators: %s: Gravatar URL. */
-					__( '<a href="%s">You can change your profile picture on Gravatar</a>.' ),
-					__( 'https://en.gravatar.com/' )
-				);
-			} else {
-				$description = '';
-			}
 
-			/**
-			 * Filters the user profile picture description displayed under the Gravatar.
-			 *
-			 * @since 4.4.0
-			 * @since 4.7.0 Added the `$profileuser` parameter.
-			 *
-			 * @param string  $description The description that will be printed.
-			 * @param WP_User $profileuser The current WP_User object.
-			 */
-			echo apply_filters( 'user_profile_picture_description', $description, $profileuser );
-			?>
-		</p>
-	</td>
-</tr>
-<?php endif; ?>
-		<?php
-		/**
-		 * Filters the display of the password fields.
-		 *
-		 * @since 1.5.1
-		 * @since 2.8.0 Added the `$profileuser` parameter.
-		 * @since 4.4.0 Now evaluated only in user-edit.php.
-		 *
-		 * @param bool    $show        Whether to show the password fields. Default true.
-		 * @param WP_User $profileuser User object for the current user to edit.
-		 */
-		$show_password_fields = apply_filters( 'show_password_fields', true, $profileuser );
-		if ( $show_password_fields ) :
-			?>
-	</table>
-
-	<h2><?php _e( 'Account Management' ); ?></h2>
-<table class="form-table" role="presentation">
-<tr id="password" class="user-pass1-wrap">
-	<th><label for="pass1"><?php _e( 'New Password' ); ?></label></th>
-	<td>
-		<input class="hidden" value=" " /><!-- #24364 workaround -->
-		<button type="button" class="button wp-generate-pw hide-if-no-js" aria-expanded="false"><?php _e( 'Set New Password' ); ?></button>
-		<div class="wp-pwd hide-if-js">
-			<span class="password-input-wrapper">
-				<input type="password" name="pass1" id="pass1" class="regular-text" value="" autocomplete="off" data-pw="<?php echo esc_attr( wp_generate_password( 24 ) ); ?>" aria-describedby="pass-strength-result" />
-			</span>
-			<button type="button" class="button wp-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php esc_attr_e( 'Hide password' ); ?>">
-				<span class="dashicons dashicons-hidden" aria-hidden="true"></span>
-				<span class="text"><?php _e( 'Hide' ); ?></span>
-			</button>
-			<button type="button" class="button wp-cancel-pw hide-if-no-js" data-toggle="0" aria-label="<?php esc_attr_e( 'Cancel password change' ); ?>">
-				<span class="dashicons dashicons-no" aria-hidden="true"></span>
-				<span class="text"><?php _e( 'Cancel' ); ?></span>
-			</button>
-			<div style="display:none" id="pass-strength-result" aria-live="polite"></div>
-		</div>
-	</td>
-</tr>
-<tr class="user-pass2-wrap hide-if-js">
-	<th scope="row"><label for="pass2"><?php _e( 'Repeat New Password' ); ?></label></th>
-	<td>
-	<input name="pass2" type="password" id="pass2" class="regular-text" value="" autocomplete="off" aria-describedby="pass2-desc" />
-			<?php if ( IS_PROFILE_PAGE ) : ?>
-				<p class="description" id="pass2-desc"><?php _e( 'Type your new password again.' ); ?></p>
-			<?php else : ?>
-				<p class="description" id="pass2-desc"><?php _e( 'Type the new password again.' ); ?></p>
+		<div class="wrap" id="profile-page">
+			<h1 class="wp-heading-inline">
+					<?php echo esc_html( $title ); ?>
+			</h1>
+
+			<?php if ( ! IS_PROFILE_PAGE ) : ?>
+				<?php if ( current_user_can( 'create_users' ) ) : ?>
+					<a href="user-new.php" class="page-title-action"><?php echo esc_html_x( 'Add New', 'user' ); ?></a>
+				<?php elseif ( is_multisite() && current_user_can( 'promote_users' ) ) : ?>
+					<a href="user-new.php" class="page-title-action"><?php echo esc_html_x( 'Add Existing', 'user' ); ?></a>
+				<?php endif; ?>
 			<?php endif; ?>
-	</td>
-</tr>
-<tr class="pw-weak">
-	<th><?php _e( 'Confirm Password' ); ?></th>
-	<td>
-		<label>
-			<input type="checkbox" name="pw_weak" class="pw-checkbox" />
-			<span id="pw-weak-text-label"><?php _e( 'Confirm use of weak password' ); ?></span>
-		</label>
-	</td>
-</tr>
-	<?php endif; ?>
 
-		<?php
-		// Allow admins to send reset password link.
-		if ( ! IS_PROFILE_PAGE ) :
-			?>
-	<tr class="user-generate-reset-link-wrap hide-if-no-js">
-		<th><?php _e( 'Password Reset' ); ?></th>
-		<td>
-			<div class="generate-reset-link">
-				<button type="button" class="button button-secondary" id="generate-reset-link">
-					<?php _e( 'Send Reset Link' ); ?>
-				</button>
-			</div>
-			<p class="description">
-				<?php
-				/* translators: %s: User's display name. */
-				printf( __( 'Send %s a link to reset their password. This will not change their password, nor will it force a change.' ), esc_html( $profileuser->display_name ) );
-				?>
-			</p>
-		</td>
-	</tr>
-		<?php endif; ?>
+			<hr class="wp-header-end">
 
-		<?php
-		if ( IS_PROFILE_PAGE && count( $sessions->get_all() ) === 1 ) :
-			?>
-	<tr class="user-sessions-wrap hide-if-no-js">
-		<th><?php _e( 'Sessions' ); ?></th>
-		<td aria-live="assertive">
-			<div class="destroy-sessions"><button type="button" disabled class="button"><?php _e( 'Log Out Everywhere Else' ); ?></button></div>
-			<p class="description">
-				<?php _e( 'You are only logged in at this location.' ); ?>
-			</p>
-		</td>
-	</tr>
-<?php elseif ( IS_PROFILE_PAGE && count( $sessions->get_all() ) > 1 ) : ?>
-	<tr class="user-sessions-wrap hide-if-no-js">
-		<th><?php _e( 'Sessions' ); ?></th>
-		<td aria-live="assertive">
-			<div class="destroy-sessions"><button type="button" class="button" id="destroy-sessions"><?php _e( 'Log Out Everywhere Else' ); ?></button></div>
-			<p class="description">
-				<?php _e( 'Did you lose your phone or leave your account logged in at a public computer? You can log out everywhere else, and stay logged in here.' ); ?>
-			</p>
-		</td>
-	</tr>
-<?php elseif ( ! IS_PROFILE_PAGE && $sessions->get_all() ) : ?>
-	<tr class="user-sessions-wrap hide-if-no-js">
-		<th><?php _e( 'Sessions' ); ?></th>
-		<td>
-			<p><button type="button" class="button" id="destroy-sessions"><?php _e( 'Log Out Everywhere' ); ?></button></p>
-			<p class="description">
+			<form id="your-profile" action="<?php echo esc_url( self_admin_url( IS_PROFILE_PAGE ? 'profile.php' : 'user-edit.php' ) ); ?>" method="post" novalidate="novalidate"
 				<?php
-				/* translators: %s: User's display name. */
-				printf( __( 'Log %s out of all locations.' ), $profileuser->display_name );
+				/**
+				 * Fires inside the your-profile form tag on the user editing screen.
+				 *
+				 * @since 3.0.0
+				 */
+				do_action( 'user_edit_form_tag' );
 				?>
-			</p>
-		</td>
-	</tr>
-<?php endif; ?>
+				>
+				<?php wp_nonce_field( 'update-user_' . $user_id ); ?>
+				<?php if ( $wp_http_referer ) : ?>
+					<input type="hidden" name="wp_http_referer" value="<?php echo esc_url( $wp_http_referer ); ?>" />
+				<?php endif; ?>
+				<p>
+					<input type="hidden" name="from" value="profile" />
+					<input type="hidden" name="checkuser_id" value="<?php echo get_current_user_id(); ?>" />
+				</p>
+
+				<h2><?php _e( 'Personal Options' ); ?></h2>
+
+				<table class="form-table" role="presentation">
+					<?php if ( ! ( IS_PROFILE_PAGE && ! $user_can_edit ) ) : ?>
+						<tr class="user-rich-editing-wrap">
+							<th scope="row"><?php _e( 'Visual Editor' ); ?></th>
+							<td>
+								<label for="rich_editing"><input name="rich_editing" type="checkbox" id="rich_editing" value="false" <?php checked( 'false', $profileuser->rich_editing ); ?> />
+									<?php _e( 'Disable the visual editor when writing' ); ?>
+								</label>
+							</td>
+						</tr>
+					<?php endif; ?>
 
-	</table>
-
-<?php if ( wp_is_application_passwords_available_for_user( $user_id ) || ! wp_is_application_passwords_supported() ) : // phpcs:disable Generic.WhiteSpace.ScopeIndent ?>
-	<div class="application-passwords hide-if-no-js" id="application-passwords-section">
-		<h2><?php _e( 'Application Passwords' ); ?></h2>
-		<p><?php _e( 'Application passwords allow authentication via non-interactive systems, such as XML-RPC or the REST API, without providing your actual password. Application passwords can be easily revoked. They cannot be used for traditional logins to your website.' ); ?></p>
-		<?php if ( wp_is_application_passwords_available_for_user( $user_id ) ) : ?>
-			<?php
-			if ( is_multisite() ) {
-				$blogs       = get_blogs_of_user( $user_id, true );
-				$blogs_count = count( $blogs );
-				if ( $blogs_count > 1 ) {
-					?>
-					<p>
-						<?php
-						printf(
-							/* translators: 1: URL to my-sites.php, 2: Number of sites the user has. */
-							_n(
-								'Application passwords grant access to <a href="%1$s">the %2$s site in this installation that you have permissions on</a>.',
-								'Application passwords grant access to <a href="%1$s">all %2$s sites in this installation that you have permissions on</a>.',
-								$blogs_count
-							),
-							admin_url( 'my-sites.php' ),
-							number_format_i18n( $blogs_count )
-						);
-						?>
-					</p>
 					<?php
-				}
-			}
+					$show_syntax_highlighting_preference = (
+					// For Custom HTML widget and Additional CSS in Customizer.
+					user_can( $profileuser, 'edit_theme_options' )
+					||
+					// Edit plugins.
+					user_can( $profileuser, 'edit_plugins' )
+					||
+					// Edit themes.
+					user_can( $profileuser, 'edit_themes' )
+					);
+					?>
 
-			if ( ! wp_is_site_protected_by_basic_auth( 'front' ) ) {
-				?>
-			<div class="create-application-password form-wrap">
-				<div class="form-field">
-					<label for="new_application_password_name"><?php _e( 'New Application Password Name' ); ?></label>
-					<input type="text" size="30" id="new_application_password_name" name="new_application_password_name" class="input" aria-required="true" aria-describedby="new_application_password_name_desc" />
-					<p class="description" id="new_application_password_name_desc"><?php _e( 'Required to create an Application Password, but not to update the user.' ); ?></p>
-				</div>
+					<?php if ( $show_syntax_highlighting_preference ) : ?>
+					<tr class="user-syntax-highlighting-wrap">
+						<th scope="row"><?php _e( 'Syntax Highlighting' ); ?></th>
+						<td>
+							<label for="syntax_highlighting"><input name="syntax_highlighting" type="checkbox" id="syntax_highlighting" value="false" <?php checked( 'false', $profileuser->syntax_highlighting ); ?> />
+								<?php _e( 'Disable syntax highlighting when editing code' ); ?>
+							</label>
+						</td>
+					</tr>
+					<?php endif; ?>
+
+					<?php if ( count( $_wp_admin_css_colors ) > 1 && has_action( 'admin_color_scheme_picker' ) ) : ?>
+					<tr class="user-admin-color-wrap">
+						<th scope="row"><?php _e( 'Admin Color Scheme' ); ?></th>
+						<td>
+							<?php
+							/**
+							 * Fires in the 'Admin Color Scheme' section of the user editing screen.
+							 *
+							 * The section is only enabled if a callback is hooked to the action,
+							 * and if there is more than one defined color scheme for the admin.
+							 *
+							 * @since 3.0.0
+							 * @since 3.8.1 Added `$user_id` parameter.
+							 *
+							 * @param int $user_id The user ID.
+							 */
+							do_action( 'admin_color_scheme_picker', $user_id );
+							?>
+						</td>
+					</tr>
+					<?php endif; // End if count ( $_wp_admin_css_colors ) > 1 ?>
+
+					<?php if ( ! ( IS_PROFILE_PAGE && ! $user_can_edit ) ) : ?>
+					<tr class="user-comment-shortcuts-wrap">
+						<th scope="row"><?php _e( 'Keyboard Shortcuts' ); ?></th>
+						<td>
+							<label for="comment_shortcuts">
+								<input type="checkbox" name="comment_shortcuts" id="comment_shortcuts" value="true" <?php checked( 'true', $profileuser->comment_shortcuts ); ?> />
+								<?php _e( 'Enable keyboard shortcuts for comment moderation.' ); ?>
+							</label>
+							<?php _e( '<a href="https://wordpress.org/support/article/keyboard-shortcuts/" target="_blank">More information</a>' ); ?>
+						</td>
+					</tr>
+					<?php endif; ?>
+
+					<tr class="show-admin-bar user-admin-bar-front-wrap">
+						<th scope="row"><?php _e( 'Toolbar' ); ?></th>
+						<td>
+							<label for="admin_bar_front">
+								<input name="admin_bar_front" type="checkbox" id="admin_bar_front" value="1"<?php checked( _get_admin_bar_pref( 'front', $profileuser->ID ) ); ?> />
+								<?php _e( 'Show Toolbar when viewing site' ); ?>
+							</label><br />
+						</td>
+					</tr>
+
+					<?php $languages = get_available_languages(); ?>
+					<?php if ( $languages ) : ?>
+					<tr class="user-language-wrap">
+						<th scope="row">
+							<?php /* translators: The user language selection field label. */ ?>
+							<label for="locale"><?php _e( 'Language' ); ?><span class="dashicons dashicons-translation" aria-hidden="true"></span></label>
+						</th>
+						<td>
+							<?php
+								$user_locale = $profileuser->locale;
+
+							if ( 'en_US' === $user_locale ) {
+								$user_locale = '';
+							} elseif ( '' === $user_locale || ! in_array( $user_locale, $languages, true ) ) {
+								$user_locale = 'site-default';
+							}
+
+							// phpcs:disable WordPress.Arrays.MultipleStatementAlignment.DoubleArrowNotAligned
+							// phpcs:disable WordPress.Arrays.MultipleStatementAlignment.LongIndexSpaceBeforeDoubleArrow
+							wp_dropdown_languages(
+								array(
+									'name'                        => 'locale',
+									'id'                          => 'locale',
+									'selected'                    => $user_locale,
+									'languages'                   => $languages,
+									'show_available_translations' => false,
+									'show_option_site_default'    => true,
+								)
+							);
+							// phpcs:enable
+							?>
+						</td>
+					</tr>
+					<?php endif; ?>
 
-				<?php
-				/**
-				 * Fires in the create Application Passwords form.
-				 *
-				 * @since 5.6.0
-				 *
-				 * @param WP_User $profileuser The current WP_User object.
-				 */
-				do_action( 'wp_create_application_password_form', $profileuser );
-				?>
+					<?php
+					/**
+					 * Fires at the end of the 'Personal Options' settings table on the user editing screen.
+					 *
+					 * @since 2.7.0
+					 *
+					 * @param WP_User $profileuser The current WP_User object.
+					 */
+					do_action( 'personal_options', $profileuser );
+					?>
 
-				<button type="button" name="do_new_application_password" id="do_new_application_password" class="button button-secondary"><?php _e( 'Add New Application Password' ); ?></button>
-			</div>
-		<?php } else { ?>
-			<div class="notice notice-error inline">
-				<p><?php _e( 'Your website appears to use Basic Authentication, which is not currently compatible with Application Passwords.' ); ?></p>
-			</div>
-		<?php } ?>
-
-		<div class="application-passwords-list-table-wrapper">
-			<?php
-			$application_passwords_list_table = _get_list_table( 'WP_Application_Passwords_List_Table', array( 'screen' => 'application-passwords-user' ) );
-			$application_passwords_list_table->prepare_items();
-			$application_passwords_list_table->display();
-			?>
-		</div>
-		<?php elseif ( ! wp_is_application_passwords_supported() ) : ?>
-			<p><?php _e( 'The application password feature requires HTTPS, which is not enabled on this site.' ); ?></p>
-			<p>
+				</table>
 				<?php
-				printf(
-					/* translators: %s: Documentation URL. */
-					__( 'If this is a development website you can <a href="%s" target="_blank">set the environment type accordingly</a> to enable application passwords.' ),
-					__( 'https://wordpress.org/support/article/editing-wp-config-php/#wp_environment_type' )
-				);
+				if ( IS_PROFILE_PAGE ) {
+					/**
+					 * Fires after the 'Personal Options' settings table on the 'Profile' editing screen.
+					 *
+					 * The action only fires if the current user is editing their own profile.
+					 *
+					 * @since 2.0.0
+					 *
+					 * @param WP_User $profileuser The current WP_User object.
+					 */
+					do_action( 'profile_personal_options', $profileuser );
+				}
 				?>
-			</p>
-		<?php endif; ?>
-	</div>
-<?php endif; // phpcs:enable Generic.WhiteSpace.ScopeIndent ?>
-
-		<?php
-		if ( IS_PROFILE_PAGE ) {
-			/**
-			 * Fires after the 'About Yourself' settings table on the 'Profile' editing screen.
-			 *
-			 * The action only fires if the current user is editing their own profile.
-			 *
-			 * @since 2.0.0
-			 *
-			 * @param WP_User $profileuser The current WP_User object.
-			 */
-			do_action( 'show_user_profile', $profileuser );
-		} else {
-			/**
-			 * Fires after the 'About the User' settings table on the 'Edit User' screen.
-			 *
-			 * @since 2.0.0
-			 *
-			 * @param WP_User $profileuser The current WP_User object.
-			 */
-			do_action( 'edit_user_profile', $profileuser );
-		}
-		?>
 
-		<?php
-		/**
-		 * Filters whether to display additional capabilities for the user.
-		 *
-		 * The 'Additional Capabilities' section will only be enabled if
-		 * the number of the user's capabilities exceeds their number of
-		 * roles.
-		 *
-		 * @since 2.8.0
-		 *
-		 * @param bool    $enable      Whether to display the capabilities. Default true.
-		 * @param WP_User $profileuser The current WP_User object.
-		 */
-		if ( count( $profileuser->caps ) > count( $profileuser->roles )
-		&& apply_filters( 'additional_capabilities_display', true, $profileuser )
-		) :
-			?>
-	<h2><?php _e( 'Additional Capabilities' ); ?></h2>
-<table class="form-table" role="presentation">
-<tr class="user-capabilities-wrap">
-	<th scope="row"><?php _e( 'Capabilities' ); ?></th>
-	<td>
-			<?php
-			$output = '';
-			foreach ( $profileuser->caps as $cap => $value ) {
-				if ( ! $wp_roles->is_role( $cap ) ) {
-					if ( '' != $output ) {
-						$output .= ', ';
-					}
+				<h2><?php _e( 'Name' ); ?></h2>
+
+				<table class="form-table" role="presentation">
+					<tr class="user-user-login-wrap">
+						<th><label for="user_login"><?php _e( 'Username' ); ?></label></th>
+						<td><input type="text" name="user_login" id="user_login" value="<?php echo esc_attr( $profileuser->user_login ); ?>" disabled="disabled" class="regular-text" /> <span class="description"><?php _e( 'Usernames cannot be changed.' ); ?></span></td>
+					</tr>
+
+					<?php if ( ! IS_PROFILE_PAGE && ! is_network_admin() && current_user_can( 'promote_user', $profileuser->ID ) ) : ?>
+						<tr class="user-role-wrap">
+							<th><label for="role"><?php _e( 'Role' ); ?></label></th>
+							<td>
+								<select name="role" id="role">
+									<?php
+									// Compare user role against currently editable roles.
+									$user_roles = array_intersect( array_values( $profileuser->roles ), array_keys( get_editable_roles() ) );
+									$user_role  = reset( $user_roles );
+
+									// Print the full list of roles with the primary one selected.
+									wp_dropdown_roles( $user_role );
+
+									// Print the 'no role' option. Make it selected if the user has no role yet.
+									if ( $user_role ) {
+										echo '<option value="">' . __( '&mdash; No role for this site &mdash;' ) . '</option>';
+									} else {
+										echo '<option value="" selected="selected">' . __( '&mdash; No role for this site &mdash;' ) . '</option>';
+									}
+									?>
+							</select>
+							</td>
+						</tr>
+					<?php endif; // End if ! IS_PROFILE_PAGE. ?>
+
+					<?php if ( is_multisite() && is_network_admin() && ! IS_PROFILE_PAGE && current_user_can( 'manage_network_options' ) && ! isset( $super_admins ) ) : ?>
+						<tr class="user-super-admin-wrap">
+							<th><?php _e( 'Super Admin' ); ?></th>
+							<td>
+								<?php if ( 0 !== strcasecmp( $profileuser->user_email, get_site_option( 'admin_email' ) ) || ! is_super_admin( $profileuser->ID ) ) : ?>
+									<p><label><input type="checkbox" id="super_admin" name="super_admin"<?php checked( is_super_admin( $profileuser->ID ) ); ?> /> <?php _e( 'Grant this user super admin privileges for the Network.' ); ?></label></p>
+								<?php else : ?>
+									<p><?php _e( 'Super admin privileges cannot be removed because this user has the network admin email.' ); ?></p>
+								<?php endif; ?>
+							</td>
+						</tr>
+					<?php endif; ?>
+
+					<tr class="user-first-name-wrap">
+						<th><label for="first_name"><?php _e( 'First Name' ); ?></label></th>
+						<td><input type="text" name="first_name" id="first_name" value="<?php echo esc_attr( $profileuser->first_name ); ?>" class="regular-text" /></td>
+					</tr>
+
+					<tr class="user-last-name-wrap">
+						<th><label for="last_name"><?php _e( 'Last Name' ); ?></label></th>
+						<td><input type="text" name="last_name" id="last_name" value="<?php echo esc_attr( $profileuser->last_name ); ?>" class="regular-text" /></td>
+					</tr>
+
+					<tr class="user-nickname-wrap">
+						<th><label for="nickname"><?php _e( 'Nickname' ); ?> <span class="description"><?php _e( '(required)' ); ?></span></label></th>
+						<td><input type="text" name="nickname" id="nickname" value="<?php echo esc_attr( $profileuser->nickname ); ?>" class="regular-text" /></td>
+					</tr>
+
+					<tr class="user-display-name-wrap">
+						<th>
+							<label for="display_name"><?php _e( 'Display name publicly as' ); ?></label>
+						</th>
+						<td>
+							<select name="display_name" id="display_name">
+								<?php
+									$public_display                     = array();
+									$public_display['display_nickname'] = $profileuser->nickname;
+									$public_display['display_username'] = $profileuser->user_login;
+
+								if ( ! empty( $profileuser->first_name ) ) {
+									$public_display['display_firstname'] = $profileuser->first_name;
+								}
+
+								if ( ! empty( $profileuser->last_name ) ) {
+									$public_display['display_lastname'] = $profileuser->last_name;
+								}
+
+								if ( ! empty( $profileuser->first_name ) && ! empty( $profileuser->last_name ) ) {
+									$public_display['display_firstlast'] = $profileuser->first_name . ' ' . $profileuser->last_name;
+									$public_display['display_lastfirst'] = $profileuser->last_name . ' ' . $profileuser->first_name;
+								}
+
+								if ( ! in_array( $profileuser->display_name, $public_display, true ) ) { // Only add this if it isn't duplicated elsewhere.
+									$public_display = array( 'display_displayname' => $profileuser->display_name ) + $public_display;
+								}
+
+								$public_display = array_map( 'trim', $public_display );
+								$public_display = array_unique( $public_display );
+
+								?>
+								<?php foreach ( $public_display as $id => $item ) : ?>
+									<option <?php selected( $profileuser->display_name, $item ); ?>><?php echo $item; ?></option>
+								<?php endforeach; ?>
+							</select>
+						</td>
+					</tr>
+				</table>
+
+				<h2><?php _e( 'Contact Info' ); ?></h2>
+
+				<table class="form-table" role="presentation">
+					<tr class="user-email-wrap">
+						<th><label for="email"><?php _e( 'Email' ); ?> <span class="description"><?php _e( '(required)' ); ?></span></label></th>
+						<td>
+							<input type="email" name="email" id="email" aria-describedby="email-description" value="<?php echo esc_attr( $profileuser->user_email ); ?>" class="regular-text ltr" />
+							<?php if ( $profileuser->ID == $current_user->ID ) : ?>
+								<p class="description" id="email-description">
+									<?php _e( 'If you change this, we will send you an email at your new address to confirm it. <strong>The new address will not become active until confirmed.</strong>' ); ?>
+								</p>
+							<?php endif; ?>
+
+							<?php $new_email = get_user_meta( $current_user->ID, '_new_email', true ); ?>
+							<?php if ( $new_email && $new_email['newemail'] != $current_user->user_email && $profileuser->ID == $current_user->ID ) : ?>
+							<div class="updated inline">
+								<p>
+									<?php
+									printf(
+										/* translators: %s: New email. */
+										__( 'There is a pending change of your email to %s.' ),
+										'<code>' . esc_html( $new_email['newemail'] ) . '</code>'
+									);
+									printf(
+										' <a href="%1$s">%2$s</a>',
+										esc_url( wp_nonce_url( self_admin_url( 'profile.php?dismiss=' . $current_user->ID . '_new_email' ), 'dismiss-' . $current_user->ID . '_new_email' ) ),
+										__( 'Cancel' )
+									);
+									?>
+								</p>
+							</div>
+							<?php endif; ?>
+						</td>
+					</tr>
+
+					<tr class="user-url-wrap">
+						<th><label for="url"><?php _e( 'Website' ); ?></label></th>
+						<td><input type="url" name="url" id="url" value="<?php echo esc_attr( $profileuser->user_url ); ?>" class="regular-text code" /></td>
+					</tr>
+
+					<?php foreach ( wp_get_user_contact_methods( $profileuser ) as $name => $desc ) : ?>
+					<tr class="user-<?php echo $name; ?>-wrap">
+						<th>
+							<label for="<?php echo $name; ?>">
+							<?php
+							/**
+							 * Filters a user contactmethod label.
+							 *
+							 * The dynamic portion of the hook name, `$name`, refers to
+							 * each of the keys in the contact methods array.
+							 *
+							 * @since 2.9.0
+							 *
+							 * @param string $desc The translatable label for the contact method.
+							 */
+							echo apply_filters( "user_{$name}_label", $desc );
+							?>
+							</label>
+						</th>
+						<td>
+							<input type="text" name="<?php echo $name; ?>" id="<?php echo $name; ?>" value="<?php echo esc_attr( $profileuser->$name ); ?>" class="regular-text" />
+						</td>
+					</tr>
+					<?php endforeach; ?>
+				</table>
+
+				<h2><?php IS_PROFILE_PAGE ? _e( 'About Yourself' ) : _e( 'About the user' ); ?></h2>
+
+				<table class="form-table" role="presentation">
+					<tr class="user-description-wrap">
+						<th><label for="description"><?php _e( 'Biographical Info' ); ?></label></th>
+						<td><textarea name="description" id="description" rows="5" cols="30"><?php echo $profileuser->description; // textarea_escaped ?></textarea>
+						<p class="description"><?php _e( 'Share a little biographical information to fill out your profile. This may be shown publicly.' ); ?></p></td>
+					</tr>
+
+					<?php if ( get_option( 'show_avatars' ) ) : ?>
+						<tr class="user-profile-picture">
+							<th><?php _e( 'Profile Picture' ); ?></th>
+							<td>
+								<?php echo get_avatar( $user_id ); ?>
+								<p class="description">
+									<?php
+									if ( IS_PROFILE_PAGE ) {
+										$description = sprintf(
+											/* translators: %s: Gravatar URL. */
+											__( '<a href="%s">You can change your profile picture on Gravatar</a>.' ),
+											__( 'https://en.gravatar.com/' )
+										);
+									} else {
+										$description = '';
+									}
+
+									/**
+									 * Filters the user profile picture description displayed under the Gravatar.
+									 *
+									 * @since 4.4.0
+									 * @since 4.7.0 Added the `$profileuser` parameter.
+									 *
+									 * @param string  $description The description that will be printed.
+									 * @param WP_User $profileuser The current WP_User object.
+									 */
+									echo apply_filters( 'user_profile_picture_description', $description, $profileuser );
+									?>
+								</p>
+							</td>
+						</tr>
+					<?php endif; ?>
+					<?php
+					/**
+					 * Filters the display of the password fields.
+					 *
+					 * @since 1.5.1
+					 * @since 2.8.0 Added the `$profileuser` parameter.
+					 * @since 4.4.0 Now evaluated only in user-edit.php.
+					 *
+					 * @param bool    $show        Whether to show the password fields. Default true.
+					 * @param WP_User $profileuser User object for the current user to edit.
+					 */
+					$show_password_fields = apply_filters( 'show_password_fields', true, $profileuser );
+					?>
+					<?php if ( $show_password_fields ) : ?>
+						</table>
+
+						<h2><?php _e( 'Account Management' ); ?></h2>
+
+						<table class="form-table" role="presentation">
+							<tr id="password" class="user-pass1-wrap">
+								<th><label for="pass1"><?php _e( 'New Password' ); ?></label></th>
+								<td>
+									<input class="hidden" value=" " /><!-- #24364 workaround -->
+									<button type="button" class="button wp-generate-pw hide-if-no-js" aria-expanded="false"><?php _e( 'Set New Password' ); ?></button>
+									<div class="wp-pwd hide-if-js">
+										<span class="password-input-wrapper">
+											<input type="password" name="pass1" id="pass1" class="regular-text" value="" autocomplete="off" data-pw="<?php echo esc_attr( wp_generate_password( 24 ) ); ?>" aria-describedby="pass-strength-result" />
+										</span>
+										<button type="button" class="button wp-hide-pw hide-if-no-js" data-toggle="0" aria-label="<?php esc_attr_e( 'Hide password' ); ?>">
+											<span class="dashicons dashicons-hidden" aria-hidden="true"></span>
+											<span class="text"><?php _e( 'Hide' ); ?></span>
+										</button>
+										<button type="button" class="button wp-cancel-pw hide-if-no-js" data-toggle="0" aria-label="<?php esc_attr_e( 'Cancel password change' ); ?>">
+											<span class="dashicons dashicons-no" aria-hidden="true"></span>
+											<span class="text"><?php _e( 'Cancel' ); ?></span>
+										</button>
+										<div style="display:none" id="pass-strength-result" aria-live="polite"></div>
+									</div>
+								</td>
+							</tr>
+							<tr class="user-pass2-wrap hide-if-js">
+								<th scope="row"><label for="pass2"><?php _e( 'Repeat New Password' ); ?></label></th>
+								<td>
+								<input name="pass2" type="password" id="pass2" class="regular-text" value="" autocomplete="off" aria-describedby="pass2-desc" />
+									<?php if ( IS_PROFILE_PAGE ) : ?>
+										<p class="description" id="pass2-desc"><?php _e( 'Type your new password again.' ); ?></p>
+									<?php else : ?>
+										<p class="description" id="pass2-desc"><?php _e( 'Type the new password again.' ); ?></p>
+									<?php endif; ?>
+								</td>
+							</tr>
+							<tr class="pw-weak">
+								<th><?php _e( 'Confirm Password' ); ?></th>
+								<td>
+									<label>
+										<input type="checkbox" name="pw_weak" class="pw-checkbox" />
+										<span id="pw-weak-text-label"><?php _e( 'Confirm use of weak password' ); ?></span>
+									</label>
+								</td>
+							</tr>
+							<?php endif; // End Show Password Fields. ?>
+
+							<?php // Allow admins to send reset password link. ?>
+							<?php if ( ! IS_PROFILE_PAGE ) : ?>
+								<tr class="user-generate-reset-link-wrap hide-if-no-js">
+									<th><?php _e( 'Password Reset' ); ?></th>
+									<td>
+										<div class="generate-reset-link">
+											<button type="button" class="button button-secondary" id="generate-reset-link">
+												<?php _e( 'Send Reset Link' ); ?>
+											</button>
+										</div>
+										<p class="description">
+											<?php
+											/* translators: %s: User's display name. */
+											printf( __( 'Send %s a link to reset their password. This will not change their password, nor will it force a change.' ), esc_html( $profileuser->display_name ) );
+											?>
+										</p>
+									</td>
+								</tr>
+							<?php endif; ?>
+
+							<?php if ( IS_PROFILE_PAGE && count( $sessions->get_all() ) === 1 ) : ?>
+								<tr class="user-sessions-wrap hide-if-no-js">
+									<th><?php _e( 'Sessions' ); ?></th>
+									<td aria-live="assertive">
+										<div class="destroy-sessions"><button type="button" disabled class="button"><?php _e( 'Log Out Everywhere Else' ); ?></button></div>
+										<p class="description">
+											<?php _e( 'You are only logged in at this location.' ); ?>
+										</p>
+									</td>
+								</tr>
+							<?php elseif ( IS_PROFILE_PAGE && count( $sessions->get_all() ) > 1 ) : ?>
+								<tr class="user-sessions-wrap hide-if-no-js">
+									<th><?php _e( 'Sessions' ); ?></th>
+									<td aria-live="assertive">
+										<div class="destroy-sessions"><button type="button" class="button" id="destroy-sessions"><?php _e( 'Log Out Everywhere Else' ); ?></button></div>
+										<p class="description">
+											<?php _e( 'Did you lose your phone or leave your account logged in at a public computer? You can log out everywhere else, and stay logged in here.' ); ?>
+										</p>
+									</td>
+								</tr>
+							<?php elseif ( ! IS_PROFILE_PAGE && $sessions->get_all() ) : ?>
+								<tr class="user-sessions-wrap hide-if-no-js">
+									<th><?php _e( 'Sessions' ); ?></th>
+									<td>
+										<p><button type="button" class="button" id="destroy-sessions"><?php _e( 'Log Out Everywhere' ); ?></button></p>
+										<p class="description">
+											<?php
+											/* translators: %s: User's display name. */
+											printf( __( 'Log %s out of all locations.' ), $profileuser->display_name );
+											?>
+										</p>
+									</td>
+								</tr>
+							<?php endif; ?>
+						</table>
+
+					<?php if ( wp_is_application_passwords_available_for_user( $user_id ) || ! wp_is_application_passwords_supported() ) : ?>
+						<div class="application-passwords hide-if-no-js" id="application-passwords-section">
+							<h2><?php _e( 'Application Passwords' ); ?></h2>
+							<p><?php _e( 'Application passwords allow authentication via non-interactive systems, such as XML-RPC or the REST API, without providing your actual password. Application passwords can be easily revoked. They cannot be used for traditional logins to your website.' ); ?></p>
+							<?php if ( wp_is_application_passwords_available_for_user( $user_id ) ) : ?>
+								<?php
+								if ( is_multisite() ) :
+									$blogs       = get_blogs_of_user( $user_id, true );
+									$blogs_count = count( $blogs );
+									if ( $blogs_count > 1 ) :
+										?>
+										<p>
+											<?php
+											printf(
+												/* translators: 1: URL to my-sites.php, 2: Number of sites the user has. */
+												_n(
+													'Application passwords grant access to <a href="%1$s">the %2$s site in this installation that you have permissions on</a>.',
+													'Application passwords grant access to <a href="%1$s">all %2$s sites in this installation that you have permissions on</a>.',
+													$blogs_count
+												),
+												admin_url( 'my-sites.php' ),
+												number_format_i18n( $blogs_count )
+											);
+											?>
+										</p>
+										<?php
+									endif;
+								endif;
+								?>
+
+								<?php if ( ! wp_is_site_protected_by_basic_auth( 'front' ) ) : ?>
+									<div class="create-application-password form-wrap">
+										<div class="form-field">
+											<label for="new_application_password_name"><?php _e( 'New Application Password Name' ); ?></label>
+											<input type="text" size="30" id="new_application_password_name" name="new_application_password_name" class="input" aria-required="true" aria-describedby="new_application_password_name_desc" />
+											<p class="description" id="new_application_password_name_desc"><?php _e( 'Required to create an Application Password, but not to update the user.' ); ?></p>
+										</div>
+
+										<?php
+										/**
+										 * Fires in the create Application Passwords form.
+										 *
+										 * @since 5.6.0
+										 *
+										 * @param WP_User $profileuser The current WP_User object.
+										 */
+										do_action( 'wp_create_application_password_form', $profileuser );
+										?>
+
+										<button type="button" name="do_new_application_password" id="do_new_application_password" class="button button-secondary"><?php _e( 'Add New Application Password' ); ?></button>
+									</div>
+								<?php else : ?>
+									<div class="notice notice-error inline">
+										<p><?php _e( 'Your website appears to use Basic Authentication, which is not currently compatible with Application Passwords.' ); ?></p>
+									</div>
+								<?php endif; ?>
+
+								<div class="application-passwords-list-table-wrapper">
+									<?php
+									$application_passwords_list_table = _get_list_table( 'WP_Application_Passwords_List_Table', array( 'screen' => 'application-passwords-user' ) );
+									$application_passwords_list_table->prepare_items();
+									$application_passwords_list_table->display();
+									?>
+								</div>
+							<?php elseif ( ! wp_is_application_passwords_supported() ) : ?>
+								<p><?php _e( 'The application password feature requires HTTPS, which is not enabled on this site.' ); ?></p>
+								<p>
+									<?php
+									printf(
+										/* translators: %s: Documentation URL. */
+										__( 'If this is a development website you can <a href="%s" target="_blank">set the environment type accordingly</a> to enable application passwords.' ),
+										__( 'https://wordpress.org/support/article/editing-wp-config-php/#wp_environment_type' )
+									);
+									?>
+								</p>
+							<?php endif; ?>
+						</div>
+					<?php endif; // End Application Passwords. ?>
 
-					if ( $value ) {
-						$output .= $cap;
+					<?php
+					if ( IS_PROFILE_PAGE ) {
+						/**
+						 * Fires after the 'About Yourself' settings table on the 'Profile' editing screen.
+						 *
+						 * The action only fires if the current user is editing their own profile.
+						 *
+						 * @since 2.0.0
+						 *
+						 * @param WP_User $profileuser The current WP_User object.
+						 */
+						do_action( 'show_user_profile', $profileuser );
 					} else {
-						/* translators: %s: Capability name. */
-						$output .= sprintf( __( 'Denied: %s' ), $cap );
+						/**
+						 * Fires after the 'About the User' settings table on the 'Edit User' screen.
+						 *
+						 * @since 2.0.0
+						 *
+						 * @param WP_User $profileuser The current WP_User object.
+						 */
+						do_action( 'edit_user_profile', $profileuser );
 					}
-				}
-			}
-			echo $output;
-			?>
-	</td>
-</tr>
-</table>
-	<?php endif; ?>
-
-<input type="hidden" name="action" value="update" />
-<input type="hidden" name="user_id" id="user_id" value="<?php echo esc_attr( $user_id ); ?>" />
+					?>
 
-		<?php submit_button( IS_PROFILE_PAGE ? __( 'Update Profile' ) : __( 'Update User' ) ); ?>
+					<?php
+					/**
+					 * Filters whether to display additional capabilities for the user.
+					 *
+					 * The 'Additional Capabilities' section will only be enabled if
+					 * the number of the user's capabilities exceeds their number of
+					 * roles.
+					 *
+					 * @since 2.8.0
+					 *
+					 * @param bool    $enable      Whether to display the capabilities. Default true.
+					 * @param WP_User $profileuser The current WP_User object.
+					 */
+					$display_additional_caps = apply_filters( 'additional_capabilities_display', true, $profileuser );
+					?>
 
-</form>
-</div>
+				<?php if ( count( $profileuser->caps ) > count( $profileuser->roles ) && ( true === $display_additional_caps ) ) : ?>
+					<h2><?php _e( 'Additional Capabilities' ); ?></h2>
+
+					<table class="form-table" role="presentation">
+						<tr class="user-capabilities-wrap">
+							<th scope="row"><?php _e( 'Capabilities' ); ?></th>
+							<td>
+								<?php
+								$output = '';
+								foreach ( $profileuser->caps as $cap => $value ) {
+									if ( ! $wp_roles->is_role( $cap ) ) {
+										if ( '' != $output ) {
+											$output .= ', ';
+										}
+
+										if ( $value ) {
+											$output .= $cap;
+										} else {
+											/* translators: %s: Capability name. */
+											$output .= sprintf( __( 'Denied: %s' ), $cap );
+										}
+									}
+								}
+								echo $output;
+								?>
+							</td>
+						</tr>
+					</table>
+				<?php endif; // End Display Additional Capabilities. ?>
+
+				<input type="hidden" name="action" value="update" />
+				<input type="hidden" name="user_id" id="user_id" value="<?php echo esc_attr( $user_id ); ?>" />
+
+				<?php submit_button( IS_PROFILE_PAGE ? __( 'Update Profile' ) : __( 'Update User' ) ); ?>
+
+			</form>
+		</div>
 		<?php
 		break;
 }
