diff --git a/src/wp-includes/widgets/class-wp-nav-menu-widget.php b/src/wp-includes/widgets/class-wp-nav-menu-widget.php
index 1edaeac464..3e882202f6 100644
--- a/src/wp-includes/widgets/class-wp-nav-menu-widget.php
+++ b/src/wp-includes/widgets/class-wp-nav-menu-widget.php
@@ -57,10 +57,25 @@ class WP_Nav_Menu_Widget extends WP_Widget {
 			echo $args['before_title'] . $title . $args['after_title'];
 		}
 
-		$nav_menu_args = array(
-			'fallback_cb' => '',
-			'menu'        => $nav_menu,
-		);
+		if ( function_exists( 'add_theme_support' ) ) {
+            if ( get_theme_support( 'html5' ) ) {
+                $nav_menu_args = array(
+                    'fallback_cb' => '',
+					'menu'        => $nav_menu,
+					'items_wrap'  => '<nav role="navigation" aria-label="menu"><ul id="%1$s" class="%2$s">%3$s</ul></nav>',
+                );
+            } else {
+                $nav_menu_args = array(
+                    'fallback_cb' => '',
+                    'menu'        => $nav_menu,
+                );
+            }
+        } else {
+			$nav_menu_args = array(
+				'fallback_cb' => '',
+				'menu'        => $nav_menu,
+			);
+		}
 
 		/**
 		 * Filters the arguments for the Navigation Menu widget.
diff --git a/src/wp-includes/widgets/class-wp-widget-archives.php b/src/wp-includes/widgets/class-wp-widget-archives.php
index 2dfd60c7a5..1db0c17cbb 100644
--- a/src/wp-includes/widgets/class-wp-widget-archives.php
+++ b/src/wp-includes/widgets/class-wp-widget-archives.php
@@ -121,33 +121,48 @@ class WP_Widget_Archives extends WP_Widget {
 /* ]]> */
 </script>
 
-		<?php } else { ?>
-		<ul>
-			<?php
-			wp_get_archives(
-				/**
-				 * Filters the arguments for the Archives widget.
-				 *
-				 * @since 2.8.0
-				 * @since 4.9.0 Added the `$instance` parameter.
-				 *
-				 * @see wp_get_archives()
-				 *
-				 * @param array $args     An array of Archives option arguments.
-				 * @param array $instance Array of settings for the current widget.
-				 */
-				apply_filters(
-					'widget_archives_args',
-					array(
-						'type'            => 'monthly',
-						'show_post_count' => $count,
-					),
-					$instance
-				)
-			);
+		<?php } else {
+			if ( function_exists( 'add_theme_support' ) ) {
+				if ( get_theme_support( 'html5' ) ) {
+					?>
+					<nav role="navigation" aria-label="archives list">
+					<?php
+				}
+			}
 			?>
-		</ul>
+			<ul>
+				<?php
+				wp_get_archives(
+					/**
+					 * Filters the arguments for the Archives widget.
+					 *
+					 * @since 2.8.0
+					 * @since 4.9.0 Added the `$instance` parameter.
+					 *
+					 * @see wp_get_archives()
+					 *
+					 * @param array $args     An array of Archives option arguments.
+					 * @param array $instance Array of settings for the current widget.
+					 */
+					apply_filters(
+						'widget_archives_args',
+						array(
+							'type'            => 'monthly',
+							'show_post_count' => $count,
+						),
+						$instance
+					)
+				);
+				?>
+			</ul>
 			<?php
+			if ( function_exists( 'add_theme_support' ) ) {
+				if ( get_theme_support( 'html5' ) ) {
+					?>
+					</nav>
+					<?php
+				}
+			}
 		}
 
 		echo $args['after_widget'];
