From 1f5d1fb93fc5c4f94eaa2a3e30846daa9d1d0d28 Mon Sep 17 00:00:00 2001 From: Giorgos Papadopoulos Date: Wed, 2 Nov 2022 12:20:38 +0100 Subject: [PATCH] don't announce button when navigating to user's events while making sure the button is accessible if we stay in pap or digid fragments --- .../ctr/holder/get_events/DigiDFragment.kt | 4 ++++ .../ctr/holder/get_events/GetEventsFragment.kt | 9 +++++++++ .../ctr/holder/no_digid/PapFragment.kt | 14 +++++++++++++- 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/holder/src/main/java/nl/rijksoverheid/ctr/holder/get_events/DigiDFragment.kt b/holder/src/main/java/nl/rijksoverheid/ctr/holder/get_events/DigiDFragment.kt index ac464e35e..58f866ad5 100644 --- a/holder/src/main/java/nl/rijksoverheid/ctr/holder/get_events/DigiDFragment.kt +++ b/holder/src/main/java/nl/rijksoverheid/ctr/holder/get_events/DigiDFragment.kt @@ -89,6 +89,7 @@ abstract class DigiDFragment(contentLayoutId: Int) : BaseFragment(contentLayoutI ) } ) + dialogPresented() } else { onNavigateToYourEvents( remoteProtocols = it.remoteEvents, @@ -201,6 +202,7 @@ abstract class DigiDFragment(contentLayoutId: Int) : BaseFragment(contentLayoutI positiveButtonText = R.string.dialog_close, positiveButtonCallback = {} ) + dialogPresented() } LoginResult.NoBrowserFound -> { dialogUtil.presentDialog( @@ -213,6 +215,7 @@ abstract class DigiDFragment(contentLayoutId: Int) : BaseFragment(contentLayoutI positiveButtonText = R.string.ok, positiveButtonCallback = {} ) + dialogPresented() } } }) @@ -300,4 +303,5 @@ abstract class DigiDFragment(contentLayoutId: Int) : BaseFragment(contentLayoutI remoteProtocols: Map, eventProviders: List = emptyList() ) + abstract fun dialogPresented() } diff --git a/holder/src/main/java/nl/rijksoverheid/ctr/holder/get_events/GetEventsFragment.kt b/holder/src/main/java/nl/rijksoverheid/ctr/holder/get_events/GetEventsFragment.kt index 89a47dc5d..a7f72e494 100644 --- a/holder/src/main/java/nl/rijksoverheid/ctr/holder/get_events/GetEventsFragment.kt +++ b/holder/src/main/java/nl/rijksoverheid/ctr/holder/get_events/GetEventsFragment.kt @@ -146,6 +146,15 @@ class GetEventsFragment : DigiDFragment(R.layout.fragment_get_events) { ) ) } + + override fun dialogPresented() { + binding.loadingOverlay.progressBar.makeIndeterminateAccessible( + context = requireContext(), + isLoading = false, + message = R.string.holder_fetchevents_loading + ) + binding.loadingOverlay.root.isVisible = false + } } data class GetEventsFragmentCopy( diff --git a/holder/src/main/java/nl/rijksoverheid/ctr/holder/no_digid/PapFragment.kt b/holder/src/main/java/nl/rijksoverheid/ctr/holder/no_digid/PapFragment.kt index 309a64813..ec8ae1dc0 100644 --- a/holder/src/main/java/nl/rijksoverheid/ctr/holder/no_digid/PapFragment.kt +++ b/holder/src/main/java/nl/rijksoverheid/ctr/holder/no_digid/PapFragment.kt @@ -105,7 +105,10 @@ class PapFragment : DigiDFragment(R.layout.fragment_no_digid) { toolbarTitle = getString(R.string.choose_provider_toolbar), data = InfoFragmentData.TitleDescriptionWithButton( title = getString(R.string.holder_contactCoronaCheckHelpdesk_title), - descriptionData = DescriptionData(R.string.holder_contactCoronaCheckHelpdesk_message, htmlLinksEnabled = true), + descriptionData = DescriptionData( + R.string.holder_contactCoronaCheckHelpdesk_message, + htmlLinksEnabled = true + ), primaryButtonData = ButtonData.NavigationButton( text = getString(R.string.general_toMyOverview), navigationActionId = R.id.action_my_overview @@ -119,6 +122,11 @@ class PapFragment : DigiDFragment(R.layout.fragment_no_digid) { subtitle = getString(R.string.holder_checkForBSN_buttonSubTitle_doesNotHaveBSN_testFlow) ) { if (holderFeatureFlagUseCase.getPapEnabled()) { + /** disable accessibility, otherwise it is announced when loading is finished + * reenable with [dialogPresented] if a dialog is presented cause then the user will again interact with it + */ + binding.secondButton.root.importantForAccessibility = + View.IMPORTANT_FOR_ACCESSIBILITY_NO loginWithDigiD() } else { infoFragmentUtil.presentFullScreen( @@ -185,4 +193,8 @@ class PapFragment : DigiDFragment(R.layout.fragment_no_digid) { ) ) } + + override fun dialogPresented() { + binding.secondButton.root.importantForAccessibility = View.IMPORTANT_FOR_ACCESSIBILITY_YES + } }