Skip to content

Announce checkbox state and label outlined text fields for screen readers - #2162

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

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

Conversation

@mehranlatifi83

@mehranlatifi83 mehranlatifi83 commented Oct 1, 2026 •

Copy link
Copy Markdown

Problem

Many options are rows with a round checkbox next to the text, clicked as a whole: syncing a new contact, sharing a video from a timestamp, joining a call with the microphone on, calling with video, adding emoji or a link in the AI editor. TalkBack reads the text but not whether the box is checked. The same applies to selected rows in lists (contacts being shared, calls selected for deletion, proxies), and to the active proxy marked with a check.

Outlined text fields (first and last name of a new contact, sign-up name, passcode, cloud password) show their label drawn on the outline. The field has no hint, so TalkBack reads "Edit box".

Fix

  • New CheckableRowAccessibility helper: rows with a CheckBox2 are reported as checkboxes with their state. Applied in NewContactBottomSheet, ShareAlert, AIEditorAlert, GroupCallSheet, UserSelectorBottomSheet and TranslateAlert3.
  • Selected rows in ChatAttachAlertContactsLayout, CallLogActivity and ProxyListActivity report their checked state; the active proxy is reported as selected.
  • OutlineTextContainerView sets its label as the field's hint.

Testing

With TalkBack on, open New Contact and focus the name fields and the sync row; then share a contact and select a few.

Before: "Edit box", and no checked state. After: fields read "First name"/"Last name", and rows read checked or not checked.

…ined fields

Many choices are a row with a round check box drawn beside its words,
pressed as a whole: syncing a new contact with the phone, sharing a
video at the moment it was paused, putting the microphone on when
joining a call, calling with video, adding emoji or a link in the AI
editor. A screen reader read the words of the row and nothing of the
box, so it could not be told whether the choice was on or off, before
pressing it or after.

The same was true of the rows picked in a list: contacts being shared,
calls picked to delete, proxies picked to delete, and of the proxy in
use, marked by a tick drawn beside its state.

And the outlined text fields, the first and last name of a new contact,
the name asked for on signing up, the passcode and the cloud password
fields, show what goes in them as a label drawn on their outline. The
field itself has no hint and no name, so a screen reader called each
one an edit box and nothing more.

Each such row is a check box now that says whether it is ticked, a row
picked in a list says it is, the proxy in use says it is the one
chosen, and an outlined field says what goes in it, as a hint a screen
reader reads and the screen does not show.
@mehranlatifi83 mehranlatifi83 changed the title Say whether a check box beside its words is ticked, and name the outlined fields Announce checkbox state and label outlined text fields for screen readers Oct 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant