Announce checkbox state and label outlined text fields for screen readers - #2162
Open
mehranlatifi83 wants to merge 1 commit into
Open
mehranlatifi83 wants to merge 1 commit into
mehranlatifi83 wants to merge 1 commit into
Conversation
…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.
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
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
CheckableRowAccessibilityhelper: rows with aCheckBox2are reported as checkboxes with their state. Applied inNewContactBottomSheet,ShareAlert,AIEditorAlert,GroupCallSheet,UserSelectorBottomSheetandTranslateAlert3.ChatAttachAlertContactsLayout,CallLogActivityandProxyListActivityreport their checked state; the active proxy is reported as selected.OutlineTextContainerViewsets 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.