detail button semantic description and screen reader announce into button subscribe

pull/92/head
Antonio Borrego 2022-04-27 14:07:40 +02:00
parent afd01958af
commit b05cbfc569
4 changed files with 21 additions and 1 deletions

View File

@ -39,6 +39,7 @@
HeightRequest="38"
Source="player_play.png"
VerticalOptions="Center"
SemanticProperties.Description="{x:Static res:AppResource.Semantic_Description_Tap_Play_Episode}"
Command="{Binding Source={RelativeSource AncestorType={x:Type viewmodels:ShowDetailViewModel}}, Path=PlayEpisodeCommand}"
CommandParameter="{Binding}"
WidthRequest="38">
@ -65,6 +66,7 @@
VerticalOptions="Center"
Source="clockpink.png"
HeightRequest="28"
SemanticProperties.Description="{x:Static res:AppResource.Semantic_Description_Tap_Listen_Later}"
Command="{Binding Source={RelativeSource AncestorType={x:Type viewmodels:ShowDetailViewModel}}, Path=AddToListenLaterCommand}"
CommandParameter="{Binding}"
WidthRequest="28">

View File

@ -221,7 +221,16 @@ namespace Microsoft.NetConf2021.Maui.Resources.Strings {
return ResourceManager.GetString("See_All_Categories", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Tap to listen later.
/// </summary>
internal static string Semantic_Description_Tap_Listen_Later {
get {
return ResourceManager.GetString("Semantic_Description_Tap_Listen_Later", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Tap to play or pause an episode.
/// </summary>

View File

@ -171,6 +171,9 @@
<data name="See_All_Categories" xml:space="preserve">
<value>See All Categories</value>
</data>
<data name="Semantic_Description_Tap_Listen_Later" xml:space="preserve">
<value>Tap to listen later</value>
</data>
<data name="Semantic_Description_Tap_Play_Episode" xml:space="preserve">
<value>Tap to play or pause an episode</value>
</data>

View File

@ -21,9 +21,15 @@ public class SubscriptionsService
if (IsSubscribed(show.Id))
{
SemanticScreenReader.Announce(string.Format("Unsubscribe to show {0}", show.Title));
await UnSubscribeFromShowAsync(show);
return;
}
else
{
SemanticScreenReader.Announce(string.Format("Subscribe to show {0}", show.Title));
}
this.subscribedShows.Add(show);
}