Closed Bug 1991817 Opened 8 months ago Closed 8 months ago

Explore by touch with TalkBack stops working after scrolling in some pages

Categories

(Core :: Disability Access APIs, defect)

Firefox 143
Unspecified
Android
defect

Tracking

()

RESOLVED FIXED
146 Branch
Tracking Status
firefox145 --- fixed
firefox146 --- fixed

People

(Reporter: BlindMoon38, Assigned: morgan)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

Similar to Bug 1907247 and Bug 1931814. This bug occurs in different pages, so I'll report them all here, though I don't know if the underlying issue is the same.

Steps to reproduce

  1. Open Firefox with TalkBack enabled.
  2. Go to https://github.com/mozilla/translations/issues and make sure you aren't logged in with a GitHub account.
  3. Explore the page with TalkBack's Explore by touch. Notice that it works as expected.
  4. Scroll the page down to the bottom and try exploring by touch. Notice that no elements are focusable.
  5. Go to https://okazu.yuricon.com/ and repeat steps 3 and 4. Note: this site doesn't have mobile design.
  6. Go to https://firefox-ci-tc.services.mozilla.com/tasks/groups/JP3P6jO_RKmac00lXtApLw and repeat steps 3 and 4.

Actual behaviour

No elements are focusable with Explore by touch after scrolling down the pages. If you scroll down just a little from the top, the focusable elements don't change, though the visible content doesn't match with what TalkBack says.

If you scroll back to the top after Explore by touch stops reporting elements, TalkBack can focus elements again. This applies only to the first two sites. In the third one, Explore by touch stops working until the page is reloaded.

Expected behaviour

Explore by touch should work always.

Device information

  • Device model: Xiaomi Poco X6.
  • Android version: HyperOS 2.0.11.0 based on Android 15.
  • TalkBack version: 16.1.0.808839780 (60171386).

Firefox version

  • Firefox 143.0.2.
  • Firefox Nightly 145.0a1 from 2025-09-30T16:29:01.
OS: Unspecified → Android
Blocks: boundsa11y

ni=me to test if this reproduces on desktop

Flags: needinfo?(mreschenberg)

(In reply to Morgan Reschenberg [:morgan] from comment #1)

ni=me to test if this reproduces on desktop

I can't reproduce this issue using VoiceOver's "cursor follows mouse" setting. This may imply a platform-specific issue with Android

Flags: needinfo?(mreschenberg)
Assignee: nobody → mreschenberg

Aha, this reproduces with the devtools mobile simulator, on github.
Our bounds also appear ~slightly off there for non-scrolled content. I will investigate

In the mobile simulator on desktop, I can't reach the bottom button via hittesting with VO after scrolling it into view

data:text/html,<button>I am a button at the top</button><div style="background:green;min-height: 400vh;">I am a div</div><button>I am a button>
Severity: -- → S2
Pushed by mreschenberg@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/2809fa98ae70 https://hg.mozilla.org/integration/autoland/rev/634c5dcbb3b0 Avoid scaling scroll offset in content due to potential for async updates from APZ r=eeejay
Status: UNCONFIRMED → RESOLVED
Closed: 8 months ago
Resolution: --- → FIXED
Target Milestone: --- → 146 Branch

firefox-beta Uplift Approval Request

  • User impact if declined: Users who rely on TalkBack on Android will continue to experience issues using "explore by touch" functionality on pages that scroll. This functionality is a core part of screen reader use on mobile.
    Desktop users are also affected and will experience issues using hittesting functionality via assistive technologies in combination with APZ. Touch screen laptop users
  • Code covered by automated testing: no
  • Fix verified in Nightly: yes
  • Needs manual QE test: no
  • Steps to reproduce for manual QE testing:
  • Risk associated with taking this patch: medium
  • Explanation of risk level: This is a medium risk patch, mainly because it contains no automated tests. Our testing infrastructure cannot reproduce this issue reliably.
    The fix has been verified on both desktop and mobile. The fix is also well scoped and should not affect other areas of our infrastructure. Previously, we were doing a scaling operation in the content process and then caching the result in the parent process. Now, we are caching the unscaled value from content to parent and applying the scaling factor in parent directly.
    The scaled value was already cached and has been verified correct through automated tests.
  • String changes made/needed: N/A
  • Is Android affected?: yes
Attachment #9522412 - Flags: approval-mozilla-beta?
Attachment #9522412 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: