Bug 486034

Summary: No UIA event fired when AccessibleName/AccessibleDescription changed.
Product: [Mono] UI Automation Reporter: Rui Guo <rguo>
Component: Winforms - UIAAssignee: E-mail List <mono-a11y-bugs>
Status: NEW --- QA Contact: E-mail List <mono-a11y-qa>
Severity: Normal    
Priority: P5 - None    
Version: Unspecified   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Rui Guo 2009-03-17 15:27:36 UTC
We know if the AccessibleName property of a component is specified, then the control's UIA Name Property is that value, and similarly, the UIA HelpTextProperty can be the control's AccessibleDescription property. However currently the modification to AccessibleName/AccessibleDescription will not cause a UIA event fired.

[Repo & Unit Test]

Add following code to any provider test file:

        [Test]
        public void AccesiblePropertiesTest ()
        {
            Control combobox = ...//Some code to retrieve the control instance, such as "GetComboBox ();" if you use this test in ComboBoxProviderTest.cs
            bridge.ResetEventLists ();
            combobox.AccessibleName = "A fancy new name";
            Assert.AreEqual(1,
                            bridge.GetAutomationPropertyEventCount (AutomationElementIdentifiers.NameProperty.Id),
                            "Expect a name changed event");
            combobox.AccessibleDescription = "New discription";
            Assert.AreEqual(1,
                            bridge.GetAutomationPropertyEventCount (AutomationElementIdentifiers.HelpTextProperty.Id),
                            "Expect a HelpText changed event");

        }

[Current & expected result]
I expect the unit test passes, however currently there is no event fired.

[Root cause & Suggested solution]
Currently The is not event fired when Control.Accessible[Name/Description] changed. We need to firstly modify the SWF codebase and fire events for these two properties, and then listen these events in UIA codebase and then fire UIA property changed events.

Besides the Control class, other Components which have Accessible[Name/Description] properties includes ToolStripItem and PrintPreiviewDialog.
(It makes no sense to me that why among those CommonDialogs, just PrintPreiviewDialog has such properties...)