From daf5a780ef48ce32e144c898c333d176acef99ca Mon Sep 17 00:00:00 2001
From: Queenhymon <66369714+Queenhymon@users.noreply.github.com>
Date: Fri, 12 Jun 2020 13:29:58 +0200
Subject: [PATCH] Accessibility fixes (#415)

* external call accessibility

* back to main page accessibility

* delete onStart

* removed test coding

Co-authored-by: Luka Harambasic <luka.harambasic@sap.com>
Co-authored-by: harambasicluka <64483219+harambasicluka@users.noreply.github.com>
---
 .../de.rki.coronawarnapp/ui/main/MainFragment.kt   |  7 +------
 .../ui/information/InformationFragment.kt          | 14 ++++++++++++++
 Corona-Warn-App/src/main/res/values/strings.xml    |  2 ++
 3 files changed, 17 insertions(+), 6 deletions(-)

diff --git a/Corona-Warn-App/src/device/java/de.rki.coronawarnapp/ui/main/MainFragment.kt b/Corona-Warn-App/src/device/java/de.rki.coronawarnapp/ui/main/MainFragment.kt
index b3b01c57a..51c9fc97b 100644
--- a/Corona-Warn-App/src/device/java/de.rki.coronawarnapp/ui/main/MainFragment.kt
+++ b/Corona-Warn-App/src/device/java/de.rki.coronawarnapp/ui/main/MainFragment.kt
@@ -75,12 +75,7 @@ class MainFragment : Fragment() {
         TimerHelper.checkManualKeyRetrievalTimer()
         submissionViewModel.refreshDeviceUIState()
         tracingViewModel.refreshLastSuccessfullyCalculatedScore()
-        binding.mainScrollview.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
-    }
-
-    override fun onStart() {
-        super.onStart()
-        binding.mainScrollview.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+        binding.mainScrollview.sendAccessibilityEvent(AccessibilityEvent.TYPE_ANNOUNCEMENT)
     }
 
     private fun setContentDescription() {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationFragment.kt
index 173f6b129..9a6bd0b92 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationFragment.kt
@@ -5,6 +5,7 @@ import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
 import android.view.accessibility.AccessibilityEvent
+import android.view.accessibility.AccessibilityNodeInfo
 import androidx.fragment.app.Fragment
 import androidx.navigation.fragment.findNavController
 import de.rki.coronawarnapp.R
@@ -41,6 +42,7 @@ class InformationFragment : Fragment() {
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
         setButtonOnClickListener()
+        setAccessibilityDelegate()
     }
 
     override fun onResume() {
@@ -48,6 +50,18 @@ class InformationFragment : Fragment() {
         binding.informationContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_ANNOUNCEMENT)
     }
 
+    private fun setAccessibilityDelegate() {
+        val accessibilityDelegate: View.AccessibilityDelegate =
+            object : View.AccessibilityDelegate() {
+                override fun onInitializeAccessibilityNodeInfo(v: View?, info: AccessibilityNodeInfo) {
+                    super.onInitializeAccessibilityNodeInfo(v, info)
+                    val string: String = getString(R.string.information_help_title_accessibility)
+                    info.text = string
+                }
+            }
+        binding.informationHelp.mainRowItemSubtitle.accessibilityDelegate = accessibilityDelegate
+    }
+
     private fun setButtonOnClickListener() {
         binding.informationAbout.mainRow.setOnClickListener {
             findNavController().doNavigate(
diff --git a/Corona-Warn-App/src/main/res/values/strings.xml b/Corona-Warn-App/src/main/res/values/strings.xml
index 8c950aa76..8ed0ea771 100644
--- a/Corona-Warn-App/src/main/res/values/strings.xml
+++ b/Corona-Warn-App/src/main/res/values/strings.xml
@@ -631,6 +631,8 @@
     <string name="information_contact_illustration_description">Ein Mann nutzt ein Headset zum Telefonieren.</string>
     <!-- XLNK: Menu item / hyper link / button text for navigation to FAQ website -->
     <string name="information_help_title">Häufige Fragen</string>
+    <!-- XACT: accessibility hint -->
+    <string name="information_help_title_accessibility">"Häufige Fragen. Aufruf externer Infos im Web"</string>
     <!-- XHED: Page title for technical information page, also menu item / button text -->
     <string name="information_technical_title">Rechtliche Hinweise</string>
     <!-- XACT: describes illustration -->
-- 
GitLab