Index: src/wp-content/themes/twentytwenty/assets/js/index.js
===================================================================
--- src/wp-content/themes/twentytwenty/assets/js/index.js	(revision 52990)
+++ src/wp-content/themes/twentytwenty/assets/js/index.js	(working copy)
@@ -678,6 +678,8 @@
 /* Toggle an attribute ----------------------- */
 
 function twentytwentyToggleAttribute( element, attribute, trueVal, falseVal ) {
+	var toggles;
+
 	if ( element.classList.contains( 'close-search-toggle' ) ) {
 		return;
 	}
@@ -687,11 +689,20 @@
 	if ( falseVal === undefined ) {
 		falseVal = false;
 	}
-	if ( element.getAttribute( attribute ) !== trueVal ) {
-		element.setAttribute( attribute, trueVal );
-	} else {
-		element.setAttribute( attribute, falseVal );
-	}
+
+	/*
+	 * Take into account multiple toggle elements that need their state to be
+	 * synced. For example: the Search toggle buttons for desktop and mobile.
+	 */
+	toggles = document.querySelectorAll( '[data-toggle-target="' + element.dataset.toggleTarget + '"]' );
+
+	toggles.forEach( function( toggle ) {
+		if ( toggle.getAttribute( attribute ) !== trueVal ) {
+			toggle.setAttribute( attribute, trueVal );
+		} else {
+			toggle.setAttribute( attribute, falseVal );
+		}
+	} );
 }
 
 /**
Index: src/wp-content/themes/twentytwenty/template-parts/modal-search.php
===================================================================
--- src/wp-content/themes/twentytwenty/template-parts/modal-search.php	(revision 52990)
+++ src/wp-content/themes/twentytwenty/template-parts/modal-search.php	(working copy)
@@ -8,7 +8,7 @@
  */
 
 ?>
-<div class="search-modal cover-modal header-footer-group" data-modal-target-string=".search-modal">
+<div class="search-modal cover-modal header-footer-group" data-modal-target-string=".search-modal" role="dialog" aria-modal="true" aria-label="<?php esc_attr_e( 'Search', 'twentytwenty' ); ?>">
 
 	<div class="search-modal-inner modal-inner">
 
