Index: src/wp-admin/css/list-tables.css
===================================================================
--- src/wp-admin/css/list-tables.css	(revision 32645)
+++ src/wp-admin/css/list-tables.css	(working copy)
@@ -532,7 +532,8 @@
 }
 
 .tablenav .no-pages,
-.tablenav .one-page .pagination-links {
+.tablenav .one-page .pagination-links,
+.tablenav .one-page .pagination-heading {
 	display: none;
 }
 
Index: src/wp-admin/edit-comments.php
===================================================================
--- src/wp-admin/edit-comments.php	(revision 32645)
+++ src/wp-admin/edit-comments.php	(working copy)
@@ -136,6 +136,12 @@
 	'<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
 );
 
+get_current_screen()->add_a11y_info( array(
+	'heading_views'      => __( 'Filter comments list' ),
+	'heading_pagination' => __( 'Comments list navigation' ),
+	'heading_list'       => __( 'Comments list' ),
+) );
+
 require_once( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
Index: src/wp-admin/edit-tags.php
===================================================================
--- src/wp-admin/edit-tags.php	(revision 32645)
+++ src/wp-admin/edit-tags.php	(working copy)
@@ -45,6 +45,11 @@
 
 add_screen_option( 'per_page', array( 'default' => 20, 'option' => 'edit_' . $tax->name . '_per_page' ) );
 
+get_current_screen()->add_a11y_info( array(
+	'heading_pagination' => $tax->labels->pagination,
+	'heading_list'       => $tax->labels->list,
+) );
+
 $location = false;
 
 switch ( $wp_list_table->current_action() ) {
Index: src/wp-admin/edit.php
===================================================================
--- src/wp-admin/edit.php	(revision 32645)
+++ src/wp-admin/edit.php	(working copy)
@@ -236,8 +236,15 @@
 	'<p>' . __('<a href="https://codex.wordpress.org/Pages_Screen" target="_blank">Documentation on Managing Pages</a>') . '</p>' .
 	'<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 	);
+
 }
 
+get_current_screen()->add_a11y_info( array(
+	'heading_views'      => $post_type_object->labels->views,
+	'heading_pagination' => $post_type_object->labels->pagination,
+	'heading_list'       => $post_type_object->labels->list,
+) );
+
 add_screen_option( 'per_page', array( 'default' => 20, 'option' => 'edit_' . $post_type . '_per_page' ) );
 
 $bulk_counts = array(
Index: src/wp-admin/includes/class-wp-comments-list-table.php
===================================================================
--- src/wp-admin/includes/class-wp-comments-list-table.php	(revision 32645)
+++ src/wp-admin/includes/class-wp-comments-list-table.php	(working copy)
@@ -374,6 +374,13 @@
 
 		$this->display_tablenav( 'top' );
 
+		if ( isset( $this->screen->a11y_info['heading_list'] ) ) {
+			$heading = '<h2 class="screen-reader-text list-heading">' . $this->screen->a11y_info['heading_list'] . '</h2>';
+		} else {
+			$heading = '';
+		}
+
+		echo $heading;
 ?>
 <table class="<?php echo implode( ' ', $this->get_table_classes() ); ?>">
 	<thead>
@@ -441,7 +448,7 @@
  	 */
  	protected function handle_row_actions( $comment, $column_name, $primary ) {
  		global $comment_status;
- 
+
  		if ( ! $this->user_can ) {
  			return;
 
Index: src/wp-admin/includes/class-wp-list-table.php
===================================================================
--- src/wp-admin/includes/class-wp-list-table.php	(revision 32645)
+++ src/wp-admin/includes/class-wp-list-table.php	(working copy)
@@ -378,7 +378,13 @@
 		if ( empty( $views ) )
 			return;
 
-		echo "<ul class='subsubsub'>\n";
+		if ( isset( $this->screen->a11y_info['heading_views'] ) ) {
+			$heading = '<h2 class="screen-reader-text views-heading">' . $this->screen->a11y_info['heading_views'] . '</h2>';
+		} else {
+			$heading = '';
+		}
+
+		echo "$heading\n<ul class='subsubsub'>\n";
 		foreach ( $views as $class => $view ) {
 			$views[ $class ] = "\t<li class='$class'>$view";
 		}
@@ -689,8 +695,14 @@
 			$infinite_scroll = $this->_pagination_args['infinite_scroll'];
 		}
 
-		$output = '<span class="displaying-num">' . sprintf( _n( '%s item', '%s items', $total_items ), number_format_i18n( $total_items ) ) . '</span>';
+		if ( 'top' === $which && isset( $this->screen->a11y_info['heading_pagination'] ) ) {
+			$heading = '<h2 class="screen-reader-text pagination-heading">' . $this->screen->a11y_info['heading_pagination'] . '</h2>';
+		} else {
+			$heading = '';
+		}
 
+		$output = $heading . '<span class="displaying-num">' . sprintf( _n( '%s item', '%s items', $total_items ), number_format_i18n( $total_items ) ) . '</span>';
+
 		$current = $this->get_pagenum();
 
 		$current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
@@ -975,6 +987,14 @@
 
 		$this->display_tablenav( 'top' );
 
+		if ( isset( $this->screen->a11y_info['heading_list'] ) ) {
+			$heading = '<h2 class="screen-reader-text list-heading">' . $this->screen->a11y_info['heading_list'] . '</h2>';
+		} else {
+			$heading = '';
+		}
+
+		echo $heading;
+
 ?>
 <table class="wp-list-table <?php echo implode( ' ', $this->get_table_classes() ); ?>">
 	<thead>
Index: src/wp-admin/includes/class-wp-media-list-table.php
===================================================================
--- src/wp-admin/includes/class-wp-media-list-table.php	(revision 32645)
+++ src/wp-admin/includes/class-wp-media-list-table.php	(working copy)
@@ -181,6 +181,10 @@
 		global $mode;
 
 		$views = $this->get_views();
+
+		if ( isset( $this->screen->a11y_info['heading_views'] ) ) {
+			echo '<h2 class="screen-reader-text filter-views-heading">' . $this->screen->a11y_info['heading_views'] . '</h2>';
+		}
 ?>
 <div class="wp-filter">
 	<div class="filter-items">
Index: src/wp-admin/includes/class-wp-plugin-install-list-table.php
===================================================================
--- src/wp-admin/includes/class-wp-plugin-install-list-table.php	(revision 32645)
+++ src/wp-admin/includes/class-wp-plugin-install-list-table.php	(working copy)
@@ -247,6 +247,10 @@
 		/** This filter is documented in wp-admin/inclues/class-wp-list-table.php */
 		$views = apply_filters( "views_{$this->screen->id}", $views );
 
+		if ( isset( $this->screen->a11y_info['heading_views'] ) ) {
+			echo '<h2 class="screen-reader-text filter-views-heading">' . $this->screen->a11y_info['heading_views'] . '</h2>';
+		}
+
 ?>
 <div class="wp-filter">
 	<ul class="filter-links">
@@ -281,7 +285,11 @@
 
 ?>
 <div class="wp-list-table <?php echo implode( ' ', $this->get_table_classes() ); ?>">
-
+<?php
+if ( isset( $this->screen->a11y_info['heading_list'] ) ) {
+	echo '<h2 class="screen-reader-text list-heading">' . $this->screen->a11y_info['heading_list'] . '</h2>';
+}
+?>
 	<div id="the-list"<?php echo $data_attr; ?>>
 		<?php $this->display_rows_or_placeholder(); ?>
 	</div>
Index: src/wp-admin/includes/screen.php
===================================================================
--- src/wp-admin/includes/screen.php	(revision 32645)
+++ src/wp-admin/includes/screen.php	(working copy)
@@ -326,6 +326,15 @@
 	private $_help_sidebar = '';
 
 	/**
+	 * The accessibility information associated with the screen, if any.
+	 *
+	 * @since 4.3.0
+	 * @var array
+	 * @access public
+	 */
+	public $a11y_info = array();
+
+	/**
 	 * Stores old string-based help.
 	 */
 	private static $_old_compat_help = array();
@@ -791,6 +800,27 @@
 		return $this->columns;
 	}
 
+ 	/**
+	 * Add accessibility related informations.
+	 *
+	 * @since 4.3.0
+	 *
+	 * @param array $args An associative array with additional information useful for accessibility.
+	 * - string - heading_views      - The table views hidden heading text.
+	 * - string - heading_pagination - The table pagination hidden heading text.
+	 * - string - heading_list       - The table hidden heading text.
+	 */
+	public function add_a11y_info( $args = array() ) {
+		$defaults = array(
+			'heading_views'      => __( 'Filter items list' ),
+			'heading_pagination' => __( 'Items list navigation' ),
+			'heading_list'       => __( 'Items list' ),
+		);
+		$args = wp_parse_args( $args, $defaults );
+
+		$this->a11y_info = $args;
+	}
+
 	/**
 	 * Render the screen's help section.
 	 *
Index: src/wp-admin/link-manager.php
===================================================================
--- src/wp-admin/link-manager.php	(revision 32645)
+++ src/wp-admin/link-manager.php	(working copy)
@@ -61,6 +61,10 @@
 	'<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
+get_current_screen()->add_a11y_info( array(
+	'heading_list' => __( 'Links list' ),
+) );
+
 include_once( ABSPATH . 'wp-admin/admin-header.php' );
 
 if ( ! current_user_can('manage_links') )
Index: src/wp-admin/network/site-themes.php
===================================================================
--- src/wp-admin/network/site-themes.php	(revision 32645)
+++ src/wp-admin/network/site-themes.php	(working copy)
@@ -33,6 +33,12 @@
 	'<p>' . __('<a href="https://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
 );
 
+get_current_screen()->add_a11y_info( array(
+	'heading_views'      => __( 'Filter site themes list' ),
+	'heading_pagination' => __( 'Site themes list navigation' ),
+	'heading_list'       => __( 'Site themes list' ),
+) );
+
 $wp_list_table = _get_list_table('WP_MS_Themes_List_Table');
 
 $action = $wp_list_table->current_action();
Index: src/wp-admin/network/site-users.php
===================================================================
--- src/wp-admin/network/site-users.php	(revision 32645)
+++ src/wp-admin/network/site-users.php	(working copy)
@@ -36,6 +36,12 @@
 	'<p>' . __('<a href="https://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
 );
 
+get_current_screen()->add_a11y_info( array(
+	'heading_views'      => __( 'Filter site users list' ),
+	'heading_pagination' => __( 'Site users list navigation' ),
+	'heading_list'       => __( 'Site users list' ),
+) );
+
 $_SERVER['REQUEST_URI'] = remove_query_arg( 'update', $_SERVER['REQUEST_URI'] );
 $referer = remove_query_arg( 'update', wp_get_referer() );
 
Index: src/wp-admin/network/sites.php
===================================================================
--- src/wp-admin/network/sites.php	(revision 32645)
+++ src/wp-admin/network/sites.php	(working copy)
@@ -46,6 +46,11 @@
 	'<p>' . __('<a href="https://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
 );
 
+get_current_screen()->add_a11y_info( array(
+	'heading_pagination' => __( 'Sites list navigation' ),
+	'heading_list'       => __( 'Sites list' ),
+) );
+
 $id = isset( $_REQUEST['id'] ) ? intval( $_REQUEST['id'] ) : 0;
 
 if ( isset( $_GET['action'] ) ) {
Index: src/wp-admin/network/themes.php
===================================================================
--- src/wp-admin/network/themes.php	(revision 32645)
+++ src/wp-admin/network/themes.php	(working copy)
@@ -251,6 +251,12 @@
 	'<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
+get_current_screen()->add_a11y_info( array(
+	'heading_views'      => __( 'Filter themes list' ),
+	'heading_pagination' => __( 'Themes list navigation' ),
+	'heading_list'       => __( 'Themes list' ),
+) );
+
 $title = __('Themes');
 $parent_file = 'themes.php';
 
Index: src/wp-admin/network/users.php
===================================================================
--- src/wp-admin/network/users.php	(revision 32645)
+++ src/wp-admin/network/users.php	(working copy)
@@ -276,6 +276,12 @@
 	'<p>' . __('<a href="https://wordpress.org/support/forum/multisite/" target="_blank">Support Forums</a>') . '</p>'
 );
 
+get_current_screen()->add_a11y_info( array(
+	'heading_views'      => __( 'Filter users list' ),
+	'heading_pagination' => __( 'Users list navigation' ),
+	'heading_list'       => __( 'Users list' ),
+) );
+
 require_once( ABSPATH . 'wp-admin/admin-header.php' );
 
 if ( isset( $_REQUEST['updated'] ) && $_REQUEST['updated'] == 'true' && ! empty( $_REQUEST['action'] ) ) {
Index: src/wp-admin/plugin-install.php
===================================================================
--- src/wp-admin/plugin-install.php	(revision 32645)
+++ src/wp-admin/plugin-install.php	(working copy)
@@ -88,6 +88,12 @@
 	'<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
+get_current_screen()->add_a11y_info( array(
+	'heading_views'      => __( 'Filter plugins list' ),
+	'heading_pagination' => __( 'Plugins list navigation' ),
+	'heading_list'       => __( 'Plugins list' ),
+) );
+
 /**
  * WordPress Administration Template Header.
  */
Index: src/wp-admin/plugins.php
===================================================================
--- src/wp-admin/plugins.php	(revision 32645)
+++ src/wp-admin/plugins.php	(working copy)
@@ -392,6 +392,12 @@
 	'<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
+get_current_screen()->add_a11y_info( array(
+	'heading_views'      => __( 'Filter plugins list' ),
+	'heading_pagination' => __( 'Plugins list navigation' ),
+	'heading_list'       => __( 'Plugins list' ),
+) );
+
 $title = __('Plugins');
 $parent_file = 'plugins.php';
 
Index: src/wp-admin/theme-install.php
===================================================================
--- src/wp-admin/theme-install.php	(revision 32645)
+++ src/wp-admin/theme-install.php	(working copy)
@@ -126,6 +126,8 @@
 	<?php install_themes_upload(); ?>
 	</div>
 
+	<h2 class="screen-reader-text"><?php _e( 'Filter themes list' ); ?></h2>
+
 	<div class="wp-filter">
 		<div class="filter-count">
 			<span class="count theme-count"></span>
@@ -169,6 +171,7 @@
 			</div>
 		</div>
 	</div>
+	<h2 class="screen-reader-text"><?php _e( 'Themes list' ); ?></h2>
 	<div class="theme-browser content-filterable"></div>
 	<div class="theme-install-overlay wp-full-overlay expanded"></div>
 
Index: src/wp-admin/upload.php
===================================================================
--- src/wp-admin/upload.php	(revision 32645)
+++ src/wp-admin/upload.php	(working copy)
@@ -202,6 +202,12 @@
 	'<p>' . __( '<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>' ) . '</p>'
 );
 
+get_current_screen()->add_a11y_info( array(
+	'heading_views'      => __( 'Filter media items list' ),
+	'heading_pagination' => __( 'Media items list navigation' ),
+	'heading_list'       => __( 'Media items list' ),
+) );
+
 require_once( ABSPATH . 'wp-admin/admin-header.php' );
 ?>
 
Index: src/wp-admin/users.php
===================================================================
--- src/wp-admin/users.php	(revision 32645)
+++ src/wp-admin/users.php	(working copy)
@@ -63,6 +63,12 @@
     '<p>' . __('<a href="https://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
 );
 
+get_current_screen()->add_a11y_info( array(
+	'heading_views'      => __( 'Filter users list' ),
+	'heading_pagination' => __( 'Users list navigation' ),
+	'heading_list'       => __( 'Users list' ),
+) );
+
 if ( empty($_REQUEST) ) {
 	$referer = '<input type="hidden" name="wp_http_referer" value="'. esc_attr( wp_unslash( $_SERVER['REQUEST_URI'] ) ) . '" />';
 } elseif ( isset($_REQUEST['wp_http_referer']) ) {
Index: src/wp-includes/post.php
===================================================================
--- src/wp-includes/post.php	(revision 32645)
+++ src/wp-includes/post.php	(working copy)
@@ -1625,6 +1625,9 @@
  *                       ones the default is 'Parent Page:'.
  * - all_items - String for the submenu. Default is All Posts/All Pages.
  * - menu_name - Default is the same as `name`.
+ * - views - String for the table views hidden heading.
+ * - pagination - String for the table pagination hidden heading.
+ * - list - String for the table hidden heading.
  *
  * Above, the first default value is for non-hierarchical post types (like posts)
  * and the second one is for hierarchical post types (like pages).
@@ -1648,7 +1651,10 @@
 		'not_found' => array( __('No posts found.'), __('No pages found.') ),
 		'not_found_in_trash' => array( __('No posts found in Trash.'), __('No pages found in Trash.') ),
 		'parent_item_colon' => array( null, __('Parent Page:') ),
-		'all_items' => array( __( 'All Posts' ), __( 'All Pages' ) )
+		'all_items' => array( __( 'All Posts' ), __( 'All Pages' ) ),
+		'views' => array( __( 'Filter posts list' ), __( 'Filter pages list' ) ),
+		'pagination' => array( __( 'Posts list navigation' ), __( 'Pages list navigation' ) ),
+		'list' => array( __( 'Posts list' ), __( 'Pages list' ) ),
 	);
 	$nohier_vs_hier_defaults['menu_name'] = $nohier_vs_hier_defaults['name'];
 
Index: src/wp-includes/taxonomy.php
===================================================================
--- src/wp-includes/taxonomy.php	(revision 32645)
+++ src/wp-includes/taxonomy.php	(working copy)
@@ -472,6 +472,8 @@
  * - add_or_remove_items - This string isn't used on hierarchical taxonomies. Default is "Add or remove tags", used in the meta box when JavaScript is disabled.
  * - choose_from_most_used - This string isn't used on hierarchical taxonomies. Default is "Choose from the most used tags", used in the meta box.
  * - not_found - Default is "No tags found"/"No categories found", used in the meta box and taxonomy list table.
+ * - pagination - String for the table pagination hidden heading.
+ * - list - String for the table hidden heading.
  *
  * Above, the first default value is for non-hierarchical taxonomies (like tags) and the second one is for hierarchical taxonomies (like categories).
  *
@@ -508,6 +510,8 @@
 		'add_or_remove_items' => array( __( 'Add or remove tags' ), null ),
 		'choose_from_most_used' => array( __( 'Choose from the most used tags' ), null ),
 		'not_found' => array( __( 'No tags found.' ), __( 'No categories found.' ) ),
+		'pagination' => array( __( 'Tags list navigation' ), __( 'Categories list navigation' ) ),
+		'list' => array( __( 'Tags list' ), __( 'Categories list' ) ),
 	);
 	$nohier_vs_hier_defaults['menu_name'] = $nohier_vs_hier_defaults['name'];
 
