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)
@@ -170,6 +170,8 @@
 
 						<div<?php bp_field_css_class( 'editfield' ); ?>>
 
+							<fieldset>
+
 							<?php
 							$field_type = bp_xprofile_create_field_type( bp_get_the_profile_field_type() );
 							$field_type->edit_field_html();
@@ -224,7 +226,8 @@
 
 							<p class="description"><?php bp_the_profile_field_description(); ?></p>
 
-						</div>
+							</fieldset>
+						</div><!-- .editfield -->
 
 					<?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)
@@ -39,6 +39,8 @@
 
 			<div<?php bp_field_css_class( 'editfield' ); ?>>
 
+				<fieldset>
+
 				<?php
 				$field_type = bp_xprofile_create_field_type( bp_get_the_profile_field_type() );
 				$field_type->edit_field_html();
@@ -92,8 +94,10 @@
 				do_action( 'bp_custom_profile_edit_fields' ); ?>
 
 				<p class="description"><?php bp_the_profile_field_description(); ?></p>
-			</div>
 
+				</fieldset>
+			</div><!-- .editfield -->
+
 		<?php endwhile; ?>
 
 	<?php
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)
@@ -67,7 +67,6 @@
 			$user_id = bp_displayed_user_id();
 		} ?>
 
-		<fieldset class="checkbox">
 			<legend>
 				<?php bp_the_profile_field_name(); ?>
 				<?php bp_the_profile_field_required_label(); ?>
@@ -82,8 +81,6 @@
 				'user_id' => $user_id
 			) ); ?>
 
-		</fieldset>
-
 		<?php
 	}
 
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)
@@ -80,8 +80,6 @@
 			'name' => bp_get_the_profile_field_input_name() . '_year'
 		) ); ?>
 
-		<fieldset class="datebox">
-
 			<legend>
 				<?php bp_the_profile_field_name(); ?>
 				<?php bp_the_profile_field_required_label(); ?>
@@ -138,7 +136,6 @@
 
 			</div>
 
-		</fieldset>
 	<?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)
@@ -73,10 +73,10 @@
 			'name'     => bp_get_the_profile_field_input_name() . '[]',
 		) ); ?>
 
-		<label for="<?php bp_the_profile_field_input_name(); ?>[]">
+		<legend id="<?php bp_the_profile_field_input_name(); ?>-1">
 			<?php bp_the_profile_field_name(); ?>
 			<?php bp_the_profile_field_required_label(); ?>
-		</label>
+		</legend>
 
 		<?php
 
@@ -83,7 +83,7 @@
 		/** 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-labelledby=" aria-describedby="<?php bp_the_profile_field_input_name(); ?>-1">
 			<?php bp_the_profile_field_options( array(
 				'user_id' => $user_id
 			) ); ?>
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)
@@ -65,10 +65,10 @@
 			'value' =>  bp_get_the_profile_field_edit_value()
 		) ); ?>
 
-		<label for="<?php bp_the_profile_field_input_name(); ?>">
+		<legend id="<?php bp_the_profile_field_input_name(); ?>-1">
 			<?php bp_the_profile_field_name(); ?>
 			<?php bp_the_profile_field_required_label(); ?>
-		</label>
+		</legend>
 
 		<?php
 
@@ -75,7 +75,7 @@
 		/** 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-labelledby="<?php bp_the_profile_field_input_name(); ?>-1">
 
 		<?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)
@@ -65,8 +65,6 @@
 			$user_id = bp_displayed_user_id();
 		} ?>
 
-		<fieldset class="radio">
-
 			<legend>
 				<?php bp_the_profile_field_name(); ?>
 				<?php bp_the_profile_field_required_label(); ?>
@@ -87,8 +85,6 @@
 
 			<?php endif; ?>
 
-		</fieldset>
-
 		<?php
 	}
 
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)
@@ -65,10 +65,10 @@
 			$user_id = bp_displayed_user_id();
 		} ?>
 
-		<label for="<?php bp_the_profile_field_input_name(); ?>">
+		<legend id="<?php bp_the_profile_field_input_name(); ?>-1">
 			<?php bp_the_profile_field_name(); ?>
 			<?php bp_the_profile_field_required_label(); ?>
-		</label>
+		</legend>
 
 		<?php
 
@@ -75,7 +75,7 @@
 		/** 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-labelledby="<?php bp_the_profile_field_input_name(); ?>-1">
 			<?php bp_the_profile_field_options( array( 'user_id' => $user_id ) ); ?>
 		</select>
 
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)
@@ -63,10 +63,10 @@
 
 		$richtext_enabled = bp_xprofile_is_richtext_enabled_for_field(); ?>
 
-		<label for="<?php bp_the_profile_field_input_name(); ?>">
+		<legend id="<?php bp_the_profile_field_input_name(); ?>-1">
 			<?php bp_the_profile_field_name(); ?>
 			<?php bp_the_profile_field_required_label(); ?>
-		</label>
+		</legend>
 
 		<?php
 
@@ -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-labelledby="<?php bp_the_profile_field_input_name(); ?>-1"><?php bp_the_profile_field_edit_value(); ?></textarea>
 
 			<?php
 
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)
@@ -64,10 +64,10 @@
 			'value' => bp_get_the_profile_field_edit_value(),
 		) ); ?>
 
-		<label for="<?php bp_the_profile_field_input_name(); ?>">
+		<legend id="<?php bp_the_profile_field_input_name(); ?>-1">
 			<?php bp_the_profile_field_name(); ?>
 			<?php bp_the_profile_field_required_label(); ?>
-		</label>
+		</legend>
 
 		<?php
 
@@ -74,7 +74,7 @@
 		/** 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-labelledby="<?php bp_the_profile_field_input_name(); ?>-1">
 
 		<?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)
@@ -66,10 +66,10 @@
 			'value'     => esc_url( bp_get_the_profile_field_edit_value() ),
 		) ); ?>
 
-		<label for="<?php bp_the_profile_field_input_name(); ?>">
+		<legend id="<?php bp_the_profile_field_input_name(); ?>-1">
 			<?php bp_the_profile_field_name(); ?>
 			<?php bp_the_profile_field_required_label(); ?>
-		</label>
+		</legend>
 
 		<?php
 
@@ -76,7 +76,7 @@
 		/** 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-labelledby="<?php bp_the_profile_field_input_name(); ?>-1">
 
 		<?php
 	}
