From 70e795e4cf8e4f1ff3a519d400a82dac53cba49c Mon Sep 17 00:00:00 2001
From: Queenhymon <66369714+Queenhymon@users.noreply.github.com>
Date: Mon, 8 Jun 2020 23:33:05 +0200
Subject: [PATCH] Exposureapp 1079 (#287)

* accessibility button texts

* accessibility fixes

* replace buttons with image views

* solve conflicts with dev

* accessibility for all onboarding views

* accessibility for all submission views

* accessibility for risk details

* call views with bindings

* pull request review fixes

* strings

* lint check fixes

* lint check fixes

* accessibility for settings and information views

* lint check fixes

Co-authored-by: harambasicluka <64483219+harambasicluka@users.noreply.github.com>
Co-authored-by: Luka Harambasic <luka.harambasic@sap.com>
---
 .../information/InformationAboutFragment.kt   | 18 ++++
 .../information/InformationContactFragment.kt | 17 ++++
 .../ui/information/InformationFragment.kt     | 17 ++++
 .../information/InformationLegalFragment.kt   | 18 ++++
 .../information/InformationPrivacyFragment.kt | 18 ++++
 .../InformationTechnicalFragment.kt           | 18 ++++
 .../information/InformationTermsFragment.kt   | 18 ++++
 .../rki/coronawarnapp/ui/main/MainFragment.kt | 17 ++++
 .../ui/main/MainOverviewFragment.kt           | 11 +++
 .../ui/onboarding/OnboardingFragment.kt       | 11 +++
 .../OnboardingNotificationsFragment.kt        | 11 +++
 .../onboarding/OnboardingPrivacyFragment.kt   | 11 +++
 .../ui/onboarding/OnboardingTestFragment.kt   | 11 +++
 .../onboarding/OnboardingTracingFragment.kt   | 11 +++
 .../ui/riskdetails/RiskDetailsFragment.kt     |  8 +-
 .../ui/settings/SettingsFragment.kt           |  7 ++
 .../submission/SubmissionContactFragment.kt   | 11 +++
 .../SubmissionDispatcherFragment.kt           | 11 +++
 .../ui/submission/SubmissionIntroFragment.kt  | 12 ++-
 .../ui/submission/SubmissionTanFragment.kt    | 12 ++-
 .../ui/viewmodel/TracingViewModel.kt          |  3 +-
 .../main/res/layout/fragment_information.xml  |  2 +
 .../res/layout/fragment_information_about.xml |  4 +
 .../layout/fragment_information_contact.xml   |  3 +
 .../res/layout/fragment_information_legal.xml |  3 +
 .../layout/fragment_information_privacy.xml   |  2 +
 .../layout/fragment_information_technical.xml |  3 +
 .../res/layout/fragment_information_terms.xml |  2 +
 .../src/main/res/layout/fragment_main.xml     |  4 +
 .../res/layout/fragment_main_overview.xml     | 82 ++++++++++---------
 .../main/res/layout/fragment_onboarding.xml   |  5 +-
 .../fragment_onboarding_notifications.xml     |  4 +-
 .../layout/fragment_onboarding_privacy.xml    |  2 +
 .../res/layout/fragment_onboarding_test.xml   |  4 +-
 .../layout/fragment_onboarding_tracing.xml    |  4 +-
 .../main/res/layout/fragment_risk_details.xml | 16 +++-
 .../layout/fragment_submission_contact.xml    |  2 +
 .../layout/fragment_submission_dispatcher.xml |  4 +-
 .../res/layout/fragment_submission_intro.xml  |  8 +-
 .../res/layout/fragment_submission_tan.xml    | 13 ++-
 .../main/res/layout/include_button_icon.xml   |  2 +-
 .../res/layout/include_dispatcher_card.xml    |  9 +-
 .../layout/include_information_details.xml    | 75 +++++++++--------
 .../src/main/res/layout/include_main_card.xml |  3 +-
 .../layout/include_main_overview_glossary.xml |  1 +
 .../layout/include_main_overview_segment.xml  |  9 +-
 .../main/res/layout/include_onboarding.xml    |  7 +-
 .../src/main/res/layout/include_risk_card.xml |  7 +-
 .../res/layout/include_risk_card_header.xml   |  1 -
 ...e_risk_details_behavior_increased_risk.xml |  8 ++
 .../include_risk_details_behavior_row.xml     |  3 +
 .../res/layout/include_submission_contact.xml | 31 ++++---
 .../res/layout/include_submission_intro.xml   |  6 +-
 ...include_submission_status_card_content.xml |  4 +
 ...de_submission_status_card_unregistered.xml |  7 +-
 .../src/main/res/values/strings.xml           | 45 +++++++++-
 56 files changed, 538 insertions(+), 118 deletions(-)

diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationAboutFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationAboutFragment.kt
index 4fb3f4ea0..4406b48cb 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationAboutFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationAboutFragment.kt
@@ -4,6 +4,8 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.view.accessibility.AccessibilityEvent
+import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.databinding.FragmentInformationAboutBinding
 import de.rki.coronawarnapp.ui.BaseFragment
 import de.rki.coronawarnapp.ui.main.MainActivity
@@ -36,6 +38,22 @@ class InformationAboutFragment : BaseFragment() {
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
         setButtonOnClickListener()
+        setContentDescription()
+    }
+
+    override fun onStart() {
+        super.onStart()
+        binding.informationAboutScrollview.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    override fun onResume() {
+        super.onResume()
+        binding.informationAboutScrollview.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    private fun setContentDescription() {
+        val backButtonString: String = getString(R.string.button_back)
+        binding.informationAboutHeader.headerToolbar.setNavigationContentDescription(backButtonString)
     }
 
     private fun setButtonOnClickListener() {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationContactFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationContactFragment.kt
index 595fb2df0..c42e286c3 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationContactFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationContactFragment.kt
@@ -4,6 +4,7 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.view.accessibility.AccessibilityEvent
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.databinding.FragmentInformationContactBinding
 import de.rki.coronawarnapp.ui.BaseFragment
@@ -38,6 +39,22 @@ class InformationContactFragment : BaseFragment() {
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
         setButtonOnClickListener()
+        setContentDescription()
+    }
+
+    override fun onStart() {
+        super.onStart()
+        binding.informationContactContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    override fun onResume() {
+        super.onResume()
+        binding.informationContactContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    private fun setContentDescription() {
+        val backButtonString: String = getString(R.string.button_back)
+        binding.informationContactHeader.headerToolbar.setNavigationContentDescription(backButtonString)
     }
 
     private fun setButtonOnClickListener() {
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 8e44bce61..1abe55bc7 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
@@ -4,6 +4,7 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.view.accessibility.AccessibilityEvent
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.databinding.FragmentInformationBinding
 import de.rki.coronawarnapp.ui.BaseFragment
@@ -38,6 +39,22 @@ class InformationFragment : BaseFragment() {
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
         setButtonOnClickListener()
+        setContentDescription()
+    }
+
+    override fun onStart() {
+        super.onStart()
+        binding.informationContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    override fun onResume() {
+        super.onResume()
+        binding.informationContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    private fun setContentDescription() {
+        val backButtonString: String = getString(R.string.button_back)
+        binding.informationHeader.headerToolbar.setNavigationContentDescription(backButtonString)
     }
 
     private fun setButtonOnClickListener() {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationLegalFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationLegalFragment.kt
index 298e5275c..75c071fac 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationLegalFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationLegalFragment.kt
@@ -4,6 +4,8 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.view.accessibility.AccessibilityEvent
+import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.databinding.FragmentInformationLegalBinding
 import de.rki.coronawarnapp.ui.BaseFragment
 import de.rki.coronawarnapp.ui.main.MainActivity
@@ -36,6 +38,22 @@ class InformationLegalFragment : BaseFragment() {
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
         setButtonOnClickListener()
+        setContentDescription()
+    }
+
+    override fun onStart() {
+        super.onStart()
+        binding.informationLegalContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    override fun onResume() {
+        super.onResume()
+        binding.informationLegalContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    private fun setContentDescription() {
+        val backButtonString: String = getString(R.string.button_back)
+        binding.informationLegalHeader.headerToolbar.setNavigationContentDescription(backButtonString)
     }
 
     private fun setButtonOnClickListener() {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationPrivacyFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationPrivacyFragment.kt
index 75e3d7483..19c44c8ed 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationPrivacyFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationPrivacyFragment.kt
@@ -4,6 +4,8 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.view.accessibility.AccessibilityEvent
+import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.databinding.FragmentInformationPrivacyBinding
 import de.rki.coronawarnapp.ui.BaseFragment
 import de.rki.coronawarnapp.ui.main.MainActivity
@@ -36,6 +38,22 @@ class InformationPrivacyFragment : BaseFragment() {
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
         setButtonOnClickListener()
+        setContentDescription()
+    }
+
+    override fun onStart() {
+        super.onStart()
+        binding.informationPrivacyContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    override fun onResume() {
+        super.onResume()
+        binding.informationPrivacyContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    private fun setContentDescription() {
+        val backButtonString: String = getString(R.string.button_back)
+        binding.informationPrivacyHeader.headerToolbar.setNavigationContentDescription(backButtonString)
     }
 
     private fun setButtonOnClickListener() {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationTechnicalFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationTechnicalFragment.kt
index d28274e6a..fc7d83756 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationTechnicalFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationTechnicalFragment.kt
@@ -4,6 +4,8 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.view.accessibility.AccessibilityEvent
+import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.databinding.FragmentInformationTechnicalBinding
 import de.rki.coronawarnapp.ui.BaseFragment
 import de.rki.coronawarnapp.ui.main.MainActivity
@@ -36,6 +38,22 @@ class InformationTechnicalFragment : BaseFragment() {
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
         setButtonOnClickListener()
+        setContentDescription()
+    }
+
+    override fun onStart() {
+        super.onStart()
+        binding.informationTechnicalContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    override fun onResume() {
+        super.onResume()
+        binding.informationTechnicalContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    private fun setContentDescription() {
+        val backButtonString: String = getString(R.string.button_back)
+        binding.informationTechnicalHeader.headerToolbar.setNavigationContentDescription(backButtonString)
     }
 
     private fun setButtonOnClickListener() {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationTermsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationTermsFragment.kt
index 1a9674741..2626e1d08 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationTermsFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/information/InformationTermsFragment.kt
@@ -4,6 +4,8 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.view.accessibility.AccessibilityEvent
+import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.databinding.FragmentInformationTermsBinding
 import de.rki.coronawarnapp.ui.BaseFragment
 import de.rki.coronawarnapp.ui.main.MainActivity
@@ -36,6 +38,22 @@ class InformationTermsFragment : BaseFragment() {
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
         setButtonOnClickListener()
+        setContentDescription()
+    }
+
+    override fun onStart() {
+        super.onStart()
+        binding.informationTermsContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    override fun onResume() {
+        super.onResume()
+        binding.informationTermsContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    private fun setContentDescription() {
+        val backButtonString: String = getString(R.string.button_back)
+        binding.informationTermsHeader.headerToolbar.setNavigationContentDescription(backButtonString)
     }
 
     private fun setButtonOnClickListener() {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainFragment.kt
index e699c28da..cebf0c1f9 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainFragment.kt
@@ -5,6 +5,7 @@ import android.util.Log
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.view.accessibility.AccessibilityEvent
 import android.widget.PopupMenu
 import androidx.core.app.NotificationCompat
 import androidx.core.app.NotificationManagerCompat
@@ -62,6 +63,7 @@ class MainFragment : BaseFragment() {
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
         setButtonOnClickListener()
+        setContentDescription()
     }
 
     override fun onResume() {
@@ -74,6 +76,21 @@ class MainFragment : BaseFragment() {
         tracingViewModel.refreshActiveTracingDaysInRetentionPeriod()
         TimerHelper.checkManualKeyRetrievalTimer()
         submissionViewModel.refreshDeviceUIState()
+        binding.mainScrollview.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    override fun onStart() {
+        super.onStart()
+        binding.mainScrollview.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    private fun setContentDescription() {
+        val shareButtonString: String = getString(R.string.button_share)
+        val menuButtonString: String = getString(R.string.button_menu)
+        val mainCardString: String = getString(R.string.hint_external_webpage)
+        binding.mainHeaderShare.buttonIcon.setContentDescription(shareButtonString)
+        binding.mainHeaderOptionsMenu.buttonIcon.setContentDescription(menuButtonString)
+        binding.mainAbout.mainCard.setContentDescription(mainCardString)
     }
 
     private fun setButtonOnClickListener() {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainOverviewFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainOverviewFragment.kt
index 28b9c00ba..7131a3ed3 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainOverviewFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/main/MainOverviewFragment.kt
@@ -4,6 +4,7 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.view.accessibility.AccessibilityEvent
 import de.rki.coronawarnapp.databinding.FragmentMainOverviewBinding
 import de.rki.coronawarnapp.ui.BaseFragment
 
@@ -42,6 +43,16 @@ class MainOverviewFragment : BaseFragment() {
         setButtonOnClickListener()
     }
 
+    override fun onStart() {
+        super.onStart()
+        binding.mainOverviewContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    override fun onResume() {
+        super.onResume()
+        binding.mainOverviewContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
     private fun setButtonOnClickListener() {
         binding.mainOverviewHeader.headerToolbar.setNavigationOnClickListener {
             (activity as MainActivity).goBack()
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingFragment.kt
index bad65043b..8aae16616 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingFragment.kt
@@ -4,6 +4,7 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.view.accessibility.AccessibilityEvent
 import de.rki.coronawarnapp.databinding.FragmentOnboardingBinding
 import de.rki.coronawarnapp.ui.BaseFragment
 
@@ -40,4 +41,14 @@ class OnboardingFragment : BaseFragment() {
             )
         }
     }
+
+    override fun onStart() {
+        super.onStart()
+        binding.onboardingContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    override fun onResume() {
+        super.onResume()
+        binding.onboardingContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
 }
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingNotificationsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingNotificationsFragment.kt
index 7b9c98795..b7f060e57 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingNotificationsFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingNotificationsFragment.kt
@@ -4,6 +4,7 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.view.accessibility.AccessibilityEvent
 import androidx.appcompat.app.AlertDialog
 import androidx.core.app.NotificationManagerCompat
 import de.rki.coronawarnapp.databinding.FragmentOnboardingNotificationsBinding
@@ -42,6 +43,16 @@ class OnboardingNotificationsFragment : BaseFragment() {
         setButtonOnClickListener()
     }
 
+    override fun onStart() {
+        super.onStart()
+        binding.onboardingNotificationsContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    override fun onResume() {
+        super.onResume()
+        binding.onboardingNotificationsContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
     private fun setButtonOnClickListener() {
         binding.onboardingButtonNext.setOnClickListener {
             navigateToMain()
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingPrivacyFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingPrivacyFragment.kt
index 21bacc792..d0b725448 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingPrivacyFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingPrivacyFragment.kt
@@ -4,6 +4,7 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.view.accessibility.AccessibilityEvent
 import de.rki.coronawarnapp.databinding.FragmentOnboardingPrivacyBinding
 import de.rki.coronawarnapp.ui.BaseFragment
 
@@ -37,6 +38,16 @@ class OnboardingPrivacyFragment : BaseFragment() {
         setButtonOnClickListener()
     }
 
+    override fun onStart() {
+        super.onStart()
+        binding.onboardingPrivacyContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    override fun onResume() {
+        super.onResume()
+        binding.onboardingPrivacyContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
     private fun setButtonOnClickListener() {
         binding.onboardingButtonNext.setOnClickListener {
             doNavigate(
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTestFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTestFragment.kt
index 494b6fbd7..c2926653b 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTestFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTestFragment.kt
@@ -4,6 +4,7 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.view.accessibility.AccessibilityEvent
 import de.rki.coronawarnapp.databinding.FragmentOnboardingTestBinding
 import de.rki.coronawarnapp.ui.BaseFragment
 
@@ -37,6 +38,16 @@ class OnboardingTestFragment : BaseFragment() {
         setButtonOnClickListener()
     }
 
+    override fun onStart() {
+        super.onStart()
+        binding.onboardingTestContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    override fun onResume() {
+        super.onResume()
+        binding.onboardingTestContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
     private fun setButtonOnClickListener() {
         binding.onboardingButtonNext.setOnClickListener {
             doNavigate(
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragment.kt
index a8335464d..c6eec8179 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/onboarding/OnboardingTracingFragment.kt
@@ -5,6 +5,7 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.view.accessibility.AccessibilityEvent
 import androidx.appcompat.app.AlertDialog
 import androidx.lifecycle.lifecycleScope
 import de.rki.coronawarnapp.R
@@ -65,6 +66,16 @@ class OnboardingTracingFragment : BaseFragment(),
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
         setButtonOnClickListener()
+    }
+
+    override fun onStart() {
+        super.onStart()
+        binding.onboardingTracingContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    override fun onResume() {
+        super.onResume()
+        binding.onboardingTracingContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
         resetTracing()
     }
 
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/riskdetails/RiskDetailsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/riskdetails/RiskDetailsFragment.kt
index 3c753af57..d4e93ee4c 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/riskdetails/RiskDetailsFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/riskdetails/RiskDetailsFragment.kt
@@ -4,6 +4,7 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.view.accessibility.AccessibilityEvent
 import androidx.fragment.app.activityViewModels
 import de.rki.coronawarnapp.databinding.FragmentRiskDetailsBinding
 import de.rki.coronawarnapp.timer.TimerHelper
@@ -11,7 +12,6 @@ import de.rki.coronawarnapp.ui.BaseFragment
 import de.rki.coronawarnapp.ui.main.MainActivity
 import de.rki.coronawarnapp.ui.viewmodel.SettingsViewModel
 import de.rki.coronawarnapp.ui.viewmodel.TracingViewModel
-
 /**
  * This is the detail view of the risk card if additional information for the user.
  *
@@ -51,6 +51,11 @@ class RiskDetailsFragment : BaseFragment() {
         setButtonOnClickListeners()
     }
 
+    override fun onStart() {
+        super.onStart()
+        binding.riskDetailsContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
     override fun onResume() {
         super.onResume()
         // refresh required data
@@ -58,6 +63,7 @@ class RiskDetailsFragment : BaseFragment() {
         tracingViewModel.refreshExposureSummary()
         tracingViewModel.refreshLastTimeDiagnosisKeysFetchedDate()
         TimerHelper.checkManualKeyRetrievalTimer()
+        binding.riskDetailsContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
     }
 
     private fun setButtonOnClickListeners() {
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsFragment.kt
index 4f5c8b560..cfe0883a6 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/settings/SettingsFragment.kt
@@ -5,6 +5,7 @@ import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
 import androidx.fragment.app.activityViewModels
+import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.databinding.FragmentSettingsBinding
 import de.rki.coronawarnapp.ui.BaseFragment
 import de.rki.coronawarnapp.ui.main.MainActivity
@@ -48,6 +49,7 @@ class SettingsFragment : BaseFragment() {
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
         setButtonOnClickListener()
+        setContentDescription()
     }
 
     override fun onResume() {
@@ -59,6 +61,11 @@ class SettingsFragment : BaseFragment() {
         settingsViewModel.refreshNotificationsTestEnabled()
     }
 
+    private fun setContentDescription() {
+        val backButtonString: String = getString(R.string.button_back)
+        binding.settingsHeader.headerToolbar.setNavigationContentDescription(backButtonString)
+    }
+
     private fun setButtonOnClickListener() {
         val tracingRow = binding.settingsTracing.settingsRow
         val notificationRow = binding.settingsNotifications.settingsRow
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionContactFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionContactFragment.kt
index 93bd99e04..fd37c6941 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionContactFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionContactFragment.kt
@@ -4,6 +4,7 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.view.accessibility.AccessibilityEvent
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.databinding.FragmentSubmissionContactBinding
 import de.rki.coronawarnapp.ui.BaseFragment
@@ -38,6 +39,16 @@ class SubmissionContactFragment : BaseFragment() {
         setButtonOnClickListener()
     }
 
+    override fun onStart() {
+        super.onStart()
+        binding.submissionContactScrollview.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    override fun onResume() {
+        super.onResume()
+        binding.submissionContactScrollview.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
     private fun setButtonOnClickListener() {
         binding.submissionContactHeader.headerToolbar.setNavigationOnClickListener {
             (activity as MainActivity).goBack()
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionDispatcherFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionDispatcherFragment.kt
index 73bf2aa35..99bdf0a44 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionDispatcherFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionDispatcherFragment.kt
@@ -4,6 +4,7 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.view.accessibility.AccessibilityEvent
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.databinding.FragmentSubmissionDispatcherBinding
 import de.rki.coronawarnapp.ui.BaseFragment
@@ -39,6 +40,16 @@ class SubmissionDispatcherFragment : BaseFragment() {
         setButtonOnClickListener()
     }
 
+    override fun onStart() {
+        super.onStart()
+        binding.submissionDispatcherScrollview.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    override fun onResume() {
+        super.onResume()
+        binding.submissionDispatcherScrollview.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
     private fun setButtonOnClickListener() {
         binding.submissionDispatcherHeader.headerToolbar.setNavigationOnClickListener {
             (activity as MainActivity).goBack()
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionIntroFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionIntroFragment.kt
index 0dc26e99b..eb58eaced 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionIntroFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionIntroFragment.kt
@@ -4,9 +4,9 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.view.accessibility.AccessibilityEvent
 import de.rki.coronawarnapp.databinding.FragmentSubmissionIntroBinding
 import de.rki.coronawarnapp.ui.BaseFragment
-
 /**
  * The [SubmissionIntroFragment] displays information about how the corona warning system works
  */
@@ -35,6 +35,16 @@ class SubmissionIntroFragment : BaseFragment() {
         setButtonOnClickListener()
     }
 
+    override fun onStart() {
+        super.onStart()
+        binding.submissionIntroScrollview.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    override fun onResume() {
+        super.onResume()
+        binding.submissionIntroScrollview.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
     private fun setButtonOnClickListener() {
         binding.submissionIntroHeader.headerToolbar.setNavigationOnClickListener {
             doNavigate(SubmissionIntroFragmentDirections.actionSubmissionIntroFragmentToMainFragment())
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTanFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTanFragment.kt
index 7a6036caa..b8cc6974f 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTanFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/submission/SubmissionTanFragment.kt
@@ -4,6 +4,7 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.view.accessibility.AccessibilityEvent
 import androidx.fragment.app.activityViewModels
 import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.databinding.FragmentSubmissionTanBinding
@@ -15,7 +16,6 @@ import de.rki.coronawarnapp.ui.BaseFragment
 import de.rki.coronawarnapp.ui.viewmodel.SubmissionViewModel
 import de.rki.coronawarnapp.util.DialogHelper
 import de.rki.coronawarnapp.util.observeEvent
-
 /**
  * Fragment for TAN entry
  */
@@ -110,6 +110,16 @@ class SubmissionTanFragment : BaseFragment() {
         })
     }
 
+    override fun onStart() {
+        super.onStart()
+        binding.submissionTanScrollview.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
+    override fun onResume() {
+        super.onResume()
+        binding.submissionTanScrollview.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
+
     private fun navigateToDispatchScreen() =
         doNavigate(SubmissionTanFragmentDirections.actionSubmissionTanFragmentToSubmissionDispatcherFragment())
 
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/viewmodel/TracingViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/viewmodel/TracingViewModel.kt
index 4bccd807c..cfbf5efcb 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/viewmodel/TracingViewModel.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/ui/viewmodel/TracingViewModel.kt
@@ -32,7 +32,8 @@ class TracingViewModel : ViewModel() {
     // TODO: comments for variables
     // Values from RiskLevelRepository
     val riskLevel: LiveData<Int> = RiskLevelRepository.riskLevelScore
-    val riskLevelScoreLastSuccessfulCalculated = RiskLevelRepository.riskLevelScoreLastSuccessfulCalculated
+    val riskLevelScoreLastSuccessfulCalculated =
+        RiskLevelRepository.riskLevelScoreLastSuccessfulCalculated
 
     // Values from ExposureSummaryRepository
     val daysSinceLastExposure: LiveData<Int?> = ExposureSummaryRepository.daysSinceLastExposure
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_information.xml b/Corona-Warn-App/src/main/res/layout/fragment_information.xml
index 931078c80..337d98cb5 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_information.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_information.xml
@@ -9,6 +9,8 @@
     </data>
 
     <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/information_container"
+        android:contentDescription="@string/information_title"
         android:layout_width="match_parent"
         android:layout_height="match_parent">
 
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_information_about.xml b/Corona-Warn-App/src/main/res/layout/fragment_information_about.xml
index 84ccd0944..ce6b32707 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_information_about.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_information_about.xml
@@ -7,6 +7,7 @@
         android:layout_height="match_parent">
 
         <!-- todo font adjustments needed through final styles -->
+
         <include
             android:id="@+id/information_about_header"
             layout="@layout/include_header"
@@ -19,6 +20,8 @@
             app:title="@{@string/information_about_title}" />
 
         <ScrollView
+            android:id="@+id/information_about_scrollview"
+            android:contentDescription="@string/information_about_title"
             android:layout_width="0dp"
             android:layout_height="0dp"
             android:fillViewport="true"
@@ -28,6 +31,7 @@
             app:layout_constraintTop_toBottomOf="@+id/information_about_header">
 
             <androidx.constraintlayout.widget.ConstraintLayout
+                android:focusable="true"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content">
 
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_information_contact.xml b/Corona-Warn-App/src/main/res/layout/fragment_information_contact.xml
index 4af0b82da..860f801d5 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_information_contact.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_information_contact.xml
@@ -3,6 +3,8 @@
     xmlns:app="http://schemas.android.com/apk/res-auto">
 
     <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/information_contact_container"
+        android:contentDescription="@string/information_contact_title"
         android:layout_width="match_parent"
         android:layout_height="match_parent">
 
@@ -28,6 +30,7 @@
             app:layout_constraintTop_toBottomOf="@+id/information_contact_header">
 
             <androidx.constraintlayout.widget.ConstraintLayout
+                android:focusable="true"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content">
 
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_information_legal.xml b/Corona-Warn-App/src/main/res/layout/fragment_information_legal.xml
index fa547c7c5..754ebd761 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_information_legal.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_information_legal.xml
@@ -11,6 +11,8 @@
     </data>
 
     <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/information_legal_container"
+        android:contentDescription="@string/information_legal_title"
         android:layout_width="match_parent"
         android:layout_height="match_parent">
 
@@ -26,6 +28,7 @@
             app:title="@{@string/information_legal_title}" />
 
         <ScrollView
+            android:focusable="true"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="@dimen/match_constraint"
             android:fillViewport="true"
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_information_privacy.xml b/Corona-Warn-App/src/main/res/layout/fragment_information_privacy.xml
index 637c7cee8..261f2b129 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_information_privacy.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_information_privacy.xml
@@ -11,6 +11,8 @@
     </data>
 
     <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/information_privacy_container"
+        android:contentDescription="@string/information_privacy_title"
         android:layout_width="match_parent"
         android:layout_height="match_parent">
 
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_information_technical.xml b/Corona-Warn-App/src/main/res/layout/fragment_information_technical.xml
index 50b202133..a6f144879 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_information_technical.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_information_technical.xml
@@ -11,6 +11,8 @@
     </data>
 
     <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/information_technical_container"
+        android:contentDescription="@string/information_technical_title"
         android:layout_width="match_parent"
         android:layout_height="match_parent">
 
@@ -26,6 +28,7 @@
             app:title="@{@string/information_technical_title}" />
 
         <ScrollView
+            android:focusable="true"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="@dimen/match_constraint"
             android:fillViewport="true"
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_information_terms.xml b/Corona-Warn-App/src/main/res/layout/fragment_information_terms.xml
index 17885b956..d9d4d65f3 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_information_terms.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_information_terms.xml
@@ -11,6 +11,8 @@
     </data>
 
     <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/information_terms_container"
+        android:contentDescription="@string/information_terms_title"
         android:layout_width="match_parent"
         android:layout_height="match_parent">
 
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_main.xml b/Corona-Warn-App/src/main/res/layout/fragment_main.xml
index 27b5cd78e..95e316012 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_main.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_main.xml
@@ -22,6 +22,8 @@
     </data>
 
     <ScrollView
+        android:id="@+id/main_scrollview"
+        android:contentDescription="@string/main_title"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:fillViewport="true"
@@ -76,6 +78,7 @@
             </androidx.constraintlayout.widget.ConstraintLayout>
 
             <androidx.constraintlayout.widget.ConstraintLayout
+                android:focusable="true"
                 android:id="@+id/main_tracing"
                 style="@style/buttonTracing"
                 android:layout_width="@dimen/match_constraint"
@@ -86,6 +89,7 @@
                 app:layout_constraintTop_toBottomOf="@+id/main_header">
 
                 <TextView
+                    android:focusable="false"
                     android:id="@+id/main_tracing_headline"
                     style="@style/bodyButton"
                     android:layout_width="@dimen/match_constraint"
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_main_overview.xml b/Corona-Warn-App/src/main/res/layout/fragment_main_overview.xml
index 94628acb7..fe2b393b4 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_main_overview.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_main_overview.xml
@@ -3,10 +3,13 @@
     xmlns:app="http://schemas.android.com/apk/res-auto">
 
     <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/main_overview_container"
         android:layout_width="match_parent"
-        android:layout_height="match_parent">
+        android:layout_height="match_parent"
+        android:contentDescription="@string/main_overview_accessibility_title">
 
         <!-- todo font adjustments needed through final styles -->
+
         <include
             android:id="@+id/main_overview_header"
             layout="@layout/include_header"
@@ -14,6 +17,7 @@
             android:layout_height="wrap_content"
             app:icon="@{@drawable/ic_close}"
             app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintHorizontal_bias="0.0"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent"
             app:title="@{@string/main_overview_title}" />
@@ -74,58 +78,60 @@
                     android:layout_width="0dp"
                     android:layout_height="wrap_content"
                     android:layout_marginTop="@dimen/spacing_normal"
+                    android:focusable="true"
                     app:layout_constraintEnd_toEndOf="parent"
                     app:layout_constraintStart_toStartOf="parent"
                     app:layout_constraintTop_toBottomOf="@+id/main_overview_risk">
 
                     <TextView
+                        android:id="@+id/main_overview_risk_subtitle_text"
                         style="@style/headline6"
                         android:layout_width="0dp"
                         android:layout_height="wrap_content"
                         android:layout_marginStart="@dimen/guideline_body_title"
+                        android:focusable="false"
                         android:text="@string/main_overview_subtitle_risk_levels"
                         app:layout_constraintEnd_toEndOf="parent"
                         app:layout_constraintStart_toStartOf="parent"
                         app:layout_constraintTop_toTopOf="parent" />
 
-                </androidx.constraintlayout.widget.ConstraintLayout>
-
-                <include
-                    android:id="@+id/main_overview_risk_increased_risk"
-                    layout="@layout/include_row"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="@dimen/spacing_small"
-                    app:iconStart="@{@drawable/ic_main_overview_circle}"
-                    app:iconTint="@{@color/colorSemanticHighRisk}"
-                    app:layout_constraintEnd_toEndOf="parent"
-                    app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintTop_toBottomOf="@+id/main_overview_risk_subtitle"
-                    app:subtitle="@{@string/main_overview_subtitle_increased_risk}" />
+                    <include
+                        android:id="@+id/main_overview_risk_increased_risk"
+                        layout="@layout/include_row"
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/spacing_small"
+                        app:iconStart="@{@drawable/ic_main_overview_circle}"
+                        app:iconTint="@{@color/colorSemanticHighRisk}"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toBottomOf="@+id/main_overview_risk_subtitle_text"
+                        app:subtitle="@{@string/main_overview_subtitle_increased_risk}" />
 
-                <include
-                    android:id="@+id/main_overview_risk_low_risk"
-                    layout="@layout/include_row"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    app:iconStart="@{@drawable/ic_main_overview_circle}"
-                    app:iconTint="@{@color/colorSemanticLowRisk}"
-                    app:layout_constraintEnd_toEndOf="parent"
-                    app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintTop_toBottomOf="@+id/main_overview_risk_increased_risk"
-                    app:subtitle="@{@string/main_overview_subtitle_low_risk}" />
+                    <include
+                        android:id="@+id/main_overview_risk_low_risk"
+                        layout="@layout/include_row"
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        app:iconStart="@{@drawable/ic_main_overview_circle}"
+                        app:iconTint="@{@color/colorSemanticLowRisk}"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toBottomOf="@+id/main_overview_risk_increased_risk"
+                        app:subtitle="@{@string/main_overview_subtitle_low_risk}" />
 
-                <include
-                    android:id="@+id/main_overview_risk_unknown_risk"
-                    layout="@layout/include_row"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    app:iconStart="@{@drawable/ic_main_overview_circle}"
-                    app:iconTint="@{@color/colorSemanticNeutralRisk}"
-                    app:layout_constraintEnd_toEndOf="parent"
-                    app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintTop_toBottomOf="@+id/main_overview_risk_low_risk"
-                    app:subtitle="@{@string/main_overview_subtitle_unknown_risk}" />
+                    <include
+                        android:id="@+id/main_overview_risk_unknown_risk"
+                        layout="@layout/include_row"
+                        android:layout_width="0dp"
+                        android:layout_height="wrap_content"
+                        app:iconStart="@{@drawable/ic_main_overview_circle}"
+                        app:iconTint="@{@color/colorSemanticNeutralRisk}"
+                        app:layout_constraintEnd_toEndOf="parent"
+                        app:layout_constraintStart_toStartOf="parent"
+                        app:layout_constraintTop_toBottomOf="@+id/main_overview_risk_low_risk"
+                        app:subtitle="@{@string/main_overview_subtitle_unknown_risk}" />
+                </androidx.constraintlayout.widget.ConstraintLayout>
 
                 <include
                     android:id="@+id/main_overview_test"
@@ -137,7 +143,7 @@
                     app:icon="@{@drawable/ic_main_overview_3}"
                     app:layout_constraintEnd_toEndOf="parent"
                     app:layout_constraintStart_toStartOf="parent"
-                    app:layout_constraintTop_toBottomOf="@+id/main_overview_risk_unknown_risk"
+                    app:layout_constraintTop_toBottomOf="@+id/main_overview_risk_subtitle"
                     app:subtitle="@{@string/main_overview_headline_test}" />
 
                 <androidx.constraintlayout.widget.ConstraintLayout
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_onboarding.xml b/Corona-Warn-App/src/main/res/layout/fragment_onboarding.xml
index 7227d5efb..6c99c27ae 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_onboarding.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_onboarding.xml
@@ -4,6 +4,8 @@
     xmlns:tools="http://schemas.android.com/tools">
 
     <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/onboarding_container"
+        android:contentDescription="@string/onboarding_onboarding_accessibility_title"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:fillViewport="true"
@@ -23,7 +25,8 @@
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toBottomOf="@+id/guideline_top"
-            app:subtitle="@{@string/onboarding_subtitle}" />
+            app:subtitle="@{@string/onboarding_subtitle}"
+            android:focusable="false"/>
 
         <Button
             android:id="@+id/onboarding_button_next"
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_notifications.xml b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_notifications.xml
index da7e8378d..a4d892473 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_notifications.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_notifications.xml
@@ -3,9 +3,11 @@
     xmlns:app="http://schemas.android.com/apk/res-auto">
 
     <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/onboarding_notifications_container"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:fillViewport="true">
+        android:fillViewport="true"
+        android:contentDescription="@string/onboarding_notifications_accessibility_title">
 
         <include
             android:id="@+id/onboarding_button_back"
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_privacy.xml b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_privacy.xml
index 65d102f43..e0b0d9448 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_privacy.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_privacy.xml
@@ -11,8 +11,10 @@
     </data>
 
     <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/onboarding_privacy_container"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
+        android:contentDescription="@string/onboarding_privacy_accessibility_title"
         android:fillViewport="true">
 
         <include
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_test.xml b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_test.xml
index ec7bb4e9e..69316d407 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_test.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_test.xml
@@ -3,9 +3,11 @@
     xmlns:app="http://schemas.android.com/apk/res-auto">
 
     <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/onboarding_test_container"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:fillViewport="true">
+        android:fillViewport="true"
+        android:contentDescription="@string/onboarding_test_accessibility_title">
 
         <include
             android:id="@+id/onboarding_button_back"
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_tracing.xml b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_tracing.xml
index c46d695cd..442c4f9ab 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_onboarding_tracing.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_onboarding_tracing.xml
@@ -3,9 +3,11 @@
     xmlns:app="http://schemas.android.com/apk/res-auto">
 
     <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/onboarding_tracing_container"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:fillViewport="true">
+        android:fillViewport="true"
+        android:contentDescription="@string/onboarding_tracing_accessibility_title">
 
         <include
             android:id="@+id/onboarding_button_back"
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_risk_details.xml b/Corona-Warn-App/src/main/res/layout/fragment_risk_details.xml
index 3e5f3ad20..d4851a0e1 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_risk_details.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_risk_details.xml
@@ -21,8 +21,10 @@
     </data>
 
     <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/risk_details_container"
         android:layout_width="match_parent"
-        android:layout_height="match_parent">
+        android:layout_height="match_parent"
+        android:contentDescription="@string/risk_details_accessibility_title">
 
         <com.google.android.material.appbar.AppBarLayout
             android:id="@+id/risk_details_app_bar_layout"
@@ -58,10 +60,12 @@
             app:layout_constraintTop_toBottomOf="@+id/risk_details_app_bar_layout">
 
             <androidx.constraintlayout.widget.ConstraintLayout
+                android:focusable="true"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content">
 
                 <include
+                    android:focusable="false"
                     android:id="@+id/risk_details_risk_card"
                     layout="@layout/include_risk_card"
                     android:layout_width="0dp"
@@ -74,6 +78,7 @@
                     app:tracingViewModel="@{tracingViewModel}" />
 
                 <TextView
+                    android:focusable="false"
                     android:id="@+id/risk_details_behavior_headline"
                     style="@style/headline5"
                     android:layout_width="0dp"
@@ -85,6 +90,7 @@
                     app:layout_constraintTop_toBottomOf="@+id/risk_details_risk_card" />
 
                 <TextView
+                    android:focusable="false"
                     android:id="@+id/risk_details_behavior_subtitle"
                     style="@style/body2"
                     android:layout_width="0dp"
@@ -99,6 +105,7 @@
                     android:id="@+id/risk_details_behavior_wrapper"
                     android:layout_width="0dp"
                     android:layout_height="wrap_content"
+                    android:focusable="true"
                     app:layout_constraintEnd_toStartOf="@+id/guideline_end"
                     app:layout_constraintStart_toStartOf="@+id/guideline_start"
                     app:layout_constraintTop_toBottomOf="@id/risk_details_behavior_subtitle">
@@ -109,6 +116,7 @@
                         android:layout_width="0dp"
                         android:layout_height="wrap_content"
                         android:layout_marginTop="@dimen/spacing_normal"
+                        android:focusable="false"
                         android:visibility="@{FormatterRiskHelper.formatVisibilityBehavior(tracingViewModel.riskLevel)}"
                         app:layout_constraintEnd_toEndOf="parent"
                         app:layout_constraintStart_toStartOf="parent"
@@ -121,6 +129,7 @@
                         android:layout_width="0dp"
                         android:layout_height="wrap_content"
                         android:layout_marginTop="@dimen/spacing_normal"
+                        android:focusable="false"
                         android:visibility="@{FormatterRiskHelper.formatVisibilityBehaviorIncreasedRisk(tracingViewModel.riskLevel)}"
                         app:layout_constraintEnd_toEndOf="parent"
                         app:layout_constraintStart_toStartOf="parent"
@@ -130,6 +139,7 @@
                 </androidx.constraintlayout.widget.ConstraintLayout>
 
                 <androidx.constraintlayout.widget.ConstraintLayout
+                    android:focusable="true"
                     android:id="@+id/risk_details_body"
                     style="@style/greyBodyBackground"
                     android:layout_width="match_parent"
@@ -139,6 +149,7 @@
                     app:layout_constraintTop_toBottomOf="@id/risk_details_behavior_wrapper">
 
                     <TextView
+                        android:focusable="false"
                         android:id="@+id/risk_details_information_headline"
                         style="@style/headline5"
                         android:layout_width="match_parent"
@@ -149,6 +160,7 @@
                         app:layout_constraintTop_toTopOf="parent" />
 
                     <TextView
+                        android:focusable="false"
                         android:id="@+id/risk_details_information_subtitle"
                         style="@style/body2"
                         android:layout_width="match_parent"
@@ -160,6 +172,7 @@
                         app:layout_constraintTop_toBottomOf="@+id/risk_details_information_headline" />
 
                     <TextView
+                        android:focusable="false"
                         android:id="@+id/risk_details_information_body"
                         style="@style/body2"
                         android:layout_width="match_parent"
@@ -172,6 +185,7 @@
                         app:layout_constraintTop_toBottomOf="@+id/risk_details_information_subtitle" />
 
                     <TextView
+                        android:focusable="false"
                         android:id="@+id/risk_details_information_body_notice"
                         style="@style/body2"
                         android:layout_width="match_parent"
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_submission_contact.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_contact.xml
index 1c0e6016e..a007acf69 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_submission_contact.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_submission_contact.xml
@@ -4,9 +4,11 @@
     xmlns:tools="http://schemas.android.com/tools">
 
     <ScrollView
+        android:id="@+id/submission_contact_scrollview"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:fillViewport="true"
+        android:contentDescription="@string/submission_contact_accessibility_title"
         tools:context=".ui.submission.SubmissionContactFragment">
 
         <androidx.constraintlayout.widget.ConstraintLayout
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_submission_dispatcher.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_dispatcher.xml
index d4f5b84bc..086d6c77f 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_submission_dispatcher.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_submission_dispatcher.xml
@@ -4,10 +4,12 @@
     xmlns:tools="http://schemas.android.com/tools">
 
     <ScrollView
+        android:id="@+id/submission_dispatcher_scrollview"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:fillViewport="true"
-        tools:context=".ui.submission.SubmissionDispatcherFragment">
+        tools:context=".ui.submission.SubmissionDispatcherFragment"
+        android:contentDescription="@string/submission_dispatcher_accessibility_title">
 
         <androidx.constraintlayout.widget.ConstraintLayout
             android:layout_width="match_parent"
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_submission_intro.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_intro.xml
index f9742d587..c3cd9f457 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_submission_intro.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_submission_intro.xml
@@ -4,9 +4,11 @@
     xmlns:tools="http://schemas.android.com/tools">
 
     <ScrollView
+        android:id="@+id/submission_intro_scrollview"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:fillViewport="true"
+        android:contentDescription="@string/submission_intro_accessibility_title"
         tools:context=".ui.submission.SubmissionIntroFragment">
 
         <androidx.constraintlayout.widget.ConstraintLayout
@@ -22,7 +24,8 @@
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
                 app:layout_constraintTop_toTopOf="parent"
-                app:title="@{@string/submission_intro_title}" />
+                app:title="@{@string/submission_intro_title}"
+               />
 
             <include
                 layout="@layout/include_submission_intro"
@@ -31,7 +34,8 @@
                 app:layout_constraintBottom_toTopOf="@+id/guideline_action"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toBottomOf="@+id/submission_intro_header" />
+                app:layout_constraintTop_toBottomOf="@+id/submission_intro_header"
+              />
 
             <Button
                 android:id="@+id/submission_intro_button_next"
diff --git a/Corona-Warn-App/src/main/res/layout/fragment_submission_tan.xml b/Corona-Warn-App/src/main/res/layout/fragment_submission_tan.xml
index 4337a0b5e..f6a246f92 100644
--- a/Corona-Warn-App/src/main/res/layout/fragment_submission_tan.xml
+++ b/Corona-Warn-App/src/main/res/layout/fragment_submission_tan.xml
@@ -15,14 +15,17 @@
 
 
     <ScrollView
+        android:id="@+id/submission_tan_scrollview"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:fillViewport="true"
+        android:contentDescription="@string/submission_tan_accessibility_title"
         tools:context=".ui.submission.SubmissionTanFragment">
 
         <androidx.constraintlayout.widget.ConstraintLayout
             android:layout_width="match_parent"
-            android:layout_height="wrap_content">
+            android:layout_height="wrap_content"
+            android:focusable="true">
 
             <include
                 android:id="@+id/submission_tan_header"
@@ -33,7 +36,8 @@
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
                 app:layout_constraintTop_toTopOf="parent"
-                app:title="@{@string/submission_tan_title}" />
+                app:title="@{@string/submission_tan_title}"
+                android:focusable="false"/>
 
             <TextView
                 android:id="@+id/submission_tan_body"
@@ -44,7 +48,8 @@
                 android:text="@string/submission_tan_body"
                 app:layout_constraintEnd_toStartOf="@+id/guideline_end"
                 app:layout_constraintStart_toStartOf="@+id/guideline_start"
-                app:layout_constraintTop_toBottomOf="@id/submission_tan_header" />
+                app:layout_constraintTop_toBottomOf="@id/submission_tan_header"
+                android:focusable="false"/>
 
             <de.rki.coronawarnapp.ui.submission.TanInput
                 android:id="@+id/submission_tan_input"
@@ -53,7 +58,7 @@
                 android:layout_marginTop="@dimen/spacing_normal"
                 app:layout_constraintEnd_toStartOf="@+id/guideline_end"
                 app:layout_constraintStart_toStartOf="@+id/guideline_start"
-                app:layout_constraintTop_toBottomOf="@+id/submission_tan_body" />
+                app:layout_constraintTop_toBottomOf="@+id/submission_tan_body"/>
 
             <TextView
                 android:id="@+id/submission_tan_character_error"
diff --git a/Corona-Warn-App/src/main/res/layout/include_button_icon.xml b/Corona-Warn-App/src/main/res/layout/include_button_icon.xml
index 4bdf45b4d..2eabc9342 100644
--- a/Corona-Warn-App/src/main/res/layout/include_button_icon.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_button_icon.xml
@@ -22,7 +22,7 @@
             style="@style/icon"
             android:layout_width="@dimen/icon_size_button"
             android:layout_height="@dimen/icon_size_button"
-            android:contentDescription="@string/lorem_ipsum"
+            android:contentDescription="@string/button_back"
             android:src="@{icon}"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
diff --git a/Corona-Warn-App/src/main/res/layout/include_dispatcher_card.xml b/Corona-Warn-App/src/main/res/layout/include_dispatcher_card.xml
index 12f0a3542..ddbefb227 100644
--- a/Corona-Warn-App/src/main/res/layout/include_dispatcher_card.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_dispatcher_card.xml
@@ -24,7 +24,8 @@
         style="@style/cardGrey"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        app:layout_constraintTop_toTopOf="parent">
+        app:layout_constraintTop_toTopOf="parent"
+        android:focusable="true">
 
         <TextView
             android:id="@+id/dispatcher_card_title"
@@ -40,14 +41,13 @@
             app:layout_constraintTop_toTopOf="parent"
             tools:text="@string/submission_dispatcher_card_qr" />
 
-        <include
+        <ImageView
             android:id="@+id/dispatcher_card_icon"
-            layout="@layout/include_button_icon"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="@dimen/spacing_small"
             android:layout_marginEnd="@dimen/spacing_normal"
-            app:icon="@{@drawable/ic_forward}"
+            android:src="@drawable/ic_forward"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
 
@@ -70,7 +70,6 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="@dimen/button_icon_margin"
-            android:contentDescription="@string/lorem_ipsum"
             android:src="@{illustration}"
             app:layout_constraintBottom_toBottomOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
diff --git a/Corona-Warn-App/src/main/res/layout/include_information_details.xml b/Corona-Warn-App/src/main/res/layout/include_information_details.xml
index d3d5515fe..4260196cd 100644
--- a/Corona-Warn-App/src/main/res/layout/include_information_details.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_information_details.xml
@@ -39,44 +39,51 @@
             app:layout_constraintTop_toTopOf="parent"
             tools:src="@drawable/ic_illustration_tracing_on" />
 
-        <TextView
-            android:id="@+id/information_details_header_headline"
-            style="@style/headline5"
-            android:layout_width="0dp"
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:text="@{headline}"
-            android:visibility="@{FormatterHelper.formatVisibilityText(headline)}"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="@id/guideline_start"
-            app:layout_constraintTop_toBottomOf="@+id/information_details_header_illustration"
-            tools:text="@string/settings_title" />
+            app:layout_constraintTop_toBottomOf="@+id/information_details_header_illustration">
 
-        <TextView
-            android:id="@+id/information_details_header_body"
-            style="@style/subtitle"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="@dimen/spacing_tiny"
-            android:text="@{body}"
-            android:visibility="@{FormatterHelper.formatVisibilityText(body)}"
-            app:layout_constraintEnd_toEndOf="@id/guideline_end"
-            app:layout_constraintStart_toStartOf="@id/guideline_start"
-            app:layout_constraintTop_toBottomOf="@+id/information_details_header_headline"
-            tools:text="@string/settings_title" />
+            <TextView
+                android:id="@+id/information_details_header_headline"
+                style="@style/headline5"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:text="@{headline}"
+                android:visibility="@{FormatterHelper.formatVisibilityText(headline)}"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toStartOf="@id/guideline_start"
+                app:layout_constraintTop_toTopOf="parent"
+                tools:text="@string/settings_title" />
 
-        <androidx.constraintlayout.widget.Guideline
-            android:id="@+id/guideline_start"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="vertical"
-            app:layout_constraintGuide_begin="@dimen/guideline_start" />
+            <TextView
+                android:id="@+id/information_details_header_body"
+                style="@style/subtitle"
+                android:layout_width="0dp"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/spacing_tiny"
+                android:text="@{body}"
+                android:visibility="@{FormatterHelper.formatVisibilityText(body)}"
+                app:layout_constraintEnd_toEndOf="@id/guideline_end"
+                app:layout_constraintStart_toStartOf="@id/guideline_start"
+                app:layout_constraintTop_toBottomOf="@+id/information_details_header_headline"
+                tools:text="@string/settings_title" />
 
-        <androidx.constraintlayout.widget.Guideline
-            android:id="@+id/guideline_end"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:orientation="vertical"
-            app:layout_constraintGuide_end="@dimen/guideline_end" />
+            <androidx.constraintlayout.widget.Guideline
+                android:id="@+id/guideline_start"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"
+                app:layout_constraintGuide_begin="@dimen/guideline_start" />
+
+            <androidx.constraintlayout.widget.Guideline
+                android:id="@+id/guideline_end"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"
+                app:layout_constraintGuide_end="@dimen/guideline_end" />
+        </androidx.constraintlayout.widget.ConstraintLayout>
 
     </androidx.constraintlayout.widget.ConstraintLayout>
+
 </layout>
\ No newline at end of file
diff --git a/Corona-Warn-App/src/main/res/layout/include_main_card.xml b/Corona-Warn-App/src/main/res/layout/include_main_card.xml
index 5783ed452..d147902ef 100644
--- a/Corona-Warn-App/src/main/res/layout/include_main_card.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_main_card.xml
@@ -42,7 +42,7 @@
     <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/main_card"
         style="@style/card"
-        android:layout_width="match_parent"
+         android:layout_width="match_parent"
         android:layout_height="wrap_content">
 
         <androidx.constraintlayout.widget.ConstraintLayout
@@ -116,7 +116,6 @@
                 android:id="@+id/main_card_content_illustration"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:contentDescription="@string/lorem_ipsum"
                 android:src="@{illustration}"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintTop_toTopOf="parent" />
diff --git a/Corona-Warn-App/src/main/res/layout/include_main_overview_glossary.xml b/Corona-Warn-App/src/main/res/layout/include_main_overview_glossary.xml
index 034ca8655..798f9130f 100644
--- a/Corona-Warn-App/src/main/res/layout/include_main_overview_glossary.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_main_overview_glossary.xml
@@ -15,6 +15,7 @@
     </data>
 
     <androidx.constraintlayout.widget.ConstraintLayout
+        android:focusable="true"
         android:layout_width="match_parent"
         android:layout_height="wrap_content">
 
diff --git a/Corona-Warn-App/src/main/res/layout/include_main_overview_segment.xml b/Corona-Warn-App/src/main/res/layout/include_main_overview_segment.xml
index 25644c52e..8201510f7 100644
--- a/Corona-Warn-App/src/main/res/layout/include_main_overview_segment.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_main_overview_segment.xml
@@ -28,7 +28,8 @@
             android:layout_height="wrap_content"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent">
+            app:layout_constraintTop_toTopOf="parent"
+            android:focusable="true">
 
             <ImageView
                 android:id="@+id/main_overview_segment_icon"
@@ -48,7 +49,8 @@
                 android:text="@{subtitle}"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toStartOf="@+id/guideline_body"
-                app:layout_constraintTop_toTopOf="parent" />
+                app:layout_constraintTop_toTopOf="parent"
+                android:focusable="false"/>
 
             <TextView
                 android:id="@+id/main_overview_segment_body"
@@ -60,7 +62,8 @@
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toStartOf="@+id/main_overview_segment_subtitle"
-                app:layout_constraintTop_toBottomOf="@+id/main_overview_segment_subtitle" />
+                app:layout_constraintTop_toBottomOf="@+id/main_overview_segment_subtitle"
+                android:focusable="false"/>
 
             <androidx.constraintlayout.widget.Guideline
                 android:id="@+id/guideline_body"
diff --git a/Corona-Warn-App/src/main/res/layout/include_onboarding.xml b/Corona-Warn-App/src/main/res/layout/include_onboarding.xml
index b7628a823..f8e7814a7 100644
--- a/Corona-Warn-App/src/main/res/layout/include_onboarding.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_onboarding.xml
@@ -47,7 +47,8 @@
 
         <androidx.constraintlayout.widget.ConstraintLayout
             android:layout_width="match_parent"
-            android:layout_height="wrap_content">
+            android:layout_height="wrap_content"
+            android:focusable="true">
 
             <ImageView
                 android:id="@+id/onboarding_illustration"
@@ -66,6 +67,7 @@
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/spacing_normal"
+                android:focusable="false"
                 android:text="@{headline}"
                 app:layout_constraintEnd_toEndOf="@id/guideline_end"
                 app:layout_constraintStart_toStartOf="@id/guideline_start"
@@ -78,6 +80,7 @@
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/spacing_small"
+                android:focusable="false"
                 android:text="@{subtitle}"
                 android:visibility="@{FormatterHelper.formatVisibilityText(subtitle)}"
                 app:layout_constraintEnd_toEndOf="@id/guideline_end"
@@ -91,6 +94,7 @@
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/spacing_normal"
+                android:focusable="false"
                 android:text="@{body}"
                 app:layout_constraintEnd_toEndOf="@id/guideline_end"
                 app:layout_constraintStart_toStartOf="@id/guideline_start"
@@ -103,6 +107,7 @@
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/spacing_normal"
+                android:focusable="false"
                 android:text="@{bodyEmphasized}"
                 android:visibility="@{FormatterHelper.formatVisibilityText(bodyEmphasized)}"
                 app:layout_constraintEnd_toEndOf="@id/guideline_end"
diff --git a/Corona-Warn-App/src/main/res/layout/include_risk_card.xml b/Corona-Warn-App/src/main/res/layout/include_risk_card.xml
index 5eabb5178..48c7feab6 100644
--- a/Corona-Warn-App/src/main/res/layout/include_risk_card.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_risk_card.xml
@@ -27,7 +27,8 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:background="@{FormatterRiskHelper.formatRiskShape(showDetails)}"
-        android:backgroundTint="@{FormatterRiskHelper.formatRiskColor(tracingViewModel.riskLevel)}">
+        android:backgroundTint="@{FormatterRiskHelper.formatRiskColor(tracingViewModel.riskLevel)}"
+        android:focusable="true">
 
         <include
             android:id="@+id/risk_card_header"
@@ -144,9 +145,9 @@
             <!-- todo exchange variable-->
             <androidx.constraintlayout.widget.ConstraintLayout
                 android:id="@+id/risk_card_row_saved_days"
-                android:layout_marginTop="@dimen/spacing_small"
                 android:layout_width="@dimen/match_constraint"
                 android:layout_height="wrap_content"
+                android:layout_marginTop="@dimen/spacing_small"
                 android:visibility="@{FormatterHelper.formatVisibilityText(FormatterRiskHelper.formatRiskActiveTracingDaysInRetentionPeriod(tracingViewModel.riskLevel, showDetails, tracingViewModel.activeTracingDaysInRetentionPeriod))}"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
@@ -165,12 +166,12 @@
                         android:layout_width="23dp"
                         android:layout_height="23dp"
                         app:circleColor="@color/colorStableMedium"
+                        app:circleWidth="5"
                         app:disableText="true"
                         app:layout_constraintBottom_toBottomOf="parent"
                         app:layout_constraintEnd_toEndOf="parent"
                         app:layout_constraintStart_toStartOf="parent"
                         app:layout_constraintTop_toTopOf="parent"
-                        app:circleWidth="5"
                         app:progress="@{tracingViewModel.activeTracingDaysInRetentionPeriod}"
                         app:progressColor="@color/colorStableLight" />
 
diff --git a/Corona-Warn-App/src/main/res/layout/include_risk_card_header.xml b/Corona-Warn-App/src/main/res/layout/include_risk_card_header.xml
index 4b625854d..5aa9c5097 100644
--- a/Corona-Warn-App/src/main/res/layout/include_risk_card_header.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_risk_card_header.xml
@@ -40,7 +40,6 @@
             android:id="@+id/risk_card_header_icon"
             android:layout_width="@dimen/icon_size_risk_card"
             android:layout_height="@dimen/icon_size_risk_card"
-            android:contentDescription="@string/lorem_ipsum"
             android:importantForAccessibility="no"
             android:src="@drawable/ic_forward"
             android:tint="@{FormatterRiskHelper.formatStableIconColor(tracingViewModel.riskLevel)}"
diff --git a/Corona-Warn-App/src/main/res/layout/include_risk_details_behavior_increased_risk.xml b/Corona-Warn-App/src/main/res/layout/include_risk_details_behavior_increased_risk.xml
index 32fe7197c..15e1b4702 100644
--- a/Corona-Warn-App/src/main/res/layout/include_risk_details_behavior_increased_risk.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_risk_details_behavior_increased_risk.xml
@@ -15,10 +15,12 @@
     </data>
 
     <androidx.constraintlayout.widget.ConstraintLayout
+        android:focusable="true"
         android:layout_width="match_parent"
         android:layout_height="match_parent">
 
         <include
+            android:focusable="false"
             android:id="@+id/risk_details_behavior_stay_home"
             layout="@layout/include_risk_details_behavior_row"
             android:layout_width="0dp"
@@ -31,6 +33,7 @@
             app:riskLevel="@{tracingViewModel.riskLevel}" />
 
         <include
+            android:focusable="false"
             android:id="@+id/risk_details_behavior_stay_away"
             layout="@layout/include_risk_details_behavior_row"
             android:layout_width="0dp"
@@ -44,6 +47,7 @@
             app:riskLevel="@{tracingViewModel.riskLevel}" />
 
         <include
+            android:focusable="false"
             android:id="@+id/risk_details_behavior_cough_sneeze"
             layout="@layout/include_risk_details_behavior_row"
             android:layout_width="0dp"
@@ -58,6 +62,7 @@
 
 
         <androidx.constraintlayout.widget.ConstraintLayout
+            android:focusable="true"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_marginStart="@dimen/spacing_large"
@@ -67,6 +72,7 @@
             app:layout_constraintTop_toBottomOf="@+id/risk_details_behavior_cough_sneeze">
 
             <TextView
+                android:focusable="false"
                 android:id="@+id/risk_details_behavior_bullet_point_1"
                 style="@style/subtitle"
                 android:layout_width="0dp"
@@ -77,6 +83,7 @@
                 app:layout_constraintTop_toTopOf="parent" />
 
             <TextView
+                android:focusable="false"
                 android:id="@+id/risk_details_behavior_bullet_point_2"
                 style="@style/subtitle"
                 android:layout_width="0dp"
@@ -88,6 +95,7 @@
                 app:layout_constraintTop_toBottomOf="@id/risk_details_behavior_bullet_point_1" />
 
             <TextView
+                android:focusable="false"
                 android:id="@+id/risk_details_behavior_bullet_point_3"
                 style="@style/subtitle"
                 android:layout_width="0dp"
diff --git a/Corona-Warn-App/src/main/res/layout/include_risk_details_behavior_row.xml b/Corona-Warn-App/src/main/res/layout/include_risk_details_behavior_row.xml
index 82bfcf512..8d5e0f5e8 100644
--- a/Corona-Warn-App/src/main/res/layout/include_risk_details_behavior_row.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_risk_details_behavior_row.xml
@@ -21,6 +21,7 @@
     </data>
 
     <androidx.constraintlayout.widget.ConstraintLayout
+        android:focusable="true"
         android:layout_width="match_parent"
         android:layout_height="wrap_content">
 
@@ -35,6 +36,7 @@
             app:layout_constraintTop_toTopOf="parent">
 
             <ImageView
+                android:focusable="false"
                 style="@style/icon"
                 android:layout_width="@dimen/icon_size_risk_details_behavior"
                 android:layout_height="@dimen/icon_size_risk_details_behavior"
@@ -49,6 +51,7 @@
         </androidx.constraintlayout.widget.ConstraintLayout>
 
         <TextView
+            android:focusable="false"
             style="@style/subtitle"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_contact.xml b/Corona-Warn-App/src/main/res/layout/include_submission_contact.xml
index 6fde2a8fc..a49614da9 100644
--- a/Corona-Warn-App/src/main/res/layout/include_submission_contact.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_submission_contact.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<layout xmlns:android="http://schemas.android.com/apk/res/android"
+<layout xmlns:tools="http://schemas.android.com/tools"
+    xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto">
 
     <ScrollView
@@ -8,7 +9,8 @@
 
         <androidx.constraintlayout.widget.ConstraintLayout
             android:layout_width="match_parent"
-            android:layout_height="wrap_content">
+            android:layout_height="wrap_content"
+            android:focusable="true">
 
             <ImageView
                 android:id="@+id/submission_contact_illustration"
@@ -28,7 +30,8 @@
                 android:text="@string/submission_contact_body"
                 app:layout_constraintEnd_toStartOf="@+id/guideline_end"
                 app:layout_constraintStart_toStartOf="@+id/guideline_start"
-                app:layout_constraintTop_toBottomOf="@id/submission_contact_illustration" />
+                app:layout_constraintTop_toBottomOf="@id/submission_contact_illustration"
+                android:focusable="false"/>
 
             <TextView
                 android:id="@+id/submission_contact_headline"
@@ -39,8 +42,8 @@
                 android:text="@string/submission_contact_headline"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toStartOf="@id/guideline_start"
-                app:layout_constraintTop_toBottomOf="@+id/submission_contact_body" />
-
+                app:layout_constraintTop_toBottomOf="@+id/submission_contact_body"
+                android:focusable="false"/>
 
             <de.rki.coronawarnapp.ui.view.StepEntry
                 android:id="@+id/submission_contact_step_1"
@@ -51,7 +54,8 @@
                 app:layout_constraintStart_toStartOf="@+id/guideline_start"
                 app:layout_constraintTop_toBottomOf="@id/submission_contact_headline"
                 app:step_entry_final="false"
-                app:step_entry_icon="@drawable/ic_main_overview_1">
+                app:step_entry_icon="@drawable/ic_main_overview_1"
+                android:contentDescription="@string/submission_contact_step_1_content">
 
                 <androidx.constraintlayout.widget.ConstraintLayout
                     android:layout_width="match_parent"
@@ -68,7 +72,6 @@
                         app:layout_constraintStart_toStartOf="parent"
                         app:layout_constraintTop_toTopOf="parent" />
 
-
                     <TextView
                         android:id="@+id/submission_contact_step_1_number"
                         style="@style/headline5"
@@ -105,12 +108,20 @@
                 app:layout_constraintTop_toBottomOf="@+id/submission_contact_step_1"
                 app:step_entry_final="true"
                 app:step_entry_icon="@drawable/ic_main_overview_2">
+                android:contentDescription="@string/submission_contact_step_2_content">
+                <androidx.constraintlayout.widget.ConstraintLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content">
 
                 <TextView
-                    style="@style/subtitle"
-                    android:layout_width="wrap_content"
+                    android:layout_width="@dimen/match_constraint"
                     android:layout_height="wrap_content"
-                    android:text="@string/submission_contact_step_2_body" />
+                    android:layout_marginTop="@dimen/button_icon_margin"
+                    android:text="@string/submission_contact_step_2_body"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintTop_toTopOf="parent" />
+                </androidx.constraintlayout.widget.ConstraintLayout>
 
             </de.rki.coronawarnapp.ui.view.StepEntry>
 
diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_intro.xml b/Corona-Warn-App/src/main/res/layout/include_submission_intro.xml
index 06ae9ec33..c60a1ff19 100644
--- a/Corona-Warn-App/src/main/res/layout/include_submission_intro.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_submission_intro.xml
@@ -8,7 +8,8 @@
 
         <androidx.constraintlayout.widget.ConstraintLayout
             android:layout_width="match_parent"
-            android:layout_height="wrap_content">
+            android:layout_height="wrap_content"
+            android:focusable="true">
 
             <ImageView
                 android:id="@+id/submission_intro_hero_illustration"
@@ -23,6 +24,7 @@
 
             <TextView
                 android:id="@+id/submission_intro_headline"
+                android:focusable="false"
                 style="@style/headline4"
                 android:layout_width="@dimen/match_constraint"
                 android:layout_height="wrap_content"
@@ -34,6 +36,7 @@
 
             <TextView
                 android:id="@+id/submission_intro_text"
+                android:focusable="false"
                 style="@style/subtitle"
                 android:layout_width="@dimen/match_constraint"
                 android:layout_height="wrap_content"
@@ -46,6 +49,7 @@
             <TextView
                 android:id="@+id/submission_intro_text_enum"
                 style="@style/subtitle"
+                android:focusable="false"
                 android:layout_width="@dimen/match_constraint"
                 android:layout_height="wrap_content"
                 android:layout_marginStart="@dimen/spacing_normal"
diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_status_card_content.xml b/Corona-Warn-App/src/main/res/layout/include_submission_status_card_content.xml
index bc18df4e3..8ab090fe2 100644
--- a/Corona-Warn-App/src/main/res/layout/include_submission_status_card_content.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_submission_status_card_content.xml
@@ -13,12 +13,14 @@
     </data>
 
     <androidx.constraintlayout.widget.ConstraintLayout
+        android:focusable="true"
         android:id="@+id/submission_status_card_content"
         style="@style/cardNoPadding"
         android:layout_width="match_parent"
         android:layout_height="wrap_content">
 
         <TextView
+            android:focusable="false"
             android:id="@+id/submission_status_card_content_title"
             style="@style/headline5"
             android:layout_width="@dimen/match_constraint"
@@ -33,6 +35,7 @@
             tools:text="@string/submission_status_card_title_available" />
 
         <TextView
+            android:focusable="false"
             android:id="@+id/submission_status_card_content_subtitle"
             style="@style/subtitleMedium"
             android:layout_width="@dimen/match_constraint"
@@ -49,6 +52,7 @@
             tools:text="@string/test_result_card_status_negative" />
 
         <TextView
+            android:focusable="false"
             android:id="@+id/submission_status_card_content_body"
             style="@style/subtitle"
             android:layout_width="@dimen/match_constraint"
diff --git a/Corona-Warn-App/src/main/res/layout/include_submission_status_card_unregistered.xml b/Corona-Warn-App/src/main/res/layout/include_submission_status_card_unregistered.xml
index 8c60e2647..918d8abac 100644
--- a/Corona-Warn-App/src/main/res/layout/include_submission_status_card_unregistered.xml
+++ b/Corona-Warn-App/src/main/res/layout/include_submission_status_card_unregistered.xml
@@ -6,7 +6,8 @@
         android:id="@+id/submission_status_card_unregistered"
         style="@style/cardNoPadding"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content">
+        android:layout_height="wrap_content"
+        android:focusable="true">
 
 
         <TextView
@@ -20,11 +21,13 @@
             android:text="@string/submission_status_card_title_unregistered"
             app:layout_constraintEnd_toStartOf="@+id/submission_status_card_unregistered_icon"
             app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
+            app:layout_constraintTop_toTopOf="parent"
+            android:focusable="false"/>
 
 
         <TextView
             android:id="@+id/submission_status_card_unregistered_body"
+            android:focusable="false"
             style="@style/subtitleMedium"
             android:layout_width="@dimen/match_constraint"
             android:layout_height="wrap_content"
diff --git a/Corona-Warn-App/src/main/res/values/strings.xml b/Corona-Warn-App/src/main/res/values/strings.xml
index 91f7ef82d..85bc13728 100644
--- a/Corona-Warn-App/src/main/res/values/strings.xml
+++ b/Corona-Warn-App/src/main/res/values/strings.xml
@@ -226,7 +226,8 @@
     <string name="main_about_body">Hier finden Sie Antworten auf häufig gestellte Fragen rund um die Corona-Warn-App.</string>
     <!-- NOTR -->
     <string name="main_about_link">https://www.bundesregierung.de/corona-warn-app-faq</string>
-
+    <!-- XACT: Opens external webpage -->
+    <string name="hint_external_webpage">Häufige Fragen, hier finden Sie Antworten auf häufig gestellte Fragen rund um die Corona-Warn-App. Aufruf externer Infos im Web.</string>
     <!-- ####################################
                Main - Share
     ###################################### -->
@@ -250,6 +251,8 @@
 
     <!-- XHED: App overview page title -->
     <string name="main_overview_title">Ãœberblick</string>
+    <!-- XACT: main overview page title -->
+    <string name="main_overview_accessibility_title">Ãœberblick</string>
     <!-- XHED: App overview subtitle for tracing explanation-->
     <string name="main_overview_subtitle_tracing">Risiko-Ermittlung</string>
     <!-- YTXT: App overview body text about tracing -->
@@ -294,6 +297,8 @@
     <string name="main_overview_body_glossary_keys">Die Zufallscodes sind zufällig erzeugte Zahlen- und Buchstabenkombinationen. Sie werden zwischen benachbarten Smartphones ausgetauscht. Zufallskennungen lassen sich nicht einer bestimmten Person zuordnen und werden nach 14 Tagen automatisch gelöscht. Eine Corona-positiv getestete Person kann ihre Zufallscodes der letzten bis zu 14 Tage freiwillig mit anderen CWA-Nutzern teilen.</string>
     <!-- XACT: main (overview) - illustraction description, explanation image -->
     <string name="main_overview_illustration_description">Ein Smartphone zeigt unterschiedliche Inhalte, die von eins bis drei nummeriert sind.</string>
+    <!-- XACT: App main page title -->
+    <string name="main_title">Hauptseite der Corona-Warn App</string>
 
     <!-- ####################################
                Risk Details
@@ -341,6 +346,8 @@
     <string name="risk_details_information_body_notice">Das Infektionsrisiko wird anhand der Daten der Risiko-Ermittlung unter Berücksichtigung von Abstand und Dauer lokal auf Ihrem Smartphone berechnet. Ihr Infektionsrisiko ist für niemanden einsehbar und wird nicht weitergegeben.</string> <!-- final -->
     <string name="risk_details_button_update">@string/risk_card_button_update</string>
     <string name="risk_details_button_enable_tracing">@string/risk_card_button_enable_tracing</string>
+    <!-- XACT: risk details page title -->
+    <string name="risk_details_accessibility_title">Ihr Risikostatus</string>
 
     <!-- ####################################
               Onboarding
@@ -359,6 +366,8 @@
     <string name="onboarding_button_start">Los geht\'s</string>
     <!-- XTXT: onboarding - back description for screen reader -->
     <string name="onboarding_button_back_description">Zurück</string>
+    <!-- XACT: Onboarding (together) page title -->
+    <string name="onboarding_onboarding_accessibility_title">Einführung Seite 1 von 5. Gemeinsam Corona bekämpfen</string>
     <!-- XHED: onboarding(together) - fight corona -->
     <string name="onboarding_headline">Gemeinsam Corona bekämpfen</string>
     <!-- XHED: onboarding(together) - two/three line headline under an illustration -->
@@ -369,12 +378,16 @@
     <string name="onboarding_body_emphasized">Die App merkt sich Begegnungen zwischen Menschen, indem ihre Smartphones verschlüsselte Zufallscodes austauschen. Und zwar ohne dabei auf persönliche Daten zuzugreifen.</string>
     <!-- XACT: onboarding(together) - illustraction description, header image -->
     <string name="onboarding_illustration_description">Eine vielfältige Gruppe in einer Stadt benutzt Smartphones.</string>
+    <!-- XACT: Onboarding (privacy) page title -->
+    <string name="onboarding_privacy_accessibility_title">Einführung Seite 2 von 5. Datenschutz</string>
     <!-- XHED: onboarding(privacy) - title -->
     <string name="onboarding_privacy_headline">Datenschutz</string>
     <!-- YTXT: onboarding(privacy) - body -->
     <string name="onboarding_privacy_body">@string/information_privacy_body</string>
     <!-- XACT: onboarding(privacy) - illustraction description, header image -->
     <string name="onboarding_privacy_illustration_description">Eine Frau mit einem Handy benutzt die Corona-Warn-App, ein Vorhängeschloss auf einem Schild steht als Symbol für verschlüsselte Daten.</string>
+    <!-- XACT: Onboarding (tracing) page title -->
+    <string name="onboarding_tracing_accessibility_title">Einführung Seite 3 von 5. Wie Sie die Risiko Ermittlung ermöglichen</string>
     <!-- XHED: onboarding(tracing) - how to enable tracing -->
     <string name="onboarding_tracing_headline">Wie Sie die Risiko-Ermittlung ermöglichen</string>
     <!-- XHED: onboarding(tracing) - two/three line headline under an illustration -->
@@ -399,6 +412,8 @@
     <string name="onboarding_tracing_dialog_button_negative">Zurück</string>
     <!-- XACT: onboarding(tracing) - illustraction description, header image -->
     <string name="onboarding_tracing_illustration_description">Drei Personen haben die Risiko-Erkennung auf ihren Smartphones aktiviert, ihre Begegnung wird daher aufgezeichnet.</string>
+    <!-- XACT: Onboarding (test) page title -->
+    <string name="onboarding_test_accessibility_title">Einführung Seite 4 von 5. Falls Sie positiv getestet wurden</string>
     <!-- XHED: onboarding(test) - about positive tests -->
     <string name="onboarding_test_headline">Falls Sie positiv getestet werden …</string>
     <!-- XHED: onboarding(test) - two/three line headline under an illustration -->
@@ -407,6 +422,8 @@
     <string name="onboarding_test_body">Ihre Mitteilung wird zuverlässig verschlüsselt über einen sicheren Server weiterverarbeitet. Die Personen, deren verschlüsselte Zufallscodes Sie gesammelt haben, erhalten nun eine Warnung und Informationen darüber, wie sie weiter vorgehen sollen.</string>
     <!-- XACT: onboarding(test) - illustraction description, header image -->
     <string name="onboarding_test_illustration_description">Ein positiver Testbefund wird verschlüsselt ins System übermittelt, das nun andere Nutzerinnen und Nutzer warnt.</string>
+    <!-- XACT: Onboarding (datashare) page title -->
+    <string name="onboarding_notifications_accessibility_title">Einführung Seite 5 von 5. Warnungen erhalten und Risiken erkennen</string>
     <!-- XHED: onboarding(datashare) - about positive tests -->
     <string name="onboarding_notifications_headline">Warnungen erhalten, Risiken erkennen</string>
     <!-- XHED: onboarding(datashare) - two/three line headline under an illustration -->
@@ -2667,6 +2684,8 @@ as modifying the License.
     <string name="submission_tan_body">Geben Sie bitte die 10 Stellen der TAN ein, die Ihnen mitgeteilt wurde.</string>
     <!-- XBUT: Submit TAN button -->
     <string name="submission_tan_button_text">Weiter</string>
+    <!-- XACT: Submission Tan page title -->
+    <string name="submission_tan_accessibility_title">TAN Eingabe</string>
     <!-- YTXT: Error text for the tan submission page -->
     <string name="submission_tan_error">Ungültige TAN, bitte überprüfen Sie Ihre Eingabe.</string>
     <!-- YTXT: Error text for the tan submission page (wrong characters) -->
@@ -2685,6 +2704,9 @@ as modifying the License.
     <string name="submission_intro_button_next">Weiter</string>
     <!-- XACT: Submission intro - illustration description, explanation image -->
     <string name="submission_intro_illustration_description">Ein positiver Testbefund wird verschlüsselt ins System übermittelt, das nun andere Nutzerinnen und Nutzer warnt.</string>
+    <!-- XACT: Submission Intro page title -->
+    <string name="submission_intro_accessibility_title">Wurden Sie getestet? So funktioniert das Corona-Warn-System</string>
+
 
     <!-- Notification -->
     <!-- XHED: Dialog headline for result dialog  -->
@@ -2716,6 +2738,8 @@ as modifying the License.
     <string name="submission_dispatcher_card_tan_tele">Noch keine TAN?</string>
     <!-- YTXT: Body text for TELE_TAN dispatcher option -->
     <string name="submission_dispatcher_tan_tele_card_text">Bitte rufen Sie uns an, falls Sie Positiv getestet wurden</string>
+    <!-- XACT: Dispatcher Tan page title -->
+    <string name="submission_dispatcher_accessibility_title">Welche Informationen liegen ihnen vor?</string>
 
     <!-- Submission Positive Other Warning -->
     <!-- XHED: Page title for the positive result additional warning page-->
@@ -2786,6 +2810,12 @@ as modifying the License.
     <!-- YTXT: Body text for operating hours in contact page-->
     <string name="submission_contact_operating_hours_body">Unsere Öffnungszeiten:\nMo - Fr: 08:00 - 22:00 Uhr\nSa - So: 10:00 - 22:00 Uhr\nEs gelten die Preise Ihres\nTelefonanbieters.</string>
 
+    <!-- XACT: Submission contact page title -->
+    <string name="submission_contact_accessibility_title">TAN Anfrage per Telefonanruf</string>
+    <!-- XACT: Content Description for submission contact step 1 -->
+    <string name="submission_contact_step_1_content">Im ersten Schritt Hotline anrufen und TAN erfragen, unter der Rufnummer 0800 7540002. Die Öffnungszeiten sind Montag bis Freitag von 8 bis 22 Uhr sowie Samstag und Sonntag von 10 bis 22 Uhr. Es gelten die Preise ihres Telefonanbieters.</string>
+    <!-- XACT: Content Description for submission contact step 2 -->
+    <string name="submission_contact_step_2_content">Im Zweiten Schritt registrieren Sie den Test per TAN-Eingabe in der App</string>
 
     <!-- Submission Status Card -->
     <!-- XHED: Page title for the various submission status: fetching -->
@@ -2849,6 +2879,19 @@ as modifying the License.
     <!-- XBUT: submission result dialog close button -->
     <string name="submission_result_button_dialog_close">OK</string>
 
+
+    <!-- ####################################
+          Button Tooltips for Accessibility
+    ###################################### -->
+    <!-- XACT: back button-->
+    <string name="button_back">Zurück zur vorherigen Seite</string>
+    <!-- XACT: proceed button-->
+    <string name="button_proceed">Fortfahren Button</string>
+    <!-- XACT: share button-->
+    <string name="button_share">Teilen</string>
+    <!-- XACT: menu button-->
+    <string name="button_menu">Menü</string>
+
     <!-- ####################################
                Generic Error Messages
         ###################################### -->
-- 
GitLab