AT-SPI2 cannot be used to modify text
Categories
(Core :: Disability Access APIs, defect)
Tracking
()
People
(Reporter: anonym, Unassigned)
References
(Blocks 1 open bug, Regression)
Details
(Keywords: regression)
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/118.0
Steps to reproduce:
On Debian I have started Firefox 118 with GNOME_ACCESSIBILITY=1 in the environment to enable accessibility support.
Then I used the AT-SPI2 SetTextContents dbus method to attempt to set the text in the address bar (but it is not unique to the address bar, all text entries are affected as far as I can tell):
AT_SPI_BUS_ADDRESS="$(
dbus-send --session --print-reply=literal \
--dest=org.a11y.Bus /org/a11y/bus org.a11y.Bus.GetAddress \
| sed 's/^ *//'
)"
dbus-send --bus="${AT_SPI_BUS_ADDRESS}" --print-reply=literal --dest=:1.55 /org/a11y/atspi/accessible/701 org.a11y.atspi.EditableText.SetTextContents string:"foobar"
Of course, in the above, the destination (:1.55) and object (/org/a11y/atspi/accessible/701) will have to be adapted. Originally I discovered this issue when working with Dogtail (packaged as python3-dogtail in Debian, for instance) which perhaps is easier to reproduce with (but in the end results in the same dbus method call as above):
import dogtail.tree
dogtail.tree.root.application('Firefox').child('Navigation', roleName='tool bar').child(roleName='entry').text = 'foobar'
Actual results:
The address bar's text was not changed despite the dbus command returning boolean:true (which should indicate that the text was successfully changed).
Expected results:
The address bar's text should be set to "foobar".
This worked fine in the previous 102esr but is broken in 115esr, so the bug was introduced somewhere between those versions.
Note that only editing text is broken, e.g. retrieving the text works fine (e.g. with GetText dbus method, or through Dogtail by dropping the assignment after .text).
BTW, I just reproduced the issue with the Firefox 119 flatpak, so it is not a Debian package issue.
Comment 2•2 years ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::Disability Access APIs' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
Updated•2 years ago
|
Comment 3•2 years ago
|
||
This was likely caused by the new Cache the World architecture. I don't yet know specifically why it's broken, though.
Description
•