Closed Bug 391723 Opened 17 years ago Closed 17 years ago

ARIA alerts are triggering 2X AT-SPI events

Categories

(Core :: Disability Access APIs, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: scott, Assigned: aaronlev)

References

(Blocks 1 open bug)

Details

(Keywords: access, regression)

The dojo alerts at http://archive.dojotoolkit.org/nightly/dojotoolkit/dijit/tests/test_Tooltip.html are sending repeated at-spi events.  Here are the event logs for a single alert as logged from a Windows box.  Thanks Simon!  I am seeing similar result for Minefield using Accerciser.

Firefox2:

OBJ_FOCUS     Name="Tools" Role=menu item State=focused,focusable,has popup
OBJ_HIDE     Name="tooltip on a button" Role=editable text State=read only,invisible,offscreen
OBJ_REORDER     Name="tooltip on a button" Role=alert State=normal
OBJ_SHOW     Name="tooltip on a button" Role=editable text State=read only
SYS_ALERT     Name="tooltip on a button" Role=alert State=normal
OBJ_REORDER     Name="Dojo Tooltip Widget Test" Role=document State=read only,focusable

Minefield:

(unknown)     Name=none [null] Role=alert State=offscreen
OBJ_HIDE     Name=none [false] Role=editable text State=read only,offscreen
(unknown)     Name=none [null] Role=alert State=offscreen
OBJ_HIDE     Name="tooltip on a button" Role=editable text State=read only,invisible,offscreen
OBJ_HIDE     Name=none [null] Role=alert State=invisible,offscreen
OBJ_HIDE     Name=none [null] Role="div" [ BUG? State/Role should not be a string ] State=invisible,offscreen
OBJ_HIDE     Name=none [null] Role="div" [ BUG? State/Role should not be a string ] State=invisible,offscreen
OBJ_REORDER     Name=none [null] Role=alert State=normal
OBJ_SHOW     Name="tooltip on a button" Role=editable text State=read only
OBJ_SHOW     Name=none [null] Role=alert State=normal
SYS_ALERT     Name=none [null] Role=alert State=normal
OBJ_SHOW     Name=none [null] Role="div" [ BUG? State/Role should not be a string ] State=normal
OBJ_REORDER     Name=none [null] Role="div" [ BUG? State/Role should not be a string ] State=normal
OBJ_REORDER     Name="Dojo Tooltip Widget Test" Role=document State=read only,focusable
OBJ_SHOW     Name=none [null] Role="div" [ BUG? State/Role should not be a string ] State=normal

I think the difference between the two logs and the odd 1st and 3rd events, also seen on Accerciser, indicate some issue here.
I'll look at this once bug 390692 gets checked in.
Depends on: livereal
Keywords: access
OS: Linux → All
Hardware: PC → All
Does it happen for all the alerts in http://www.mozilla.org/access/dhtml/alert ?

