|
Bugzilla – Full Text Bug Listing |
| Summary: | AccessibleName property of SWF controls is not visible to ATs | ||
|---|---|---|---|
| Product: | [Mono] UI Automation | Reporter: | Brian Merrell <bgmerrell> |
| Component: | Winforms - General | Assignee: | E-mail List <mono-a11y-bugs> |
| Status: | REOPENED --- | QA Contact: | E-mail List <mono-a11y-qa> |
| Severity: | Normal | ||
| Priority: | P2 - High | CC: | cachen |
| Version: | Release 0.9.1 | ||
| Target Milestone: | Release 1.1 | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Found By: | Integration Test | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Bug Depends on: | 459223, 486721 | ||
| Bug Blocks: | |||
| Attachments: |
StatusStrip sample with AccessibleName property
wip patch wip patch for Mono WinForms Updated patch against uia2atk |
||
I think Mario and Mike have done everything needed to have this working. Reopening. Dependency fixed. Still an issue in: [ ] mono-uia-123523-237.i586.rpm 20-Jan-2009 08:31 40K [ ] mono-winforms-123877-307.i586.rpm 20-Jan-2009 08:31 2.4M [ ] uiaatkbridge-123670-428.i586.rpm 20-Jan-2009 08:31 71K [ ] uiautomationwinforms-123761-451.i586.rpm 20-Jan-2009 08:31 163K Reopening. Unassigning. We'll look at this starting next iteration (tomorrow). Taking bug, adding hours. Unassigning from myself; I won't be working these this iteration. As MSDN says: http://msdn.microsoft.com/en-us/library/ms748367.aspx "The Name property should never contain the textual contents of the edit control." So NameProperty of TextBox should be empty. I am not saying that the name property of the accessible should be the textual contents of the edit control. I am saying that the name property of the accessible should be able to be explicitly set using the AccessibleName property of the TextBox control. This is done in the sample code like this: self.textbox1.AccessibleName = "explicitly set name" There is also a Label control in the sample application that has an explicitly set name and that is working as expected now. The TextBox, however, still has an empty name instead of the expected name "explicitly set name". We could be emulating Windows behavior here, will need to check. Perhaps for TextBox AccessibleName is not used in this way? Created attachment 289596 [details]
StatusStrip sample with AccessibleName property
StatusStrip and Items on StatusStrip are not working with AccessibleName property as theirs Name
(In reply to comment #10) > We could be emulating Windows behavior here, will need to check. Perhaps for > TextBox AccessibleName is not used in this way? Yes, this would match the behavior in Windows. Bumping to P2. From IRC: (12:19:32 PM) knocte: bgmerrell: ping (01:08:15 PM) bgmerrell: knocte: pong (01:09:39 PM) knocte: bgmerrell: hey, I'm working on bug 457845 and I'm finding a lot of inconsistencies if we develop it (01:09:50 PM) knocte: like, for instance, the name of a combobox (01:10:02 PM) knocte: the accessibleName would override the name of the selected option (01:10:09 PM) knocte: which I don't know if it is good (01:13:52 PM) bgmerrell: i guess we could see what Gtk and Windows do in that circumstance (01:14:44 PM) bgmerrell: i don't have UISpy installed on windows right now, so that might take me a little while (01:15:02 PM) bgmerrell: i think i have to install visual studio for that.. (01:15:21 PM) knocte: no need, you can use UIAVerify (01:15:58 PM) bgmerrell: alright (01:56:11 PM) bgmerrell: still setting up some stuff on windows (01:56:17 PM) bgmerrell: afk for a bit, though (03:29:42 PM) knocte: bgmerrell: another thing, should an accessible override its name by AccessibleName if LabeledBy is being used? (03:31:25 PM) knocte: sandy|away: catching up now with old IRC logs... what I proposed on the iteration meeting was to do the backports all them all in one commit at the end of the iteration, since people disagreed, I was just going to do them in a commit-per-commit basis at the end of the iteration, which is what I did in the previous 1.0 iteration and worked (no risk, and merge worked) (05:22:58 PM) bgmerrell: knocte: both .NET and Gtk show the explicitly set name for the combo box when it is set, regardless of any item being selected or not (05:23:36 PM) knocte: bgmerrell: cool, and how about setting accessibleName, and later, select a different option? (05:25:13 PM) bgmerrell: knocte: tried that too, the combo box accessible retains the explicitly set name (05:25:45 PM) knocte: oh no (05:25:55 PM) knocte: that will be hard to get right (05:26:28 PM) bgmerrell: seems like that when the name is explicitly set, everything else just gets ignored (05:26:41 PM) knocte: ok, thanks for the info (05:26:44 PM) bgmerrell: i am going to check your LabeledBy question now.. (05:26:51 PM) bgmerrell: you mean just set both properties? (05:30:45 PM) knocte: yep, am seeing that if I set LabeledBy, I don't get events of the NameProperty being update anymore when I set AccessibleName (05:30:50 PM) knocte: and I don't know if that's correct (05:44:42 PM) mario: that is not correct, because AccessibleName has higher priority than Name/LabeledBy (05:46:36 PM) knocte: ok, thanks mario (05:46:43 PM) bgmerrell: okay, cool (05:47:05 PM) bgmerrell: (how do I set the LabeledBy property btw?) (05:47:19 PM) mario: at least in Controls with AccessibleName set (05:47:52 PM) mario: LabeledBy is set by those controls that don't return null, for example, a Label next to a TextBox (05:48:01 PM) mario: TextBox is LabeledBy Label (05:48:25 PM) bgmerrell: yeah, but is there a way to set it explicitly like you can with control.AccessibleName? (05:48:25 PM) mario: so, the name (if textbox.AccessibleName) is not available will be Label.Name (05:48:38 PM) mario: not in winforms, in moonlight you can (05:48:44 PM) bgmerrell: ah, alright. Still working on this issue... 20 tests are broken with my current WIP patches. Created attachment 308553 [details]
wip patch
With this patch, the feature is working, but we get 20 tests failing (regressions). I'm working on fixing them.
Created attachment 308575 [details]
wip patch for Mono WinForms
Hugh, almost forgot to upload the SWF patch...
Created attachment 308665 [details]
Updated patch against uia2atk
- Down to 15 failures, yay!
- Cleaned up, no CWLs.
|
PROBLEM STATEMENT In Gtk, you can use something like widget.Accessible.Name = "foo" (gtk#) or widget.get_accessible().set_name("foo") (pygtk) to explicitly set the accessible name of a widget. This name then appears as the "name" for widget's accessible in an accessibility tool (AT) REPRO 1. Open Accerciser and click on the "Interface Viewer" tab 2. Run uia2atk/test/samples/gtktextview.py 3. Browse to the TextView in Accerciser's left pane 4. Observe that the TextView accessible's name is "explicitly set name". This is because of line 24 of the sample's code which is "self.bar.get_accessible().set_name("explicitly set name")" 5. Run uia2atk/test/samples/textbox.py 6. Browse to the accessible of the first TextBox (labeled "Normal TextBox) in Accerciser (which is actually listed last in accerciser) RESULTS The TextBox accessible has no name despite having the following code on line 30 of the textbox.py sample: self.textbox1.AccessibleName = "explicitly set name" EXPECTED RESULTS I would expect the TextBox accessible's name to be "explicitly set name", like in the Gtk example in the REPRO steps. COMMENTS I believe Mario has already started working on this. It was discussed in IRC and on the mono-a11y mailling list on Dec 9th (today).