| <link rel="import" href="chrome://resources/html/polymer.html"> |
| |
| <link rel="import" href="chrome://resources/cr_elements/cr_icon_button/cr_icon_button.html"> |
| <link rel="import" href="chrome://resources/cr_elements/cr_link_row/cr_link_row.html"> |
| <link rel="import" href="chrome://resources/cr_elements/icons.html"> |
| <link rel="import" href="chrome://resources/cr_elements/shared_vars_css.html"> |
| <link rel="import" href="chrome://resources/html/web_ui_listener_behavior.html"> |
| <link rel="import" href="../../controls/settings_slider.html"> |
| <link rel="import" href="../../controls/settings_toggle_button.html"> |
| <link rel="import" href="../../i18n_setup.html"> |
| <link rel="import" href="../deep_linking_behavior.html"> |
| <link rel="import" href="../os_route.html"> |
| <link rel="import" href="../../router.html"> |
| <link rel="import" href="../../settings_shared_css.html"> |
| <link rel="import" href="../device_page/device_page_browser_proxy.html"> |
| <link rel="import" href="../localized_link/localized_link.html"> |
| <link rel="import" href="../route_origin_behavior.html"> |
| <link rel="import" href="manage_a11y_page_browser_proxy.html"> |
| |
| <dom-module id="settings-manage-a11y-page"> |
| <template> |
| <style include="settings-shared"> |
| h2 { |
| padding-inline-start: var(--cr-section-padding); |
| } |
| |
| .sub-item { |
| margin-inline-start: var(--cr-section-indent-width); |
| } |
| |
| h2 ~ .settings-box, |
| h2 ~ settings-toggle-button, |
| h2 ~ cr-link-row, |
| iron-collapse .settings-box, |
| iron-collapse settings-toggle-button, |
| iron-collapse cr-link-row { |
| margin-inline-end: var(--cr-section-padding); |
| margin-inline-start: var(--cr-section-indent-padding); |
| padding-inline-end: 0; |
| padding-inline-start: 0; |
| } |
| </style> |
| <template is="dom-if" if="[[!isKioskModeActive_]]"> |
| <div class="settings-box row first"> |
| <settings-localized-link |
| localized-string="$i18n{a11yExplanation}" |
| link-url="$i18nRaw{a11yLearnMoreUrl}"> |
| </settings-localized-link> |
| </div> |
| </template> |
| <h2>$i18n{textToSpeechHeading}</h2> |
| <settings-toggle-button |
| pref="{{prefs.settings.accessibility}}" |
| label="$i18n{chromeVoxLabel}" |
| deep-link-focus-id$="[[Setting.kChromeVox]]"> |
| </settings-toggle-button> |
| <iron-collapse opened="[[prefs.settings.accessibility.value]]"> |
| <cr-link-row id="chromeVoxSubpageButton" |
| class="settings-box" on-click="onChromeVoxSettingsTap_" |
| label="$i18n{chromeVoxOptionsLabel}" external></cr-link-row> |
| </iron-collapse> |
| <settings-toggle-button |
| pref="{{prefs.settings.a11y.select_to_speak}}" |
| class="hr" |
| label="$i18n{selectToSpeakTitle}" |
| sub-label="[[getSelectToSpeakDescription_( |
| prefs.settings.a11y.select_to_speak.value, hasKeyboard_, |
| '$i18nPolymer{selectToSpeakDisabledDescription}', |
| '$i18nPolymer{selectToSpeakDescription}', |
| '$i18nPolymer{selectToSpeakDescriptionWithoutKeyboard}')]]" |
| deep-link-focus-id$="[[Setting.kSelectToSpeak]]"> |
| </settings-toggle-button> |
| <iron-collapse opened="[[prefs.settings.a11y.select_to_speak.value]]"> |
| <cr-link-row id="selectToSpeakSubpageButton" |
| class="settings-box" on-click="onSelectToSpeakSettingsTap_" |
| label="$i18n{selectToSpeakOptionsLabel}" external></cr-link-row> |
| </iron-collapse> |
| |
| <cr-link-row id="ttsSubpageButton" class="hr" |
| label="$i18n{manageTtsSettings}" on-click="onManageTtsSettingsTap_" |
| sub-label="$i18n{ttsSettingsLinkDescription}" |
| role-description="$i18n{subpageArrowRoleDescription}" embedded> |
| </cr-link-row> |
| |
| <h2>$i18n{displayHeading}</h2> |
| <settings-toggle-button |
| pref="{{prefs.settings.a11y.high_contrast_enabled}}" |
| label="$i18n{highContrastLabel}" |
| deep-link-focus-id$="[[Setting.kHighContrastMode]]"> |
| </settings-toggle-button> |
| <settings-toggle-button |
| class="hr" |
| pref="{{prefs.settings.a11y.screen_magnifier}}" |
| label="$i18n{screenMagnifierLabel}" |
| disabled="[[prefs.ash.docked_magnifier.enabled.value]]" |
| deep-link-focus-id$="[[Setting.kFullscreenMagnifier]]"> |
| </settings-toggle-button> |
| <template is="dom-if" if="[[prefs.settings.a11y.screen_magnifier.value]]"> |
| <template is="dom-if" if="[[isMagnifierPanningImprovementsEnabled_]]"> |
| <div class="sub-item"> |
| <settings-toggle-button |
| class="sub-item" |
| pref="{{prefs.settings.a11y.screen_magnifier_focus_following}}" |
| label="$i18n{screenMagnifierFocusFollowingLabel}" |
| deep-link-focus-id$= |
| "[[Setting.kFullscreenMagnifierFocusFollowing]]"> |
| </settings-toggle-button> |
| </div> |
| </template> |
| <div class="settings-box continuation"> |
| <div class="start sub-item settings-box-text" aria-hidden="true"> |
| $i18n{screenMagnifierZoomLabel} |
| </div> |
| <settings-dropdown-menu label="$i18n{screenMagnifierZoomLabel}" |
| pref="{{prefs.settings.a11y.screen_magnifier_scale}}" |
| menu-options="[[screenMagnifierZoomOptions_]]" |
| disabled="[[!prefs.settings.a11y.screen_magnifier.value]]"> |
| </settings-dropdown-menu> |
| </div> |
| </template> |
| <settings-toggle-button |
| class="hr" |
| pref="{{prefs.ash.docked_magnifier.enabled}}" |
| label="$i18n{dockedMagnifierLabel}" |
| disabled="[[prefs.settings.a11y.screen_magnifier.value]]" |
| deep-link-focus-id$="[[Setting.kDockedMagnifier]]"> |
| </settings-toggle-button> |
| <template is="dom-if" if="[[prefs.ash.docked_magnifier.enabled.value]]"> |
| <div class="settings-box continuation"> |
| <div class="start sub-item settings-box-text" aria-hidden="true"> |
| $i18n{dockedMagnifierZoomLabel} |
| </div> |
| <settings-dropdown-menu label="$i18n{dockedMagnifierZoomLabel}" |
| pref="{{prefs.ash.docked_magnifier.scale}}" |
| menu-options="[[screenMagnifierZoomOptions_]]" |
| disabled="[[!prefs.ash.docked_magnifier.enabled.value]]"> |
| </settings-dropdown-menu> |
| </div> |
| </template> |
| <template is="dom-if" if="[[!isKioskModeActive_]]"> |
| <cr-link-row id="displaySubpageButton" class="hr" |
| label="$i18n{displaySettingsTitle}" on-click="onDisplayTap_" |
| sub-label="$i18n{displaySettingsDescription}" |
| role-description="$i18n{subpageArrowRoleDescription}" embedded> |
| </cr-link-row> |
| <cr-link-row id="appearanceSubpageButton" class="hr" |
| label="$i18n{appearanceSettingsTitle}" on-click="onAppearanceTap_" |
| sub-label="$i18n{appearanceSettingsDescription}" external |
| embedded></cr-link-row> |
| </template> |
| |
| <h2>$i18n{keyboardAndTextInputHeading}</h2> |
| <settings-toggle-button |
| pref="{{prefs.settings.a11y.sticky_keys_enabled}}" |
| label="$i18n{stickyKeysLabel}" |
| deep-link-focus-id$="[[Setting.kStickyKeys]]"> |
| </settings-toggle-button> |
| <settings-toggle-button |
| class="hr" |
| pref="{{prefs.settings.a11y.virtual_keyboard}}" |
| label="$i18n{onScreenKeyboardLabel}" |
| deep-link-focus-id$="[[Setting.kOnScreenKeyboard]]"> |
| </settings-toggle-button> |
| <settings-toggle-button |
| class="hr" |
| pref="{{prefs.settings.a11y.dictation}}" |
| label="$i18n{dictationLabel}" |
| sub-label="$i18n{dictationDescription}" |
| deep-link-focus-id$="[[Setting.kDictation]]"> |
| </settings-toggle-button> |
| <settings-toggle-button |
| class="hr" |
| pref="{{prefs.settings.a11y.focus_highlight}}" |
| label="$i18n{focusHighlightLabel}" |
| deep-link-focus-id$="[[Setting.kHighlightKeyboardFocus]]"> |
| </settings-toggle-button> |
| <settings-toggle-button |
| class="hr" |
| pref="{{prefs.settings.a11y.caret_highlight}}" |
| label="$i18n{caretHighlightLabel}" |
| deep-link-focus-id$="[[Setting.kHighlightTextCaret]]"> |
| </settings-toggle-button> |
| <settings-toggle-button |
| class="hr" |
| pref="{{prefs.settings.a11y.caretbrowsing.enabled}}" |
| on-change="onA11yCaretBrowsingChange_" |
| label="$i18n{caretBrowsingTitle}" |
| sub-label="$i18n{caretBrowsingSubtitle}"> |
| </settings-toggle-button> |
| <template is="dom-if" if="[[!isKioskModeActive_]]"> |
| <settings-toggle-button |
| id="enableSwitchAccess" |
| class="hr" |
| pref="{{prefs.settings.a11y.switch_access.enabled}}" |
| label="$i18n{switchAccessLabel}" |
| deep-link-focus-id$="[[Setting.kEnableSwitchAccess]]"> |
| </settings-toggle-button> |
| <iron-collapse |
| opened="[[prefs.settings.a11y.switch_access.enabled.value]]"> |
| <cr-link-row id="switchAccessSubpageButton" |
| label="$i18n{switchAccessOptionsLabel}" |
| on-click="onSwitchAccessSettingsTap_" |
| role-description="$i18n{subpageArrowRoleDescription}" embedded> |
| </cr-link-row> |
| </iron-collapse> |
| <cr-link-row id="keyboardSubpageButton" class="hr" |
| label="$i18n{keyboardSettingsTitle}" on-click="onKeyboardTap_" |
| sub-label="$i18n{keyboardSettingsDescription}" |
| role-description="$i18n{subpageArrowRoleDescription}" embedded> |
| </cr-link-row> |
| </template> |
| |
| <h2>$i18n{mouseAndTouchpadHeading}</h2> |
| <settings-toggle-button |
| pref="{{prefs.settings.a11y.autoclick}}" |
| label="$i18n{clickOnStopLabel}" |
| deep-link-focus-id$="[[Setting.kAutoClickWhenCursorStops]]"> |
| </settings-toggle-button> |
| <div class="settings-box continuation" |
| hidden$="[[!prefs.settings.a11y.autoclick.value]]"> |
| <div class="start sub-item settings-box-text" aria-hidden="true"> |
| $i18n{delayBeforeClickLabel} |
| </div> |
| <settings-dropdown-menu label="$i18n{delayBeforeClickLabel}" |
| pref="{{prefs.settings.a11y.autoclick_delay_ms}}" |
| menu-options="[[autoClickDelayOptions_]]" |
| disabled="[[!prefs.settings.a11y.autoclick.value]]"> |
| </settings-dropdown-menu> |
| </div> |
| <div class="sub-item"> |
| <settings-toggle-button class="sub-item" |
| hidden$="[[!prefs.settings.a11y.autoclick.value]]" |
| pref="{{prefs.settings.a11y.autoclick_stabilize_position}}" |
| label="$i18n{autoclickStabilizeCursorPosition}"> |
| </settings-toggle-button> |
| </div> |
| <div class="sub-item"> |
| <settings-toggle-button class="sub-item" |
| hidden$="[[!prefs.settings.a11y.autoclick.value]]" |
| pref="{{prefs.settings.a11y.autoclick_revert_to_left_click}}" |
| label="$i18n{autoclickRevertToLeftClick}"> |
| </settings-toggle-button> |
| </div> |
| <div class="settings-box continuation" |
| hidden$="[[!prefs.settings.a11y.autoclick.value]]"> |
| <div class="start sub-item settings-box-text" aria-hidden="true"> |
| $i18n{autoclickMovementThresholdLabel} |
| </div> |
| <settings-dropdown-menu |
| label="$i18n{autoclickMovementThresholdLabel}" |
| pref="{{prefs.settings.a11y.autoclick_movement_threshold}}" |
| menu-options="[[autoClickMovementThresholdOptions_]]" |
| disabled="[[!prefs.settings.a11y.autoclick.value]]"> |
| </settings-dropdown-menu> |
| </div> |
| <settings-toggle-button |
| class="hr" |
| pref="{{prefs.settings.a11y.large_cursor_enabled}}" |
| label="$i18n{largeMouseCursorLabel}" |
| deep-link-focus-id$="[[Setting.kLargeCursor]]"> |
| </settings-toggle-button> |
| <div class="settings-box continuation" |
| hidden$="[[!prefs.settings.a11y.large_cursor_enabled.value]]"> |
| <div class="start sub-item settings-box-text" aria-hidden="true"> |
| $i18n{largeMouseCursorSizeLabel} |
| </div> |
| <settings-slider |
| pref="{{prefs.settings.a11y.large_cursor_dip_size}}" |
| min="25" max="64" |
| label-aria="$i18n{largeMouseCursorSizeLabel}" |
| label-min="$i18n{largeMouseCursorSizeDefaultLabel}" |
| label-max="$i18n{largeMouseCursorSizeLargeLabel}"> |
| </settings-slider> |
| </div> |
| <div class="settings-box"> |
| <div class="start settings-box-text" id="cursorColorOptionsLabel"> |
| $i18n{cursorColorOptionsLabel} |
| </div> |
| <settings-dropdown-menu aria-labeledby="cursorColorOptionsLabel" |
| pref="{{prefs.settings.a11y.cursor_color}}" |
| menu-options="[[cursorColorOptions_]]" |
| on-settings-control-change="onA11yCursorColorChange_" |
| deep-link-focus-id$="[[Setting.kEnableCursorColor]]"> |
| </settings-dropdown-menu> |
| </div> |
| <settings-toggle-button |
| class="hr" |
| pref="{{prefs.settings.a11y.cursor_highlight}}" |
| label="$i18n{cursorHighlightLabel}" |
| deep-link-focus-id$="[[Setting.kHighlightCursorWhileMoving]]"> |
| </settings-toggle-button> |
| <cr-link-row id="pointerSubpageButton" class="hr" |
| label="$i18n{mouseSettingsTitle}" on-click="onMouseTap_" |
| sub-label="$i18n{mouseSettingsDescription}" |
| role-description="$i18n{subpageArrowRoleDescription}" embedded> |
| </cr-link-row> |
| <template is="dom-if" if="[[showShelfNavigationButtonsSettings_]]" restamp> |
| <!-- If shelf navigation buttons are implicitly enabled by other a11y |
| settings (e.g. by spoken feedback), the toggle control should be |
| disabled, and toggled regardless of the actual backing pref value. To |
| handle effective pref value changes, wrap the backing pref in a |
| private property, which changes to a stub pref object when the setting |
| is implicitly enabled. --> |
| <settings-toggle-button |
| id="shelfNavigationButtonsEnabledControl" |
| class="hr" |
| disabled="[[shelfNavigationButtonsImplicitlyEnabled_]]" |
| pref="[[shelfNavigationButtonsPref_]]" |
| no-set-pref |
| on-settings-boolean-control-change= |
| "updateShelfNavigationButtonsEnabledPref_" |
| label="$i18n{tabletModeShelfNavigationButtonsSettingLabel}" |
| sub-label="$i18n{tabletModeShelfNavigationButtonsSettingDescription}" |
| learn-more-url="$i18n{tabletModeShelfNavigationButtonsLearnMoreUrl}" |
| on-learn-more-clicked="onShelfNavigationButtonsLearnMoreClicked_" |
| deep-link-focus-id$="[[Setting.kTabletNavigationButtons]]"> |
| </settings-toggle-button> |
| </template> |
| |
| <h2>$i18n{audioAndCaptionsHeading}</h2> |
| <template is="dom-if" if="[[!isKioskModeActive_]]"> |
| <cr-link-row id="captionsSubpageButton" class="first" |
| label="$i18n{captionsTitle}" |
| on-click="onCaptionsClick_" |
| role-description="$i18n{subpageArrowRoleDescription}"> |
| </cr-link-row> |
| </template> |
| <settings-toggle-button |
| class="hr" |
| pref="{{prefs.settings.a11y.mono_audio}}" |
| label="$i18n{monoAudioLabel}" |
| deep-link-focus-id$="[[Setting.kMonoAudio]]"> |
| </settings-toggle-button> |
| <settings-toggle-button id="startupSoundEnabled" |
| class="hr" |
| pref=" " |
| on-change="toggleStartupSoundEnabled_" |
| label="$i18n{startupSoundLabel}" |
| deep-link-focus-id$="[[Setting.kStartupSound]]"> |
| </settings-toggle-button> |
| |
| <template is="dom-if" |
| if="[[shouldShowAdditionalFeaturesLink_(isGuest_, isKioskModeActive_)]]"> |
| <a class="settings-box inherit-color no-outline" tabindex="-1" |
| id="additionalFeaturesLink" target="_blank" |
| href="https://chrome.google.com/webstore/category/collection/accessibility"> |
| <div class="start settings-box-text"> |
| $i18n{additionalFeaturesTitle} |
| <div class="secondary" id="moreFeaturesSecondary"> |
| $i18n{a11yWebStore} |
| </div> |
| </div> |
| <cr-icon-button class="icon-external" |
| aria-label="$i18n{additionalFeaturesTitle}" |
| aria-describedby="moreFeaturesSecondary"></cr-icon-button> |
| </a> |
| </template> |
| </template> |
| <script src="manage_a11y_page.js"></script> |
| </dom-module> |