GNOME Bugzilla – Bug 369267
Orca will not stop reading the location.
Last modified: 2006-11-07 15:49:20 UTC
Please describe the problem: This is an a11y bug. Steps to reproduce: 1. Invoke orca2.17.1 and nautilus, open the file browser. 2. Press Tab to move focus onto gtk-edit toggle button, press Space to click it. 3. The Location text entry will be displayed after step2, press Tab to move focus to this text entry. Actual results: Orca will not stopping reporting the path. Expected results: Orca report the path to user for one time. Does this happen every time? Yes. Other information: No.
Where is the "gtk-edit toggle button"? I can seem to find it. In addition, are you using nautilus in list view or icon view mode? Finally, where is the "file browser" component of nautilus (I thought that's what all of nautilus was, but maybe there is a specific "file browser" dialog I don't know about)?
It's nautilus actually. This can be found with both icon view and list view of nautilus. That toggle button is under the the toolbar and above the place pane. I attached the screenshot of that button below.
Created attachment 76062 [details] Screenshot
Thanks Tim! I can now reproduce this. Here's what I did: 1) Run nautilus 2) Make sure a directory is highlighted in the list of files for a folder 3) Select "File->Browse Folder". This brings up the "File Browser" dialog 4) Tab to the toggle button just below the toolbar and to the left of the window - this button looks like a piece of paper with a pencil on it. When you toggle this button (which definitely needs a better name from nautilus), nautilus will toggle between allowing you to type in a location versus displaying buttons that let you navigate directories. When the toggle button is pressed, you'll be in the mode where you can type in a location, and nautilus will show a "Location:" label and a text area. Orca will keep repeating the "Location:" button and the text area over and over.
UPon analysis of this problem, nautilus is issuing repeated name change events for the "Location:" label even though the label's name is not changing: ... OBJECT EVENT: object:property-change:accessible-name detail=(0,0) app.name='nautilus' name='Location:' role='label' state='ENABLED MULTI_LINE SENSITIVE SHOWING VISIBLE' relations='LABEL_FOR' OBJECT EVENT: object:property-change:accessible-name detail=(0,0) app.name='nautilus' name='Location:' role='label' state='ENABLED MULTI_LINE SENSITIVE SHOWING VISIBLE' relations='LABEL_FOR' OBJECT EVENT: object:property-change:accessible-name detail=(0,0) app.name='nautilus' name='Location:' role='label' state='ENABLED MULTI_LINE SENSITIVE SHOWING VISIBLE' relations='LABEL_FOR' OBJECT EVENT: object:property-change:accessible-name detail=(0,0) app.name='nautilus' name='Location:' role='label' state='ENABLED MULTI_LINE SENSITIVE SHOWING VISIBLE' relations='LABEL_FOR' OBJECT EVENT: object:property-change:accessible-name detail=(0,0) app.name='nautilus' name='Location:' role='label' state='ENABLED MULTI_LINE SENSITIVE SHOWING VISIBLE' relations='LABEL_FOR' OBJECT EVENT: object:property-change:accessible-name detail=(0,0) app.name='nautilus' name='Location:' role='label' state='ENABLED MULTI_LINE SENSITIVE SHOWING VISIBLE' relations='LABEL_FOR' OBJECT EVENT: object:property-change:accessible-name detail=(0,0) app.name='nautilus' name='Location:' role='label' state='ENABLED MULTI_LINE SENSITIVE SHOWING VISIBLE' relations='LABEL_FOR' ... When Orca detects an accessible-name change event on a label that is labelling the object with focus, Orca will re-present the object (since it's name has changed). IMO, this is a bug somewhere besides Orca - something should not issue change events for things that do not change.
The button is created in location_button_create in nautois-navigation-window.c.The button contains the stock image GTK_STOCK_EDIT, which explains where the name comes from. If a better name is required this function is where it needs to be supplied.
I think that this is anautilus problem. I am seeing the function nautilus_location_bar_update_label being called 4 times each time I toggled the button.
Created attachment 76154 [details] [review] Proposed patch for gail The patch checks that the text on the label has changed before emitting nortifications
Hi Padraig: Thanks for the patch. I considered such a patch, but the root cause really seems to be elsewhere as you note. In the past when we've encountered this sort of problem (and we have seen it before), we've asked the application to alter its behavior (there's no reason an app should be setting the label text four times when a button is toggled, and no reason to set the label text if it has not changed). All that said, I suppose the patch is harmless (and relatively small and inobtrusive) and I will apply it.
Created attachment 76155 [details] Stack trace of where nautilus_location_bar_upadte_label is called