Repository: microsoft/terminal (language: cpp)

Issue:
[Voice Access] [Find(Ctrl+Shift+F)]: Voice Access users are not able to activate 'Find' edit field with its placeholder value.
### Windows Terminal version

1.17.3052.0

### Windows build number

Windows 11 Version 22H2 (OS Build 25206.1000)

### Other Software

_No response_

### Steps to reproduce

1. Open Windows Terminal.
2. Open find pop-up window with 'Ctrl+Shift+F' keys.
3. Open Voice Access by 'Settings > Accessibility > Speech > Turn on Voice Access.
4. Give command as 'Click' by Voice Access on the page to access 'Find' edit field.
5. Observe the issue.

**User Experience: -**
Voice Access users will not be able to focus and hence access the find edit fields with visible name, if the accessible name defined for the edit field does not contain its visible placeholder name

**Guideline Reference:**
https://www.w3.org/WAI/WCAG21/Understanding/label-in-name.html

**Attachments:**
[Voice Access users are not able to activate 'Find' edit field with its placeholder value..zip](https://github.com/microsoft/terminal/files/10019688/Voice.Access.users.are.not.able.to.activate.Find.edit.field.with.its.placeholder.value.zip)


### Expected Behavior

Accessible name for the edit field should start with visible placeholder text, it should be defined as 'Find, Search text', so that VA users can access it with 'Click' command.

https://nam06.safelinks.protection.outlook.com/?url=https:%2f%2fwww.osgwiki.com%2fwiki%2fVoiceAccess_Testing&data=05%7c01%7cv-chisha%40microsoft.com%7cad1aa7ab3c63420978a708da31b8e712%7c72f988bf86f141af91ab2d7cd011db47%7c1%7c0%7c637876967593170034%7cUnknown%7cTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7c3000%7c%7c%7c&sdata=vx8nL3zR6xV5J7ImC%2BkIAygjzuu5wOXDwim31oXAtpc%3D&reserved=0

### Actual Behavior

Voice Access users are not able to activate 'Find' edit field with its placeholder value, it's because incorrect accessible name as 'Search text' is defined for the 'Find' edit field.

**Notes:**
1. Similar is the case with the combo boxes present throughout the application as users are not able to select the combo box with the currently selected value.
[NOTE1- Actions-Combo Box.zip](https://github.com/microsoft/terminal/files/10029283/NOTE1-.Actions-Combo.Box.zip)



Discussion / hints:
Hi @Shubham786786. I'm a bit confused regarding the additional notes from the issue above:
> 1. Similar is the case with the combo boxes present throughout the application as users are not able to select the combo box with the currently selected value.

The UIA tree for the combo box in the actions page looks as follows:
<img width="169" alt="image" src="https://user-images.githubusercontent.com/11050425/206572180-174d8679-9765-4ad4-af5a-054f31f8a057.png">

I specifically want to highlight the following notes from the image above:
- "Action" is the name of the combo box
- "Add a scroll mark" is the name of the internal list item

As the user changes the selected list item, "Add a scroll mark" is correctly replaced, but "Action" remains the same. As of now, this is by design, because the user is setting the action, so this seems to make sense.

My question is, what are we supposed to do here? Is the name of the combo box supposed to match that of the selected item? If so, won't that be confusing because the user then loses context over what the combo box represents (in this case, an action)?
Additionally, I took a look at the Settings App in Windows and I've noticed the following setting:
<img width="698" alt="image" src="https://user-images.githubusercontent.com/11050425/206753877-41624b89-540c-43cd-b18c-81fbcc0776a2.png">

Is represented as such:
<img width="234" alt="image" src="https://user-images.githubusercontent.com/11050425/206753924-1faab55a-2fd2-4eea-bd95-dcc12974fe66.png">

This is pretty similar to our current design where the name of the combo box is the "setting" but the selected value appears as a child list item.

Fix patch:
diff --git a/src/cascadia/TerminalControl/Resources/en-US/Resources.resw b/src/cascadia/TerminalControl/Resources/en-US/Resources.resw
index 4c17742c1ce..cff7cb1c9bd 100644
--- a/src/cascadia/TerminalControl/Resources/en-US/Resources.resw
+++ b/src/cascadia/TerminalControl/Resources/en-US/Resources.resw
@@ -1,17 +1,17 @@
 <?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!--
-    Microsoft ResX Schema
-
+  <!-- 
+    Microsoft ResX Schema 
+    
     Version 2.0
-
-    The primary goals of this format is to allow a simple XML format
-    that is mostly human readable. The generation and parsing of the
-    various data types are done through the TypeConverter classes
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
     associated with the data types.
-
+    
     Example:
-
+    
     ... ado.net/XML headers & schema ...
     <resheader name="resmimetype">text/microsoft-resx</resheader>
     <resheader name="version">2.0</resheader>
@@ -26,36 +26,36 @@
         <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
         <comment>This is a comment</comment>
     </data>
-
-    There are any number of "resheader" rows that contain simple
+                
+    There are any number of "resheader" rows that contain simple 
     name/value pairs.
-
-    Each data row contains a name, and value. The row also contains a
-    type or mimetype. Type corresponds to a .NET class that support
-    text/value conversion through the TypeConverter architecture.
-    Classes that don't support this are serialized and stored with the
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
     mimetype set.
-
-    The mimetype is used for serialized objects, and tells the
-    ResXResourceReader how to depersist the object. This is currently not
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
     extensible. For a given mimetype the value must be set accordingly:
-
-    Note - application/x-microsoft.net.object.binary.base64 is the format
-    that the ResXResourceWriter will generate, however the reader can
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
     read any of the formats listed below.
-
+    
     mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with
+    value   : The object must be serialized with 
             : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
             : and then encoded with base64 encoding.
-
+    
     mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with
+    value   : The object must be serialized with 
             : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
             : and then encoded with base64 encoding.
 
     mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array
+    value   : The object must be serialized into a byte array 
             : using a System.ComponentModel.TypeConverter
             : and then encoded with base64 encoding.
     -->
@@ -134,7 +134,7 @@
     <comment>The tooltip text for the search forward button.</comment>
   </data>
   <data name="SearchBox_TextBox.PlaceholderText" xml:space="preserve">
-    <value>Find...</value>
+    <value>Find</value>
     <comment>The placeholder text in the search box control.</comment>
   </data>
   <data name="DragFileCaption" xml:space="preserve">
@@ -158,8 +158,8 @@
     <comment>The name of the search backward button for accessibility.</comment>
   </data>
   <data name="SearchBox_TextBox.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name" xml:space="preserve">
-    <value>Search Text</value>
-    <comment>The name of the text box on the search box control for accessibility.</comment>
+    <value>Find</value>
+    <comment>The name of the text box on the search box control for accessibility. This should match "SearchBox_TextBox.PlaceholderText"</comment>
   </data>
   <data name="TerminalControl_ControlType" xml:space="preserve">
     <value>terminal</value>
@@ -208,4 +208,4 @@ Please either install the missing font or choose another one.</value>
     <value>No results found</value>
     <comment>Announced to a screen reader when the user searches for some text and there are no matches for that text in the terminal.</comment>
   </data>
-</root>
+</root>
\ No newline at end of file


Test patch: