diff --git a/app/src/main/java/org/mozilla/fenix/quickactionsheet/QuickActionSheet.kt b/app/src/main/java/org/mozilla/fenix/quickactionsheet/QuickActionSheet.kt index 5af750e69..3cb5c0325 100644 --- a/app/src/main/java/org/mozilla/fenix/quickactionsheet/QuickActionSheet.kt +++ b/app/src/main/java/org/mozilla/fenix/quickactionsheet/QuickActionSheet.kt @@ -48,6 +48,17 @@ class QuickActionSheet @JvmOverloads constructor( handle.setAccessibilityDelegate(HandleAccessibilityDelegate(quickActionSheetBehavior)) + quickActionSheetBehavior.setBottomSheetCallback(object : BottomSheetBehavior.BottomSheetCallback() { + override fun onStateChanged(v: View, state: Int) { + updateImportantForAccessibility(state) + } + + override fun onSlide(p0: View, p1: Float) { + } + }) + + updateImportantForAccessibility(quickActionSheetBehavior.state) + val settings = Settings.getInstance(context) if (settings.shouldAutoBounceQuickActionSheet) { settings.incrementAutomaticBounceQuickActionSheetCount() @@ -55,6 +66,14 @@ class QuickActionSheet @JvmOverloads constructor( } } + private fun updateImportantForAccessibility(state: Int) { + findViewById(R.id.quick_action_sheet_buttonbar).importantForAccessibility = + if (state == BottomSheetBehavior.STATE_COLLAPSED || state == BottomSheetBehavior.STATE_HIDDEN) + View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS + else + View.IMPORTANT_FOR_ACCESSIBILITY_AUTO + } + private fun bounceSheet( quickActionSheetBehavior: QuickActionSheetBehavior, duration: Long = bounceAnimationLength diff --git a/app/src/main/res/layout/layout_quick_action_sheet.xml b/app/src/main/res/layout/layout_quick_action_sheet.xml index 92543c955..b4fb5b94d 100644 --- a/app/src/main/res/layout/layout_quick_action_sheet.xml +++ b/app/src/main/res/layout/layout_quick_action_sheet.xml @@ -21,6 +21,7 @@ android:src="@drawable/ic_drawer_pull_tab"/>