diff --git a/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/View/ComposeContentToolbarView+ViewModel.swift b/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/View/ComposeContentToolbarView+ViewModel.swift index 4a34c77d4..fefc0821f 100644 --- a/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/View/ComposeContentToolbarView+ViewModel.swift +++ b/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/View/ComposeContentToolbarView+ViewModel.swift @@ -120,4 +120,19 @@ extension ComposeContentToolbarView.ViewModel { return action.inactiveImage } } + + func label(for action: Action) -> String { + switch action { + case .attachment: + return L10n.Scene.Compose.Accessibility.appendAttachment + case .poll: + return isPollActive ? L10n.Scene.Compose.Accessibility.removePoll : L10n.Scene.Compose.Accessibility.appendPoll + case .emoji: + return L10n.Scene.Compose.Accessibility.customEmojiPicker + case .contentWarning: + return isContentWarningActive ? L10n.Scene.Compose.Accessibility.disableContentWarning : L10n.Scene.Compose.Accessibility.enableContentWarning + case .visibility: + return L10n.Scene.Compose.Accessibility.postVisibilityMenu + } + } } diff --git a/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/View/ComposeContentToolbarView.swift b/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/View/ComposeContentToolbarView.swift index 52026c636..aba52ff9a 100644 --- a/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/View/ComposeContentToolbarView.swift +++ b/MastodonSDK/Sources/MastodonUI/Scene/ComposeContent/View/ComposeContentToolbarView.swift @@ -61,6 +61,7 @@ struct ComposeContentToolbarView: View { } } label: { label(for: viewModel.visibility.image) + .accessibilityLabel(L10n.Scene.Compose.Keyboard.selectVisibilityEntry(viewModel.visibility.title)) } .frame(width: 48, height: 48) default: @@ -100,6 +101,7 @@ extension ComposeContentToolbarView { Image(uiImage: viewModel.image(for: action)) .foregroundColor(Color(Asset.Scene.Compose.buttonTint.color)) .frame(width: 24, height: 24, alignment: .center) + .accessibilityLabel(viewModel.label(for: action)) } func label(for image: UIImage) -> some View {