diff --git a/src/wp-includes/widgets/class-wp-widget-categories.php b/src/wp-includes/widgets/class-wp-widget-categories.php
index 60bf6ef819..b63299ea83 100644
--- a/src/wp-includes/widgets/class-wp-widget-categories.php
+++ b/src/wp-includes/widgets/class-wp-widget-categories.php
@@ -111,24 +111,38 @@ class WP_Widget_Categories extends WP_Widget {
 
 			<?php
 		} else {
+			if ( function_exists( 'add_theme_support' ) ) {
+				if ( get_theme_support( 'html5' ) ) {
+					?>
+					<nav role="navigation" aria-label="categories list">
+					<?php
+				}
+			}
 			?>
-		<ul>
-			<?php
-			$cat_args['title_li'] = '';
-
-			/**
-			 * Filters the arguments for the Categories widget.
-			 *
-			 * @since 2.8.0
-			 * @since 4.9.0 Added the `$instance` parameter.
-			 *
-			 * @param array $cat_args An array of Categories widget options.
-			 * @param array $instance Array of settings for the current widget.
-			 */
-			wp_list_categories( apply_filters( 'widget_categories_args', $cat_args, $instance ) );
-			?>
-		</ul>
+			<ul>
+				<?php
+				$cat_args['title_li'] = '';
+
+				/**
+				 * Filters the arguments for the Categories widget.
+				 *
+				 * @since 2.8.0
+				 * @since 4.9.0 Added the `$instance` parameter.
+				 *
+				 * @param array $cat_args An array of Categories widget options.
+				 * @param array $instance Array of settings for the current widget.
+				 */
+				wp_list_categories( apply_filters( 'widget_categories_args', $cat_args, $instance ) );
+				?>
+			</ul>
 			<?php
+			if ( function_exists( 'add_theme_support' ) ) {
+				if ( get_theme_support( 'html5' ) ) {
+					?>
+					</nav>
+					<?php
+				}
+			}
 		}
 
 		echo $args['after_widget'];
diff --git a/src/wp-includes/widgets/class-wp-widget-meta.php b/src/wp-includes/widgets/class-wp-widget-meta.php
index 33742b368d..f83709c861 100644
--- a/src/wp-includes/widgets/class-wp-widget-meta.php
+++ b/src/wp-includes/widgets/class-wp-widget-meta.php
@@ -53,6 +53,15 @@ class WP_Widget_Meta extends WP_Widget {
 			echo $args['before_title'] . $title . $args['after_title'];
 		}
 		?>
+			<?php
+            if ( function_exists('add_theme_support' ) ) {
+                if ( get_theme_support( 'html5' ) ) {
+                    ?>
+					<nav role="navigation" aria-label="meta">
+					<?php
+                }
+            }
+            ?>
 			<ul>
 			<?php wp_register(); ?>
 			<li><?php wp_loginout(); ?></li>
@@ -82,6 +91,13 @@ class WP_Widget_Meta extends WP_Widget {
 			?>
 			</ul>
 			<?php
+			if ( function_exists( 'add_theme_support' ) ) {
+				if ( get_theme_support( 'html5' ) ) {
+					?>
+					</nav>
+					<?php
+				}
+			}
 
 			echo $args['after_widget'];
 	}
diff --git a/src/wp-includes/widgets/class-wp-widget-pages.php b/src/wp-includes/widgets/class-wp-widget-pages.php
index 94af11d658..d6376af3d2 100644
--- a/src/wp-includes/widgets/class-wp-widget-pages.php
+++ b/src/wp-includes/widgets/class-wp-widget-pages.php
@@ -89,11 +89,25 @@ class WP_Widget_Pages extends WP_Widget {
 			if ( $title ) {
 				echo $args['before_title'] . $title . $args['after_title'];
 			}
+			if ( function_exists( 'add_theme_support' ) ) {
+				if ( get_theme_support( 'html5' ) ) {
+					?>
+					<nav role="navigation" aria-label="pages">
+					<?php
+				}
+			}
 			?>
-		<ul>
-			<?php echo $out; ?>
-		</ul>
+			<ul>
+				<?php echo $out; ?>
+			</ul>
 			<?php
+			if ( function_exists( 'add_theme_support' ) ) {
+				if ( get_theme_support( 'html5' ) ) {
+					?>
+					</nav>
+					<?php
+				}
+			}
 			echo $args['after_widget'];
 		}
 	}