In particular I'm wondering if it happens for the first 2 but not the others, or vice-versa. We have a couple of bugs for regression on the first 2 alerts.
Keywords: regression
(In reply to comment #2)
> Does it happen for all the alerts in http://www.mozilla.org/access/dhtml/alert
> ?
No, the problem is only seen for Dojo widgets.  These Mozilla alerts trigger an even different set of events.  
Button 1:
object:text-changed:insert(10, 1, )
	source: [document frame | Accessible DHTML Alerts]
	application: [application | Minefield]
object:property-change:accessible-parent(0, 0, [document frame | Accessible DHTML Alerts])
	source: [paragraph | ]
	application: [application | Minefield]
object:children-changed:add(0, 0, [paragraph | ])
	source: [document frame | Accessible DHTML Alerts]
	application: [application | Minefield]
object:property-change:accessible-parent(0, 0, [document frame | Accessible DHTML Alerts])
	source: [alert | ]
	application: [application | Minefield]
focus(0, 0, None)
	source: [alert | ]
	application: [application | Minefield]
object:state-changed:focused(1, 0, None)
	source: [alert | ]
	application: [application | Minefield]
object:text-caret-moved(0, 0, None)
	source: [alert | ]
	application: [application | Minefield]

Button 2:
object:property-change:accessible-name(0, 0, Create - no Focus)
	source: [push button | Create - no Focus]
	application: [application | Minefield]
object:property-change:accessible-parent(0, 0, [section | ])
	source: [push button | Create - no Focus]
	application: [application | Minefield]
object:property-change:accessible-parent(0, 0, [document frame | Accessible DHTML Alerts])
	source: [section | ]
	application: [application | Minefield]
focus(0, 0, None)
	source: [push button | Create - no Focus]
	application: [application | Minefield]
object:state-changed:focused(1, 0, None)
	source: [push button | Create - no Focus]
	application: [application | Minefield]
object:text-changed:insert(10, 1, )
	source: [document frame | Accessible DHTML Alerts]
	application: [application | Minefield]
object:property-change:accessible-parent(0, 0, [document frame | Accessible DHTML Alerts])
	source: [paragraph | ]
	application: [application | Minefield]
object:children-changed:add(0, 0, [paragraph | ])
	source: [document frame | Accessible DHTML Alerts]
	application: [application | Minefield]

Button 3:
object:property-change:accessible-name(0, 0, close)
	source: [ | close]
	application: [application | Minefield]
object:property-change:accessible-parent(0, 0, [section | ])
	source: [ | close]
	application: [application | Minefield]
object:children-changed:add(0, 0, [ | close])
	source: [section | ]
	application: [application | Minefield]
object:property-change:accessible-parent(0, 0, [alert | ])
	source: [section | ]
	application: [application | Minefield]
object:children-changed:add(0, 0, [section | ])
	source: [alert | ]
	application: [application | Minefield]
object:property-change:accessible-parent(0, 0, [document frame | Accessible DHTML Alerts])
	source: [paragraph | ]
	application: [application | Minefield]
object:children-changed:add(0, 0, [paragraph | ])
	source: [document frame | Accessible DHTML Alerts]
	application: [application | Minefield]
object:property-change:accessible-parent(0, 0, [document frame | Accessible DHTML Alerts])
	source: [alert | ]
	application: [application | Minefield]
focus(0, 0, None)
	source: [alert | ]
	application: [application | Minefield]
object:state-changed:focused(1, 0, None)
	source: [alert | ]
	application: [application | Minefield]
object:text-caret-moved(0, 0, None)
	source: [alert | ]
	application: [application | Minefield]

Button 4:
object:property-change:accessible-name(0, 0, close)
	source: [ | close]
	application: [application | Minefield]
object:property-change:accessible-parent(0, 0, [section | ])
	source: [ | close]
	application: [application | Minefield]
object:children-changed:add(0, 0, [ | close])
	source: [section | ]
	application: [application | Minefield]
object:property-change:accessible-parent(0, 0, [alert | ])
	source: [section | ]
	application: [application | Minefield]
object:children-changed:add(0, 0, [section | ])
	source: [alert | ]
	application: [application | Minefield]
object:property-change:accessible-parent(0, 0, [document frame | Accessible DHTML Alerts])
	source: [paragraph | ]
	application: [application | Minefield]
object:children-changed:add(0, 0, [paragraph | ])
	source: [document frame | Accessible DHTML Alerts]
	application: [application | Minefield]




This is most likely caused bug 391847, investigating there.
Depends on: 391847
The problem of too many show or hide events being fired was fixed in bug 391847. Scott, can you try again with tomorrow's build? I believe this is now fixed.
It seems to be fixed for the most part.  I am a little concerned about the invalid objects as seen in the object:text-changed:insert event.  A number of invalid objects have also been seen on subsequent tests.  They seem to appear after the second tooltip has appeared.  Here's an event log.


object:text-changed:delete(0, 19, )
	source: [alert | ]
	application: [application | Minefield]
object:text-changed:insert(0, 19, tooltip on a button)
	source: [invalid | ]
	application: [application | Minefield]
object:property-change:accessible-parent(0, 0, [document frame | Dojo Tooltip Widget Test])
	source: [heading | ]
	application: [application | Minefield]
object:children-changed:remove(0, 0, [heading | ])
	source: [document frame | Dojo Tooltip Widget Test]
	application: [application | Minefield]
object:property-change:accessible-parent(0, 0, [document frame | Dojo Tooltip Widget Test])
	source: [heading | ]
	application: [application | Minefield]
object:children-changed:add(0, 0, [heading | ])
	source: [document frame | Dojo Tooltip Widget Test]
	application: [application | Minefield]
Scott, that seems like a separate bug.
I'm going to close this, but feel free to explain the text event problem in another bug.
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.