mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
55c0df43b9
Summary: - adds missing roles - adds custom roles that don't exist in TalkBack (see the [compositor.json][10] and [string.xml][11] files). - fixes [issues with Drawer][12] - fixes issues with ScrollView missing roles - seek control already exist as adjustable https://github.com/facebook/react-native/pull/34477/commits/d460d097ac0f5df8002e072711023517905f9ca9 Relevant https://github.com/facebook/react-native/issues/30839#issuecomment-1222293556 fixes https://github.com/facebook/react-native/issues/30839 ## Changelog [Android] [Fixed] - Adding pager, scrollview, viewgroup, webview, drawer roles Pull Request resolved: https://github.com/facebook/react-native/pull/34477 Test Plan: Android - Drawer Layout and ScrollView (02/09/22) https://github.com/facebook/react-native/pull/34477#issuecomment-1235293165 - sliding drawer, drawer layout, icon menu https://github.com/facebook/react-native/pull/34477#issuecomment-1224112650 - Horizontal and Vertical ScrollView https://github.com/facebook/react-native/pull/34477#issuecomment-1225478289 - Toast https://github.com/facebook/react-native/pull/34477#issuecomment-1225369629 - CheckedTextView https://github.com/facebook/react-native/pull/34477#discussion_r959329833 - Spinner (dropdownlist) https://github.com/facebook/react-native/pull/34477#discussion_r959374894 - EditText https://github.com/facebook/react-native/pull/34477#discussion_r959412185 - WebView https://github.com/facebook/react-native/pull/34477#discussion_r959417518 - Testing chime_up and chime_down sound feedback in Scrollable https://github.com/facebook/react-native/pull/34477#issuecomment-1238882030 iOS https://github.com/facebook/react-native/pull/34477#issuecomment-1232418595 [10]: https://github.com/google/talkback/blob/771de7cdbf55b6adb4ca4c64c27a52584f2337cc/compositor/src/main/res/raw/compositor.json#L1082-L1108 [11]: https://github.com/google/talkback/blob/771de7cdbf55b6adb4ca4c64c27a52584f2337cc/compositor/src/main/res/values/strings.xml#L223 [12]: https://github.com/facebook/react-native/pull/34477#issuecomment-1224112650 Reviewed By: NickGerleman Differential Revision: D39894307 Pulled By: blavalla fbshipit-source-id: 4a8da78bae485ead0523689631d88d1031a07b74
168 lines
2.9 KiB
JavaScript
168 lines
2.9 KiB
JavaScript
/**
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @format
|
|
* @flow strict-local
|
|
*/
|
|
|
|
'use strict';
|
|
|
|
import type {SyntheticEvent} from '../../Types/CoreEventTypes';
|
|
|
|
// This must be kept in sync with the AccessibilityRolesMask in RCTViewManager.m
|
|
export type AccessibilityRole =
|
|
| 'none'
|
|
| 'button'
|
|
| 'dropdownlist'
|
|
| 'togglebutton'
|
|
| 'link'
|
|
| 'search'
|
|
| 'image'
|
|
| 'keyboardkey'
|
|
| 'text'
|
|
| 'adjustable'
|
|
| 'imagebutton'
|
|
| 'header'
|
|
| 'summary'
|
|
| 'alert'
|
|
| 'checkbox'
|
|
| 'combobox'
|
|
| 'menu'
|
|
| 'menubar'
|
|
| 'menuitem'
|
|
| 'progressbar'
|
|
| 'radio'
|
|
| 'radiogroup'
|
|
| 'scrollbar'
|
|
| 'spinbutton'
|
|
| 'switch'
|
|
| 'tab'
|
|
| 'tabbar'
|
|
| 'tablist'
|
|
| 'timer'
|
|
| 'list'
|
|
| 'toolbar'
|
|
| 'grid'
|
|
| 'pager'
|
|
| 'scrollview'
|
|
| 'horizontalscrollview'
|
|
| 'viewgroup'
|
|
| 'webview'
|
|
| 'drawerlayout'
|
|
| 'slidingdrawer'
|
|
| 'iconmenu';
|
|
|
|
// Role types for web
|
|
export type Role =
|
|
| 'alert'
|
|
| 'alertdialog'
|
|
| 'application'
|
|
| 'article'
|
|
| 'banner'
|
|
| 'button'
|
|
| 'cell'
|
|
| 'checkbox'
|
|
| 'columnheader'
|
|
| 'combobox'
|
|
| 'complementary'
|
|
| 'contentinfo'
|
|
| 'definition'
|
|
| 'dialog'
|
|
| 'directory'
|
|
| 'document'
|
|
| 'feed'
|
|
| 'figure'
|
|
| 'form'
|
|
| 'grid'
|
|
| 'group'
|
|
| 'heading'
|
|
| 'img'
|
|
| 'link'
|
|
| 'list'
|
|
| 'listitem'
|
|
| 'log'
|
|
| 'main'
|
|
| 'marquee'
|
|
| 'math'
|
|
| 'menu'
|
|
| 'menubar'
|
|
| 'menuitem'
|
|
| 'meter'
|
|
| 'navigation'
|
|
| 'none'
|
|
| 'note'
|
|
| 'option'
|
|
| 'presentation'
|
|
| 'progressbar'
|
|
| 'radio'
|
|
| 'radiogroup'
|
|
| 'region'
|
|
| 'row'
|
|
| 'rowgroup'
|
|
| 'rowheader'
|
|
| 'scrollbar'
|
|
| 'searchbox'
|
|
| 'separator'
|
|
| 'slider'
|
|
| 'spinbutton'
|
|
| 'status'
|
|
| 'summary'
|
|
| 'switch'
|
|
| 'tab'
|
|
| 'table'
|
|
| 'tablist'
|
|
| 'tabpanel'
|
|
| 'term'
|
|
| 'timer'
|
|
| 'toolbar'
|
|
| 'tooltip'
|
|
| 'tree'
|
|
| 'treegrid'
|
|
| 'treeitem';
|
|
|
|
// the info associated with an accessibility action
|
|
export type AccessibilityActionInfo = $ReadOnly<{
|
|
name: string,
|
|
label?: string,
|
|
...
|
|
}>;
|
|
|
|
// The info included in the event sent to onAccessibilityAction
|
|
export type AccessibilityActionEvent = SyntheticEvent<
|
|
$ReadOnly<{actionName: string, ...}>,
|
|
>;
|
|
|
|
export type AccessibilityState = {
|
|
disabled?: boolean,
|
|
selected?: boolean,
|
|
checked?: ?boolean | 'mixed',
|
|
busy?: boolean,
|
|
expanded?: boolean,
|
|
...
|
|
};
|
|
|
|
export type AccessibilityValue = $ReadOnly<{|
|
|
/**
|
|
* The minimum value of this component's range. (should be an integer)
|
|
*/
|
|
min?: number,
|
|
|
|
/**
|
|
* The maximum value of this component's range. (should be an integer)
|
|
*/
|
|
max?: number,
|
|
|
|
/**
|
|
* The current value of this component's range. (should be an integer)
|
|
*/
|
|
now?: number,
|
|
|
|
/**
|
|
* A textual description of this component's value. (will override minimum, current, and maximum if set)
|
|
*/
|
|
text?: Stringish,
|
|
|}>;
|