1
0
Fork 0

Closes #135: Adds accessibility support to Browser UI

master
Sawyer Blatz 2019-01-28 10:14:51 -08:00 committed by Colin Lee
parent 63973c4086
commit edcdd05c68
4 changed files with 20 additions and 6 deletions

View File

@ -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
}
} }
} }

View File

@ -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()
} }

View File

@ -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)
} }

View File

@ -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>