Repository navigation
Fix screen readers skipping list rows - #2007
Open
mehranlatifi83 wants to merge 1 commit into
Open
mehranlatifi83 wants to merge 1 commit into
mehranlatifi83 wants to merge 1 commit into
Conversation
mehranlatifi83
force-pushed
the
fix/talkback-list-rows-read-as-one
branch
6 times, most recently
from
August 2, 2026 00:50
4df6cfa to
99c9268
Compare
mehranlatifi83
force-pushed
the
fix/talkback-list-rows-read-as-one
branch
from
August 3, 2026 17:16
99c9268 to
46fb5db
Compare
mehranlatifi83
force-pushed
the
fix/talkback-list-rows-read-as-one
branch
3 times, most recently
from
August 29, 2026 19:07
603a38a to
d7748a2
Compare
mehranlatifi83
force-pushed
the
fix/talkback-list-rows-read-as-one
branch
from
September 18, 2026 09:50
d7748a2 to
7d91532
Compare
Going through the results of an inline bot with a screen reader skips over entries, and so does going through the list of people to mention: it happens at the point where the list has to scroll to carry on. A screen reader asks a list to scroll once it reaches the last row it can see, and the list answers with a page of itself, which it takes to be its own height. That list is measured taller than the part of it that is on screen, so a page of it is more than what is shown, and the rows that come next are carried past the edge before they can be reached. Take the page from the part of the list that is really in sight, and scroll only as far as it takes to bring the last row that fits in it wholly to the edge. The row after it is then the next one to be read, and none of the rows in between are lost.
mehranlatifi83
force-pushed
the
fix/talkback-list-rows-read-as-one
branch
2 times, most recently
from
October 1, 2026 23:01
d99a6c6 to
0a065b1
Compare
mehranlatifi83
force-pushed
the
fix/talkback-list-rows-read-as-one
branch
from
October 13, 2026 11:37
0a065b1 to
47ff949
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
With TalkBack, some rows are skipped in the inline bot results list and in the mention suggestions list, exactly at the point where the list has to scroll.
When a screen reader reaches the last visible row, it asks the list to scroll forward.
RecyclerViewscrolls by its own height. These lists are measured taller than the part that is actually visible, so one "page" is more than what is on screen, and the next rows are scrolled past before they can be read.Fix
In
RecyclerView, use the visible part of the list as the page size, and scroll only far enough to bring the last fully visible row to the edge. The next row is then the next one read. Lists that are fully visible are not affected.Testing
With TalkBack on, open inline bot results (for example
@gif cat) or the mention list in a group, and swipe through past the point where the list scrolls.Before: rows were skipped. After: every row is read in order.