diff --git a/wp-admin/includes/class-wp-posts-list-table.php b/wp-admin/includes/class-wp-posts-list-table.php
index 5587e8ecf4..c71bbec871 100644
--- a/wp-admin/includes/class-wp-posts-list-table.php
+++ b/wp-admin/includes/class-wp-posts-list-table.php
@@ -1009,7 +1009,7 @@ class WP_Posts_List_Table extends WP_List_Table {
 			echo '<div class="locked-info"><span class="locked-avatar">' . $locked_avatar . '</span> <span class="locked-text">' . $locked_text . "</span></div>\n";
 		}
 
-		$pad = str_repeat( '&#8212; ', $this->current_level );
+		$pad = str_repeat( apply_filters( 'post_title_child_separator', '&#8212; ' ), $this->current_level );
 		echo '<strong>';
 
 		$title = _draft_or_post_title();
@@ -1020,13 +1020,13 @@ class WP_Posts_List_Table extends WP_List_Table {
 				get_edit_post_link( $post->ID ),
 				/* translators: %s: Post title. */
 				esc_attr( sprintf( __( '&#8220;%s&#8221; (Edit)' ), $title ) ),
-				$pad,
+				esc_html( $pad ),
 				$title
 			);
 		} else {
 			printf(
 				'<span>%s%s</span>',
-				$pad,
+				esc_html( $pad ),
 				$title
 			);
 		}
