Index: src/bp-templates/bp-legacy/buddypress/members/register.php
===================================================================
--- src/bp-templates/bp-legacy/buddypress/members/register.php	(revision 11609)
+++ src/bp-templates/bp-legacy/buddypress/members/register.php	(working copy)
@@ -222,8 +222,6 @@
 							 */
 							do_action( 'bp_custom_profile_edit_fields' ); ?>
 
-							<p class="description"><?php bp_the_profile_field_description(); ?></p>
-
 						</div>
 
 					<?php endwhile; ?>
Index: src/bp-templates/bp-legacy/buddypress/members/single/profile/edit.php
===================================================================
--- src/bp-templates/bp-legacy/buddypress/members/single/profile/edit.php	(revision 11609)
+++ src/bp-templates/bp-legacy/buddypress/members/single/profile/edit.php	(working copy)
@@ -91,7 +91,6 @@
 				 */
 				do_action( 'bp_custom_profile_edit_fields' ); ?>
 
-				<p class="description"><?php bp_the_profile_field_description(); ?></p>
 			</div>
 
 		<?php endwhile; ?>
Index: src/bp-xprofile/classes/class-bp-xprofile-field-type-checkbox.php
===================================================================
--- src/bp-xprofile/classes/class-bp-xprofile-field-type-checkbox.php	(revision 11609)
+++ src/bp-xprofile/classes/class-bp-xprofile-field-type-checkbox.php	(working copy)
@@ -73,6 +73,10 @@
 				<?php bp_the_profile_field_required_label(); ?>
 			</legend>
 
+			<?php if ( bp_get_the_profile_field_description() ) : ?>
+				<p class="description" tabindex="0"><?php bp_the_profile_field_description(); ?></p>
+			<?php endif; ?>
+
 			<?php
 
 			/** This action is documented in bp-xprofile/bp-xprofile-classes */
Index: src/bp-xprofile/classes/class-bp-xprofile-field-type-datebox.php
===================================================================
--- src/bp-xprofile/classes/class-bp-xprofile-field-type-datebox.php	(revision 11609)
+++ src/bp-xprofile/classes/class-bp-xprofile-field-type-datebox.php	(working copy)
@@ -87,6 +87,10 @@
 				<?php bp_the_profile_field_required_label(); ?>
 			</legend>
 
+			<?php if ( bp_get_the_profile_field_description() ) : ?>
+				<p class="description" tabindex="0"><?php bp_the_profile_field_description(); ?></p>
+			<?php endif; ?>
+
 			<div class="input-options datebox-selects">
 
 				<?php
Index: src/bp-xprofile/classes/class-bp-xprofile-field-type-multiselectbox.php
===================================================================
--- src/bp-xprofile/classes/class-bp-xprofile-field-type-multiselectbox.php	(revision 11609)
+++ src/bp-xprofile/classes/class-bp-xprofile-field-type-multiselectbox.php	(working copy)
@@ -83,12 +83,16 @@
 		/** This action is documented in bp-xprofile/bp-xprofile-classes */
 		do_action( bp_get_the_profile_field_errors_action() ); ?>
 
-		<select <?php echo $this->get_edit_field_html_elements( $r ); ?>>
+		<select <?php echo $this->get_edit_field_html_elements( $r ); ?> aria-describedby="<?php bp_the_profile_field_input_name(); ?>-3">
 			<?php bp_the_profile_field_options( array(
 				'user_id' => $user_id
 			) ); ?>
 		</select>
 
+		<?php if ( bp_get_the_profile_field_description() ) : ?>
+			<p class="description" id="<?php bp_the_profile_field_input_name(); ?>-3"><?php bp_the_profile_field_description(); ?></p>
+		<?php endif; ?>
+
 		<?php if ( ! bp_get_the_profile_field_is_required() ) : ?>
 
 			<a class="clear-value" href="javascript:clear( '<?php echo esc_js( bp_get_the_profile_field_input_name() ); ?>[]' );">
Index: src/bp-xprofile/classes/class-bp-xprofile-field-type-number.php
===================================================================
--- src/bp-xprofile/classes/class-bp-xprofile-field-type-number.php	(revision 11609)
+++ src/bp-xprofile/classes/class-bp-xprofile-field-type-number.php	(working copy)
@@ -75,8 +75,12 @@
 		/** This action is documented in bp-xprofile/bp-xprofile-classes */
 		do_action( bp_get_the_profile_field_errors_action() ); ?>
 
-		<input <?php echo $this->get_edit_field_html_elements( $r ); ?>>
+		<input <?php echo $this->get_edit_field_html_elements( $r ); ?> aria-describedby="<?php bp_the_profile_field_input_name(); ?>-3">
 
+		<?php if ( bp_get_the_profile_field_description() ) : ?>
+			<p class="description" id="<?php bp_the_profile_field_input_name(); ?>-3"><?php bp_the_profile_field_description(); ?></p>
+		<?php endif; ?>
+
 		<?php
 	}
 
