diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/ContactDiaryDayFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/ContactDiaryDayFragment.kt
index 42349daa6e6170199ce52d9032151af796c309b4..ae4dd4fc0ddd33175b5b532bb5980d9c07475c88 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/ContactDiaryDayFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/ContactDiaryDayFragment.kt
@@ -2,6 +2,7 @@ package de.rki.coronawarnapp.contactdiary.ui.day
 
 import android.os.Bundle
 import android.view.View
+import android.view.accessibility.AccessibilityEvent
 import androidx.fragment.app.Fragment
 import androidx.navigation.fragment.navArgs
 import com.google.android.material.tabs.TabLayoutMediator
@@ -63,7 +64,7 @@ class ContactDiaryDayFragment : Fragment(R.layout.contact_diary_day_fragment), A
 
         viewModel.uiState.observe2(this) {
             binding.contactDiaryDayHeader.title = it.dayText(requireContext())
-            binding.contentContainer.contentDescription = it.dayText(requireContext())
+            binding.contactDiaryDayHeader.contentDescription = it.dayTextContentDescription(requireContext())
         }
 
         viewModel.routeToScreen.observe2(this) {
@@ -84,4 +85,9 @@ class ContactDiaryDayFragment : Fragment(R.layout.contact_diary_day_fragment), A
             }
         }
     }
+
+    override fun onResume() {
+        super.onResume()
+        binding.contentContainer.sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_FOCUSED)
+    }
 }
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/ContactDiaryDayViewModel.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/ContactDiaryDayViewModel.kt
index d7312158100c45b10934a2b669b0d6c473bd1811..82b5775e5401e38f438399d8944f5e08b2417021 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/ContactDiaryDayViewModel.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/day/ContactDiaryDayViewModel.kt
@@ -7,6 +7,7 @@ import com.squareup.inject.assisted.AssistedInject
 import de.rki.coronawarnapp.contactdiary.ui.day.tabs.ContactDiaryDayTab
 import de.rki.coronawarnapp.contactdiary.util.getLocale
 import de.rki.coronawarnapp.contactdiary.util.toFormattedDay
+import de.rki.coronawarnapp.contactdiary.util.toFormattedDayForAccessibility
 import de.rki.coronawarnapp.ui.SingleLiveEvent
 import de.rki.coronawarnapp.util.coroutine.DispatcherProvider
 import de.rki.coronawarnapp.util.viewmodel.CWAViewModel
@@ -24,7 +25,9 @@ class ContactDiaryDayViewModel @AssistedInject constructor(
     val routeToScreen: SingleLiveEvent<ContactDiaryDayNavigationEvents> = SingleLiveEvent()
 
     val uiState = displayedDay.map { day ->
-        UIState(dayText = { day.toFormattedDay(it.getLocale()) })
+        UIState(
+            dayText = { day.toFormattedDay(it.getLocale()) },
+            dayTextContentDescription = { day.toFormattedDayForAccessibility(it.getLocale()) })
     }.asLiveData()
 
     fun onCreateButtonClicked(activeTab: ContactDiaryDayTab) {
@@ -41,7 +44,8 @@ class ContactDiaryDayViewModel @AssistedInject constructor(
     }
 
     data class UIState(
-        val dayText: (Context) -> String
+        val dayText: (Context) -> String,
+        val dayTextContentDescription: (Context) -> String
     )
 
     @AssistedInject.Factory
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/ContactDiaryOverviewFragment.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/ContactDiaryOverviewFragment.kt
index 8df5988087bd2fd580a25c7b4acf04d723fd01bf..dc4624cdab362a923686a3304da8b921af3b629c 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/ContactDiaryOverviewFragment.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/ContactDiaryOverviewFragment.kt
@@ -9,6 +9,7 @@ import de.rki.coronawarnapp.R
 import de.rki.coronawarnapp.contactdiary.ui.overview.adapter.ContactDiaryOverviewAdapter
 import de.rki.coronawarnapp.contactdiary.util.getLocale
 import de.rki.coronawarnapp.contactdiary.util.toFormattedDay
+import de.rki.coronawarnapp.contactdiary.util.toFormattedDayForAccessibility
 import de.rki.coronawarnapp.databinding.ContactDiaryOverviewFragmentBinding
 import de.rki.coronawarnapp.util.di.AutoInject
 import de.rki.coronawarnapp.util.ui.doNavigate
@@ -30,6 +31,7 @@ class ContactDiaryOverviewFragment : Fragment(R.layout.contact_diary_overview_fr
         super.onViewCreated(view, savedInstanceState)
         val adapter = ContactDiaryOverviewAdapter(
             { it.toFormattedDay(requireContext().getLocale()) },
+            { it.toFormattedDayForAccessibility(requireContext().getLocale()) },
             { vm.onItemPress(it) }
         )
 
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/adapter/ContactDiaryOverviewAdapter.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/adapter/ContactDiaryOverviewAdapter.kt
index 4875c0734c43571d1d915cd1f1ddb74123cb145b..05a3a950db4b7cb8613ab4b168bc76e26f031450 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/adapter/ContactDiaryOverviewAdapter.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/ui/overview/adapter/ContactDiaryOverviewAdapter.kt
@@ -9,6 +9,7 @@ import org.joda.time.LocalDate
 
 class ContactDiaryOverviewAdapter(
     private val dateFormatter: (LocalDate) -> String,
+    private val dateFormatterForAccessibility: (LocalDate) -> String,
     private val onItemSelectionListener: (ListItem) -> Unit
 ) :
     RecyclerView.Adapter<ContactDiaryOverviewAdapter.OverviewElementHolder>() {
@@ -34,7 +35,7 @@ class ContactDiaryOverviewAdapter(
     override fun getItemCount() = elements.size
 
     override fun onBindViewHolder(holder: OverviewElementHolder, position: Int) {
-        holder.bind(elements[position], dateFormatter, onItemSelectionListener)
+        holder.bind(elements[position], dateFormatter, dateFormatterForAccessibility, onItemSelectionListener)
     }
 
     class OverviewElementHolder(private val viewDataBinding: ContactDiaryOverviewListItemBinding) :
@@ -48,10 +49,14 @@ class ContactDiaryOverviewAdapter(
         fun bind(
             item: ListItem,
             dateFormatter: (LocalDate) -> String,
+            dateFormatterForAccessibility: (LocalDate) -> String,
             onElementSelectionListener: (ListItem) -> Unit
         ) {
             viewDataBinding.contactDiaryOverviewElementName.text = dateFormatter(item.date)
 
+            viewDataBinding.contactDiaryOverviewElementName.contentDescription =
+                dateFormatterForAccessibility(item.date)
+
             viewDataBinding.contactDiaryOverviewElementBody.setOnClickListener { onElementSelectionListener(item) }
 
             viewDataBinding.contactDiaryOverviewNestedElementGroup.isGone = item.data.isEmpty()
diff --git a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/util/ContactDiaryExtensions.kt b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/util/ContactDiaryExtensions.kt
index 92614ba40b25549db3818376859f031ea424e423..8149e4cf9d4c76715224d91a76d446f21279682f 100644
--- a/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/util/ContactDiaryExtensions.kt
+++ b/Corona-Warn-App/src/main/java/de/rki/coronawarnapp/contactdiary/util/ContactDiaryExtensions.kt
@@ -38,6 +38,14 @@ fun LocalDate.toFormattedDay(locale: Locale): String {
         DateTimeFormat.shortDate().withLocale(locale).print(this)
 }
 
+fun LocalDate.toFormattedDayForAccessibility(locale: Locale): String {
+    // Use two different methods to get the final date format (Weekday, Longdate)
+    // because the custom pattern of toString() does not localize characters like "/" or "."
+    // For accessibility DateTimeFormat.longDate() is required since shortDate() may read the date in the wrong format
+    return "${toString("EEEE", locale)}, " +
+        DateTimeFormat.longDate().withLocale(locale).print(this)
+}
+
 fun String.formatContactDiaryNameField(maxLength: Int): String {
     val newName = if (isNotBlank()) {
         trim()
diff --git a/Corona-Warn-App/src/main/res/layout/contact_diary_day_fragment.xml b/Corona-Warn-App/src/main/res/layout/contact_diary_day_fragment.xml
index ef861b939119c20f3506db228ecd86cf1a7fc3d6..85a9473ead1eda35770553fdb6663319c2a78564 100644
--- a/Corona-Warn-App/src/main/res/layout/contact_diary_day_fragment.xml
+++ b/Corona-Warn-App/src/main/res/layout/contact_diary_day_fragment.xml
@@ -6,8 +6,8 @@
     <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/content_container"
         android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:focusable="true">
+        android:focusable="true"
+        android:layout_height="match_parent">
 
         <androidx.appcompat.widget.Toolbar
             android:id="@+id/contact_diary_day_header"