You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Announce a verb on the Create Poll button
StreamButton's clickable was set with no onClickLabel, so TalkBack
defaulted to the generic "double-tap to activate" hint. Add an
optional `onClickLabel` parameter to StreamButton and pass it through
to clickable. PollCreationHeader's create button now provides
"create poll" as the verb, so TalkBack reads "Create Poll, button.
Double-tap to create poll." instead of the generic hint.
* Make poll switch rows toggleable and merged
Each switch row in `PollSwitchList` (top-level options and the inner
limit-votes row) wraps a title, description and a `StreamSwitch` —
TalkBack focused each as its own node, so a user had to swipe three
times to learn what one switch controlled. Wrap each row in
`Modifier.toggleable(role = Role.Switch) + semantics(mergeDescendants
= true) {}` so the row becomes a single focus stop announced as
"{title}, {description}, switch, on/off", with the row's onValueChange
firing on tap or double-tap. The inner `StreamSwitch` now takes
`onCheckedChange = null` (the pattern its KDoc already documents),
which makes the visual switch decorative while the parent row owns
the toggle action. Sighted users also gain a larger hit target.
* Announce poll option errors via a polite live region
`PollOptionErrorRow` mounts conditionally when an option has an error
(currently only the duplicate-title case). Sighted users see the icon
and message appear inline; TalkBack users had no signal until they
swiped to the row. Add `Modifier.semantics(mergeDescendants = true)
{ liveRegion = LiveRegionMode.Polite }` so TalkBack announces the
existing error message the moment the row enters the tree.
* Expose poll option reordering via TalkBack custom actions
The reorder UX relies on dragging a handle, which isn't a gesture
TalkBack supports natively. Expose two `CustomAccessibilityAction`s
("Move up" / "Move down") on each option's drag handle so TalkBack
users can reorder via the local context menu. Each action is wired to
a shared `move` lambda used by both the gesture's `onSettle` callback
and the new accessibility actions, and the action list is built per
row so the top option doesn't offer Move up and the bottom option
doesn't offer Move down.
* Simplify poll option move callbacks
* Pin poll switch row min height to interactive size
* Include option name in reorder and remove a11y labels
* Anchor poll drag handle a11y on its full Box bounds
* Let integrators supply the poll create click label
* Disambiguate Create Poll button label from screen heading
* Hide poll input placeholder text from accessibility
* Hide redundant switch state on poll switch rows
Copy file name to clipboardExpand all lines: stream-chat-android-compose/api/stream-chat-android-compose.api
+15-16Lines changed: 15 additions & 16 deletions
Original file line number
Diff line number
Diff line change
@@ -578,13 +578,13 @@ public final class io/getstream/chat/android/compose/ui/attachments/preview/Comp
578
578
public static final field INSTANCE Lio/getstream/chat/android/compose/ui/attachments/preview/ComposableSingletons$MediaGalleryPreviewScreenKt;
579
579
public fun <init> ()V
580
580
public final fun getLambda$-1186868066$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function7;
581
+
public final fun getLambda$-1317756983$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
581
582
public final fun getLambda$-1613254346$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
582
583
public final fun getLambda$-177774698$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
583
-
public final fun getLambda$-1899518912$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
584
584
public final fun getLambda$-2102393707$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
585
585
public final fun getLambda$-210669840$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
586
586
public final fun getLambda$-244397814$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
587
-
public final fun getLambda$-49086904$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
587
+
public final fun getLambda$-357715190$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
588
588
public final fun getLambda$-52298206$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
589
589
public final fun getLambda$-563857596$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
590
590
public final fun getLambda$-822354111$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
@@ -593,10 +593,10 @@ public final class io/getstream/chat/android/compose/ui/attachments/preview/Comp
593
593
public final fun getLambda$1327866271$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
594
594
public final fun getLambda$1331114327$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
595
595
public final fun getLambda$1375691933$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
596
-
public final fun getLambda$1465472073$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
597
596
public final fun getLambda$1549246429$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
598
597
public final fun getLambda$1672511429$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
599
598
public final fun getLambda$1672603643$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
599
+
public final fun getLambda$1711218079$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
600
600
public final fun getLambda$1880503530$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
601
601
public final fun getLambda$1902056283$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
602
602
public final fun getLambda$19148184$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
@@ -765,14 +765,14 @@ public final class io/getstream/chat/android/compose/ui/channel/info/ComposableS
765
765
public fun <init> ()V
766
766
public final fun getLambda$-1114359326$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
767
767
public final fun getLambda$-1207226509$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
768
+
public final fun getLambda$-1284495299$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
768
769
public final fun getLambda$-1330176946$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
769
-
public final fun getLambda$-1754400971$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
770
770
public final fun getLambda$-2125016004$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
771
+
public final fun getLambda$-572168236$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
771
772
public final fun getLambda$1139087319$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
772
773
public final fun getLambda$1302953779$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3;
773
774
public final fun getLambda$2046556554$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
774
775
public final fun getLambda$217368988$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
775
-
public final fun getLambda$756179806$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
776
776
}
777
777
778
778
public final class io/getstream/chat/android/compose/ui/channel/info/ComposableSingletons$ChannelInfoMemberInfoModalSheetKt {
@@ -822,10 +822,10 @@ public final class io/getstream/chat/android/compose/ui/channel/info/ComposableS
822
822
public static final field INSTANCE Lio/getstream/chat/android/compose/ui/channel/info/ComposableSingletons$GroupChannelEditScreenKt;
823
823
public fun <init> ()V
824
824
public final fun getLambda$-1290011797$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
825
-
public final fun getLambda$-1600862874$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
826
825
public final fun getLambda$-1839460112$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
827
826
public final fun getLambda$-1996460951$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
828
827
public final fun getLambda$-949819074$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
828
+
public final fun getLambda$-952635417$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
829
829
public final fun getLambda$1273794324$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
830
830
public final fun getLambda$1411993017$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
831
831
public final fun getLambda$1947836857$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
@@ -872,9 +872,9 @@ public final class io/getstream/chat/android/compose/ui/channels/header/Composab
872
872
public final fun getLambda$-1782552518$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
873
873
public final fun getLambda$-39363265$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
874
874
public final fun getLambda$-903354658$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
875
+
public final fun getLambda$1125356903$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
875
876
public final fun getLambda$1371852185$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
876
877
public final fun getLambda$318691263$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
877
-
public final fun getLambda$423422310$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
878
878
public final fun getLambda$621281156$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
879
879
}
880
880
@@ -1402,7 +1402,7 @@ public final class io/getstream/chat/android/compose/ui/components/messageaction
1402
1402
public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/messageactions/ComposableSingletons$MessageActionsHeaderKt;
1403
1403
public fun <init> ()V
1404
1404
public final fun getLambda$-1164493217$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
1405
-
public final fun getLambda$1304549080$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
1405
+
public final fun getLambda$746565017$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
1406
1406
}
1407
1407
1408
1408
public final class io/getstream/chat/android/compose/ui/components/messageactions/ComposableSingletons$MessageActionsKt {
@@ -1616,8 +1616,8 @@ public final class io/getstream/chat/android/compose/ui/components/moderatedmess
1616
1616
public final class io/getstream/chat/android/compose/ui/components/poll/ComposableSingletons$PollAnswersKt {
1617
1617
public static final field INSTANCE Lio/getstream/chat/android/compose/ui/components/poll/ComposableSingletons$PollAnswersKt;
1618
1618
public fun <init> ()V
1619
-
public final fun getLambda$-1411166830$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
1620
1619
public final fun getLambda$-1780669891$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
1620
+
public final fun getLambda$-1805570669$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
1621
1621
public final fun getLambda$-1980307438$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3;
1622
1622
public final fun getLambda$-232122758$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
1623
1623
public final fun getLambda$-49181804$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function3;
@@ -1879,7 +1879,6 @@ public final class io/getstream/chat/android/compose/ui/messages/attachments/pol
1879
1879
public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/attachments/poll/ComposableSingletons$PollCreationHeaderKt;
1880
1880
public fun <init> ()V
1881
1881
public final fun getLambda$1291237378$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
1882
-
public final fun getLambda$1775632701$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
1883
1882
public final fun getLambda$226546083$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
1884
1883
}
1885
1884
@@ -1904,15 +1903,15 @@ public final class io/getstream/chat/android/compose/ui/messages/attachments/pol
1904
1903
}
1905
1904
1906
1905
public final class io/getstream/chat/android/compose/ui/messages/attachments/poll/CreatePollScreenKt {
1907
-
public static final fun CreatePollScreen (Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/Composer;I)V
1906
+
public static final fun CreatePollScreen (Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function1;Ljava/lang/String;Landroidx/compose/runtime/Composer;II)V
1908
1907
}
1909
1908
1910
1909
public final class io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationDiscardDialogKt {
1911
1910
public static final fun PollCreationDiscardDialog (ZLkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;II)V
1912
1911
}
1913
1912
1914
1913
public final class io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationHeaderKt {
1915
-
public static final fun PollCreationHeader (Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function0;ZLkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V
1914
+
public static final fun PollCreationHeader (Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function0;ZLkotlin/jvm/functions/Function0;Ljava/lang/String;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V
1916
1915
}
1917
1916
1918
1917
public final class io/getstream/chat/android/compose/ui/messages/attachments/poll/PollOptionDuplicated : io/getstream/chat/android/compose/ui/messages/attachments/poll/PollOptionError {
@@ -2030,11 +2029,11 @@ public final class io/getstream/chat/android/compose/ui/messages/composer/intern
2030
2029
public static final field INSTANCE Lio/getstream/chat/android/compose/ui/messages/composer/internal/ComposableSingletons$AudioRecordingContentKt;
2031
2030
public fun <init> ()V
2032
2031
public final fun getLambda$-129303699$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
2033
-
public final fun getLambda$-1855012696$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
2034
2032
public final fun getLambda$-2139230466$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
2035
-
public final fun getLambda$-630641788$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
2036
-
public final fun getLambda$491551885$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
2033
+
public final fun getLambda$-744252283$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
2034
+
public final fun getLambda$2045550761$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
2037
2035
public final fun getLambda$545156019$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
2036
+
public final fun getLambda$549534158$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
2038
2037
}
2039
2038
2040
2039
public final class io/getstream/chat/android/compose/ui/messages/composer/internal/ComposableSingletons$MessageComposerEditIndicatorKt {
@@ -3783,7 +3782,7 @@ public final class io/getstream/chat/android/compose/ui/theme/ComposableSingleto
3783
3782
public static final field INSTANCE Lio/getstream/chat/android/compose/ui/theme/ComposableSingletons$ChatComponentFactoryKt;
3784
3783
public fun <init> ()V
3785
3784
public final fun getLambda$-845861723$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
3786
-
public final fun getLambda$1812629511$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
3785
+
public final fun getLambda$1301617352$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
3787
3786
public final fun getLambda$69070923$stream_chat_android_compose_release ()Lkotlin/jvm/functions/Function2;
Copy file name to clipboardExpand all lines: stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/button/StreamButton.kt
Copy file name to clipboardExpand all lines: stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/components/poll/PollOptionInput.kt
Copy file name to clipboardExpand all lines: stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/CreatePollScreen.kt
Copy file name to clipboardExpand all lines: stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/poll/PollCreationHeader.kt
0 commit comments