Closes #135: Adds accessibility support to Browser UI
parent
63973c4086
commit
edcdd05c68
|
@ -3,11 +3,13 @@
|
||||||
file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
package org.mozilla.fenix.browser
|
package org.mozilla.fenix.browser
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.transition.TransitionInflater
|
import android.transition.TransitionInflater
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
|
import android.view.accessibility.AccessibilityManager
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import kotlinx.android.synthetic.main.fragment_browser.*
|
import kotlinx.android.synthetic.main.fragment_browser.*
|
||||||
import mozilla.components.feature.session.SessionFeature
|
import mozilla.components.feature.session.SessionFeature
|
||||||
|
@ -16,6 +18,7 @@ import mozilla.components.support.ktx.android.arch.lifecycle.addObservers
|
||||||
import org.mozilla.fenix.R
|
import org.mozilla.fenix.R
|
||||||
import org.mozilla.fenix.components.toolbar.ToolbarIntegration
|
import org.mozilla.fenix.components.toolbar.ToolbarIntegration
|
||||||
import org.mozilla.fenix.ext.requireComponents
|
import org.mozilla.fenix.ext.requireComponents
|
||||||
|
import androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||||
|
|
||||||
class BrowserFragment : Fragment() {
|
class BrowserFragment : Fragment() {
|
||||||
|
|
||||||
|
@ -54,5 +57,12 @@ class BrowserFragment : Fragment() {
|
||||||
)
|
)
|
||||||
|
|
||||||
lifecycle.addObservers(sessionFeature)
|
lifecycle.addObservers(sessionFeature)
|
||||||
|
|
||||||
|
// Stop toolbar from collapsing if TalkBack is enabled
|
||||||
|
val accessibilityManager = context?.getSystemService(Context.ACCESSIBILITY_SERVICE) as AccessibilityManager
|
||||||
|
if (accessibilityManager.isEnabled) {
|
||||||
|
val layoutParams = toolbar.layoutParams as CoordinatorLayout.LayoutParams
|
||||||
|
layoutParams.behavior = null
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,7 +40,7 @@ class Toolbar(
|
||||||
val back = BrowserMenuItemToolbar.Button(
|
val back = BrowserMenuItemToolbar.Button(
|
||||||
mozilla.components.ui.icons.R.drawable.mozac_ic_back,
|
mozilla.components.ui.icons.R.drawable.mozac_ic_back,
|
||||||
iconTintColorResource = R.color.icons,
|
iconTintColorResource = R.color.icons,
|
||||||
contentDescription = "Back"
|
contentDescription = context.getString(R.string.browser_menu_back)
|
||||||
) {
|
) {
|
||||||
sessionUseCases.goBack.invoke()
|
sessionUseCases.goBack.invoke()
|
||||||
}
|
}
|
||||||
|
@ -48,7 +48,7 @@ class Toolbar(
|
||||||
val forward = BrowserMenuItemToolbar.Button(
|
val forward = BrowserMenuItemToolbar.Button(
|
||||||
mozilla.components.ui.icons.R.drawable.mozac_ic_forward,
|
mozilla.components.ui.icons.R.drawable.mozac_ic_forward,
|
||||||
iconTintColorResource = R.color.icons,
|
iconTintColorResource = R.color.icons,
|
||||||
contentDescription = "Forward"
|
contentDescription = context.getString(R.string.browser_menu_forward)
|
||||||
) {
|
) {
|
||||||
sessionUseCases.goForward.invoke()
|
sessionUseCases.goForward.invoke()
|
||||||
}
|
}
|
||||||
|
@ -56,7 +56,7 @@ class Toolbar(
|
||||||
val refresh = BrowserMenuItemToolbar.Button(
|
val refresh = BrowserMenuItemToolbar.Button(
|
||||||
mozilla.components.ui.icons.R.drawable.mozac_ic_refresh,
|
mozilla.components.ui.icons.R.drawable.mozac_ic_refresh,
|
||||||
iconTintColorResource = R.color.icons,
|
iconTintColorResource = R.color.icons,
|
||||||
contentDescription = "Refresh"
|
contentDescription = context.getString(R.string.browser_menu_refresh)
|
||||||
) {
|
) {
|
||||||
sessionUseCases.reload.invoke()
|
sessionUseCases.reload.invoke()
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,8 +32,7 @@ class ToolbarIntegration(
|
||||||
context.resources.getDrawable(
|
context.resources.getDrawable(
|
||||||
R.drawable.ic_home,
|
R.drawable.ic_home,
|
||||||
context.application.theme
|
context.application.theme
|
||||||
),
|
), context.getString(R.string.browser_home_button)
|
||||||
"Home"
|
|
||||||
) {
|
) {
|
||||||
Navigation.findNavController(toolbar).navigate(R.id.action_browserFragment_to_homeFragment)
|
Navigation.findNavController(toolbar).navigate(R.id.action_browserFragment_to_homeFragment)
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,9 +4,14 @@
|
||||||
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
|
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">Fenix</string>
|
<string name="app_name">Fenix</string>
|
||||||
|
|
||||||
<string name="search_hint">Search the Web or enter address</string>
|
<string name="search_hint">Search the Web or enter address</string>
|
||||||
<string name="menu_share_with">Share with…</string>
|
<string name="menu_share_with">Share with…</string>
|
||||||
|
<string name="browser_home_button">Home</string>
|
||||||
|
|
||||||
|
<!-- Browser Menu -->
|
||||||
|
<string name="browser_menu_back">Back</string>
|
||||||
|
<string name="browser_menu_forward">Forward</string>
|
||||||
|
<string name="browser_menu_refresh">Refresh</string>
|
||||||
<string name="browser_menu_help">Help</string>
|
<string name="browser_menu_help">Help</string>
|
||||||
<string name="browser_menu_settings">Settings</string>
|
<string name="browser_menu_settings">Settings</string>
|
||||||
<string name="browser_menu_library">Your Library</string>
|
<string name="browser_menu_library">Your Library</string>
|
||||||
|
|
Loading…
Reference in New Issue