Open Bug 1861026 Opened 2 years ago Updated 2 years ago

AT-SPI2 cannot be used to modify text

Categories

(Core :: Disability Access APIs, defect)

Firefox 118
defect

Tracking

()

UNCONFIRMED

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.

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.

Component: Untriaged → Disability Access APIs
Product: Firefox → Core

This was likely caused by the new Cache the World architecture. I don't yet know specifically why it's broken, though.

Keywords: regression
Regressed by: 1824293
You need to log in before you can comment on or make changes to this bug.