Index: src/bp-xprofile/classes/class-bp-xprofile-field-type-radiobutton.php
===================================================================
--- src/bp-xprofile/classes/class-bp-xprofile-field-type-radiobutton.php	(revision 11609)
+++ src/bp-xprofile/classes/class-bp-xprofile-field-type-radiobutton.php	(working copy)
@@ -72,6 +72,10 @@
 				<?php bp_the_profile_field_required_label(); ?>
 			</legend>
 
+			<?php if ( bp_get_the_profile_field_description() ) : ?>
+				<p class="description" tabindex="0"><?php bp_the_profile_field_description(); ?></p>
+			<?php endif; ?>
+
 			<?php
 
 			/** This action is documented in bp-xprofile/bp-xprofile-classes */
Index: src/bp-xprofile/classes/class-bp-xprofile-field-type-selectbox.php
===================================================================
--- src/bp-xprofile/classes/class-bp-xprofile-field-type-selectbox.php	(revision 11609)
+++ src/bp-xprofile/classes/class-bp-xprofile-field-type-selectbox.php	(working copy)
@@ -75,10 +75,14 @@
 		/** This action is documented in bp-xprofile/bp-xprofile-classes */
 		do_action( bp_get_the_profile_field_errors_action() ); ?>
 
-		<select <?php echo $this->get_edit_field_html_elements( $raw_properties ); ?>>
+		<select <?php echo $this->get_edit_field_html_elements( $raw_properties ); ?> aria-describedby="<?php bp_the_profile_field_input_name(); ?>-3">
 			<?php bp_the_profile_field_options( array( 'user_id' => $user_id ) ); ?>
 		</select>
 
+		<?php if ( bp_get_the_profile_field_description() ) : ?>
+			<p class="description" id="<?php bp_the_profile_field_input_name(); ?>-3"><?php bp_the_profile_field_description(); ?></p>
+		<?php endif; ?>
+
 		<?php
 	}
 
Index: src/bp-xprofile/classes/class-bp-xprofile-field-type-textarea.php
===================================================================
--- src/bp-xprofile/classes/class-bp-xprofile-field-type-textarea.php	(revision 11609)
+++ src/bp-xprofile/classes/class-bp-xprofile-field-type-textarea.php	(working copy)
@@ -81,7 +81,7 @@
 
 			?>
 
-			<textarea <?php echo $this->get_edit_field_html_elements( $r ); ?>><?php bp_the_profile_field_edit_value(); ?></textarea>
+			<textarea <?php echo $this->get_edit_field_html_elements( $r ); ?> aria-describedby="<?php bp_the_profile_field_input_name(); ?>-3"><?php bp_the_profile_field_edit_value(); ?></textarea>
 
 			<?php
 
@@ -117,6 +117,10 @@
 				$editor_args
 			);
 		}
+
+		if ( bp_get_the_profile_field_description() ) : ?>
+			<p class="description" id="<?php bp_the_profile_field_input_name(); ?>-3"><?php bp_the_profile_field_description(); ?></p>
+		<?php endif;
 	}
 
 	/**
Index: src/bp-xprofile/classes/class-bp-xprofile-field-type-textbox.php
===================================================================
--- src/bp-xprofile/classes/class-bp-xprofile-field-type-textbox.php	(revision 11609)
+++ src/bp-xprofile/classes/class-bp-xprofile-field-type-textbox.php	(working copy)
@@ -74,8 +74,12 @@
 		/** This action is documented in bp-xprofile/bp-xprofile-classes */
 		do_action( bp_get_the_profile_field_errors_action() ); ?>
 
-		<input <?php echo $this->get_edit_field_html_elements( $r ); ?>>
+		<input <?php echo $this->get_edit_field_html_elements( $r ); ?> aria-describedby="<?php bp_the_profile_field_input_name(); ?>-3">
 
+		<?php if ( bp_get_the_profile_field_description() ) : ?>
+			<p class="description" id="<?php bp_the_profile_field_input_name(); ?>-3"><?php bp_the_profile_field_description(); ?></p>
+		<?php endif; ?>
+
 		<?php
 	}
 
Index: src/bp-xprofile/classes/class-bp-xprofile-field-type-url.php
===================================================================
--- src/bp-xprofile/classes/class-bp-xprofile-field-type-url.php	(revision 11609)
+++ src/bp-xprofile/classes/class-bp-xprofile-field-type-url.php	(working copy)
@@ -76,8 +76,12 @@
 		/** This action is documented in bp-xprofile/bp-xprofile-classes */
 		do_action( bp_get_the_profile_field_errors_action() ); ?>
 
-		<input <?php echo $this->get_edit_field_html_elements( $r ); ?>>
+		<input <?php echo $this->get_edit_field_html_elements( $r ); ?> aria-describedby="<?php bp_the_profile_field_input_name(); ?>-3">
 
+		<?php if ( bp_get_the_profile_field_description() ) : ?>
+			<p class="description" id="<?php bp_the_profile_field_input_name(); ?>-3"><?php bp_the_profile_field_description(); ?></p>
+		<?php endif; ?>
+
 		<?php
 	}
 