diff --git a/src/wp-includes/widgets/class-wp-widget-recent-comments.php b/src/wp-includes/widgets/class-wp-widget-recent-comments.php
index e9da5c1bdc..a24f6ba893 100644
--- a/src/wp-includes/widgets/class-wp-widget-recent-comments.php
+++ b/src/wp-includes/widgets/class-wp-widget-recent-comments.php
@@ -125,6 +125,12 @@ class WP_Widget_Recent_Comments extends WP_Widget {
 		$recent_comments_id = ( $first_instance ) ? 'recentcomments' : "recentcomments-{$this->number}";
 		$first_instance     = false;
 
+		if ( function_exists( 'add_theme_support' ) ) {
+			if ( get_theme_support( 'html5' ) ) {
+				$output .= '<nav role="navigation" aria-label="recent comments">';
+			}
+		}
+
 		$output .= '<ul id="' . esc_attr( $recent_comments_id ) . '">';
 		if ( is_array( $comments ) && $comments ) {
 			// Prime cache for associated posts. (Prime post term cache if we need it for permalinks.)
@@ -143,6 +149,13 @@ class WP_Widget_Recent_Comments extends WP_Widget {
 			}
 		}
 		$output .= '</ul>';
+
+		if ( function_exists( 'add_theme_support' ) ) {
+			if ( get_theme_support( 'html5' ) ) {
+				$output .= '</nav>';
+			}
+		}
+
 		$output .= $args['after_widget'];
 
 		echo $output;
diff --git a/src/wp-includes/widgets/class-wp-widget-recent-posts.php b/src/wp-includes/widgets/class-wp-widget-recent-posts.php
index 9767e3b4fc..7e25826e3d 100644
--- a/src/wp-includes/widgets/class-wp-widget-recent-posts.php
+++ b/src/wp-includes/widgets/class-wp-widget-recent-posts.php
@@ -89,6 +89,13 @@ class WP_Widget_Recent_Posts extends WP_Widget {
 		if ( $title ) {
 			echo $args['before_title'] . $title . $args['after_title'];
 		}
+		if ( function_exists( 'add_theme_support' ) ) {
+			if ( get_theme_support( 'html5' ) ) {
+				?>
+				<nav role="navigation" aria-label="recent posts">
+				<?php
+			}
+		}
 		?>
 		<ul>
 			<?php foreach ( $r->posts as $recent_post ) : ?>
@@ -110,6 +117,13 @@ class WP_Widget_Recent_Posts extends WP_Widget {
 			<?php endforeach; ?>
 		</ul>
 		<?php
+		if ( function_exists( 'add_theme_support' ) ) {
+			if ( get_theme_support( 'html5' ) ) {
+				?>
+				</nav>
+				<?php
+			}
+		}
 		echo $args['after_widget'];
 	}
 
diff --git a/src/wp-includes/widgets/class-wp-widget-rss.php b/src/wp-includes/widgets/class-wp-widget-rss.php
index 4e2810a178..c32d8c0bc9 100644
--- a/src/wp-includes/widgets/class-wp-widget-rss.php
+++ b/src/wp-includes/widgets/class-wp-widget-rss.php
@@ -94,7 +94,17 @@ class WP_Widget_RSS extends WP_Widget {
 		if ( $title ) {
 			echo $args['before_title'] . $title . $args['after_title'];
 		}
+		if ( function_exists( 'add_theme_support' ) ) {
+			if ( get_theme_support( 'html5' ) ) {
+				echo '<nav role="navigation" aria-label="rss">';
+			}
+		}
 		wp_widget_rss_output( $rss, $instance );
+		if ( function_exists( 'add_theme_support' ) ) {
+			if ( get_theme_support( 'html5' ) ) {
+				echo '</nav>';
+			}
+		}
 		echo $args['after_widget'];
 
 		if ( ! is_wp_error( $rss ) ) {
