Skip to content

Announce checklist item state to screen readers - #2059

Open
mehranlatifi83 wants to merge 1 commit into
DrKLO:masterfrom
mehranlatifi83:fix/talkback-todo-item-state-unsaid
Open

mehranlatifi83 wants to merge 1 commit into
DrKLO:masterfrom
mehranlatifi83:fix/talkback-todo-item-state-unsaid

Conversation

@mehranlatifi83

@mehranlatifi83 mehranlatifi83 commented Sep 4, 2026 •

Copy link
Copy Markdown

Problem

Each checklist item has a checkbox showing whether it is done. TalkBack does not read it, so a half-done checklist sounds exactly like an untouched one.

The done state is stored in the same field as a poll answer's state, but the two checks that would read it both fail for checklists: one requires a poll answer, the other checks whether a poll was voted by looking at the media, which is never a poll for a checklist.

Fix

In ChatMessageCell:

  • Report each checklist item as a checkbox with its checked state, and read who checked it (shown under the title).
  • For checklists that cannot be checked (a bullet is shown and done items are struck through), do not report a checkbox, and say "done" in words instead of the strikethrough.

Testing

With TalkBack on, send a checklist, check some items, and swipe through them.

Before: all items sounded the same. After: each reads as a checkbox with its state, and checked ones say who checked them.

@mehranlatifi83
mehranlatifi83 force-pushed the fix/talkback-todo-item-state-unsaid branch from 70cc282 to efab3c9 Compare September 18, 2026 09:50
Every item of a checklist is drawn with a box beside it, and the box is
the whole of what the item says. None of it reached a screen reader: the
state is kept in the same field a poll answer keeps its own in, and the
two tests that would have read it out both fail for a checklist. One asks
for a poll answer, which an item is not; the other asks whether the poll
has been voted in, and that is answered by looking at the media, which
for a checklist is never a poll. So a list with half of it done reads
exactly like an untouched one.

Give an item the kind of a check box and its state, so a screen reader
says it in its own words, and say who ticked it, which is drawn under the
title once it is.

Where the list cannot be ticked at all, a bullet is drawn in place of the
box and the title is struck through. Do not offer a box there either, and
say in words what the line through the title says on the screen.
@mehranlatifi83
mehranlatifi83 force-pushed the fix/talkback-todo-item-state-unsaid branch 2 times, most recently from 6969d93 to d4c84e5 Compare October 1, 2026 23:01
@mehranlatifi83 mehranlatifi83 changed the title Say whether an item of a checklist is done Oct 1, 2026
@mehranlatifi83
mehranlatifi83 force-pushed the fix/talkback-todo-item-state-unsaid branch from d4c84e5 to 9902392 Compare October 13, 2026 11:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant