Explore by touch with TalkBack stops working after scrolling in some pages
Categories
(Core :: Disability Access APIs, defect)
Tracking
()
People
(Reporter: BlindMoon38, Assigned: morgan)
References
(Blocks 1 open bug)
Details
Attachments
(2 files)
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-beta+
|
Details | Review |
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
- Open Firefox with TalkBack enabled.
- Go to https://github.com/mozilla/translations/issues and make sure you aren't logged in with a GitHub account.
- Explore the page with TalkBack's Explore by touch. Notice that it works as expected.
- Scroll the page down to the bottom and try exploring by touch. Notice that no elements are focusable.
- Go to https://okazu.yuricon.com/ and repeat steps 3 and 4. Note: this site doesn't have mobile design.
- 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.
| Reporter | ||
Updated•8 months ago
|
Updated•8 months ago
|
| Assignee | ||
Comment 1•8 months ago
|
||
ni=me to test if this reproduces on desktop
| Assignee | ||
Comment 2•8 months ago
|
||
(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
| Assignee | ||
Updated•8 months ago
|
| Assignee | ||
Comment 3•8 months ago
|
||
Aha, this reproduces with the devtools mobile simulator, on github.
Our bounds also appear ~slightly off there for non-scrolled content. I will investigate
| Assignee | ||
Comment 4•8 months ago
|
||
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>
| Assignee | ||
Updated•8 months ago
|
| Assignee | ||
Comment 5•8 months ago
|
||
| Assignee | ||
Comment 6•8 months ago
|
||
Comment 8•8 months ago
|
||
| bugherder | ||
Comment 9•8 months ago
|
||
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
| Assignee | ||
Comment 10•8 months ago
|
||
Original Revision: https://phabricator.services.mozilla.com/D269674
Updated•7 months ago
|
Updated•7 months ago
|
Comment 11•7 months ago
|
||
| uplift | ||
Description
•