Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

AccessibilityServer

继承: Object

用于屏幕阅读器支持的服务器接口。

方法

RID

create_element(window_id: int, role: AccessibilityRole)

RID

create_sub_element(parent_rid: RID, role: AccessibilityRole, insert_pos: int = -1)

RID

create_sub_text_edit_elements(parent_rid: RID, shaped_text: RID, min_height: float, insert_pos: int = -1, is_last_line: bool = false)

Variant

element_get_meta(id: RID) const

void

element_set_meta(id: RID, meta: Variant)

void

free_element(id: RID)

RID

get_window_root(window_id: int) const

bool

has_element(id: RID) const

bool

is_supported() const

void

set_window_focused(window_id: int, focused: bool)

void

set_window_rect(window_id: int, rect_out: Rect2, rect_in: Rect2)

void

update_add_action(id: RID, action: AccessibilityAction, callable: Callable)

void

update_add_child(id: RID, child_id: RID)

void

update_add_custom_action(id: RID, action_id: int, action_description: String)

void

update_add_related_controls(id: RID, related_id: RID)

void

update_add_related_described_by(id: RID, related_id: RID)

void

update_add_related_details(id: RID, related_id: RID)

void

update_add_related_flow_to(id: RID, related_id: RID)

void

update_add_related_labeled_by(id: RID, related_id: RID)

void

update_add_related_radio_group(id: RID, related_id: RID)

void

update_set_active_descendant(id: RID, other_id: RID)

void

update_set_background_color(id: RID, color: Color)

void

update_set_bounds(id: RID, rect: Rect2)

void

update_set_braille_label(id: RID, name: String)

void

update_set_braille_role_description(id: RID, description: String)

void

update_set_checked(id: RID, checekd: bool)

void

update_set_classname(id: RID, classname: String)

void

update_set_color_value(id: RID, color: Color)

void

update_set_description(id: RID, description: String)

void

update_set_error_message(id: RID, other_id: RID)

void

update_set_extra_info(id: RID, name: String)

void

update_set_flag(id: RID, flag: AccessibilityFlags, value: bool)

void

update_set_focus(id: RID)

void

update_set_foreground_color(id: RID, color: Color)

void

update_set_in_page_link_target(id: RID, other_id: RID)

void

update_set_language(id: RID, language: String)

void

update_set_list_item_count(id: RID, size: int)

void

update_set_list_item_expanded(id: RID, expanded: bool)

void

update_set_list_item_index(id: RID, index: int)

void

update_set_list_item_level(id: RID, level: int)

void

update_set_list_item_selected(id: RID, selected: bool)

void

update_set_list_orientation(id: RID, vertical: bool)

void

update_set_live(id: RID, live: AccessibilityLiveMode)

void

update_set_member_of(id: RID, group_id: RID)

void

update_set_name(id: RID, name: String)

void

update_set_next_on_line(id: RID, other_id: RID)

void

update_set_num_jump(id: RID, jump: float)

void

update_set_num_range(id: RID, min: float, max: float)

void

update_set_num_step(id: RID, step: float)

void

update_set_num_value(id: RID, position: float)

void

update_set_placeholder(id: RID, placeholder: String)

void

update_set_popup_type(id: RID, popup: AccessibilityPopupType)

void

update_set_previous_on_line(id: RID, other_id: RID)

void

update_set_role(id: RID, role: AccessibilityRole)

void

update_set_role_description(id: RID, description: String)

void

update_set_scroll_x(id: RID, position: float)

void

update_set_scroll_x_range(id: RID, min: float, max: float)

void

update_set_scroll_y(id: RID, position: float)

void

update_set_scroll_y_range(id: RID, min: float, max: float)

void

update_set_shortcut(id: RID, shortcut: String)

void

update_set_state_description(id: RID, description: String)

void

update_set_table_cell_position(id: RID, row_index: int, column_index: int)

void

update_set_table_cell_span(id: RID, row_span: int, column_span: int)

void

update_set_table_column_count(id: RID, count: int)

void

update_set_table_column_index(id: RID, index: int)

void

update_set_table_row_count(id: RID, count: int)

void

update_set_table_row_index(id: RID, index: int)

void

update_set_text_align(id: RID, align: HorizontalAlignment)

void

update_set_text_decorations(id: RID, underline: bool, strikethrough: bool, overline: bool, color: Color = Color(0, 0, 0, 1))

void

update_set_text_orientation(id: RID, vertical: bool)

void

update_set_text_selection(id: RID, text_start_id: RID, start_char: int, text_end_id: RID, end_char: int)

void

update_set_tooltip(id: RID, tooltip: String)

void

update_set_transform(id: RID, transform: Transform2D)

void

update_set_url(id: RID, url: String)

void

update_set_value(id: RID, value: String)


枚举

enum AccessibilityRole: 🔗

AccessibilityRole ROLE_UNKNOWN = 0

未知角色或自定义角色。

AccessibilityRole ROLE_DEFAULT_BUTTON = 1

默认对话框按钮元素。

AccessibilityRole ROLE_AUDIO = 2

音频播放器元素。

AccessibilityRole ROLE_VIDEO = 3

视频播放器元素。

AccessibilityRole ROLE_STATIC_TEXT = 4

不可编辑的文本标签。

AccessibilityRole ROLE_CONTAINER = 5

容器元素。带有该角色的元素用于内部结构,会被屏幕阅读器忽略。

AccessibilityRole ROLE_PANEL = 6

面板容器元素。

AccessibilityRole ROLE_BUTTON = 7

按钮元素。

链接元素。

AccessibilityRole ROLE_CHECK_BOX = 9

复选框元素。

AccessibilityRole ROLE_RADIO_BUTTON = 10

单选按钮元素。

AccessibilityRole ROLE_CHECK_BUTTON = 11

复选按钮元素。

AccessibilityRole ROLE_SCROLL_BAR = 12

滚动条元素。

AccessibilityRole ROLE_SCROLL_VIEW = 13

滚动容器元素。

AccessibilityRole ROLE_SPLITTER = 14

容器拆分器手柄元素。

AccessibilityRole ROLE_SLIDER = 15

滑块元素。

AccessibilityRole ROLE_SPIN_BUTTON = 16

数字输入框元素。

AccessibilityRole ROLE_PROGRESS_INDICATOR = 17

进度指示元素。

AccessibilityRole ROLE_TEXT_FIELD = 18

可编辑文本框元素。

AccessibilityRole ROLE_MULTILINE_TEXT_FIELD = 19

多行可编辑文本框元素。

AccessibilityRole ROLE_COLOR_PICKER = 20

取色器元素。

AccessibilityRole ROLE_TABLE = 21

表格元素。

AccessibilityRole ROLE_CELL = 22

表格/树中的单元格元素。

AccessibilityRole ROLE_ROW = 23

表格/树中的行元素。

AccessibilityRole ROLE_ROW_GROUP = 24

表格/树中的行分组元素。

AccessibilityRole ROLE_ROW_HEADER = 25

表格/树中的行头元素。

AccessibilityRole ROLE_COLUMN_HEADER = 26

表格/树中的列头元素。

AccessibilityRole ROLE_TREE = 27

树视图元素。

AccessibilityRole ROLE_TREE_ITEM = 28

树视图项元素。

AccessibilityRole ROLE_LIST = 29

列表元素。

AccessibilityRole ROLE_LIST_ITEM = 30

列表项元素。

AccessibilityRole ROLE_LIST_BOX = 31

列表视图元素。

AccessibilityRole ROLE_LIST_BOX_OPTION = 32

列表视图项元素。

AccessibilityRole ROLE_TAB_BAR = 33

选项卡栏元素。

AccessibilityRole ROLE_TAB = 34

选项卡栏项目元素。

AccessibilityRole ROLE_TAB_PANEL = 35

选项卡面板元素。

AccessibilityRole ROLE_MENU_BAR = 36

菜单栏元素。

AccessibilityRole ROLE_MENU = 37

弹出菜单元素。

AccessibilityRole ROLE_MENU_ITEM = 38

弹出菜单项元素。

AccessibilityRole ROLE_MENU_ITEM_CHECK_BOX = 39

弹出菜单复选按钮菜单项元素。

AccessibilityRole ROLE_MENU_ITEM_RADIO = 40

弹出菜单单选按钮菜单项元素。

AccessibilityRole ROLE_IMAGE = 41

图像元素。

AccessibilityRole ROLE_WINDOW = 42

窗口元素。

AccessibilityRole ROLE_TITLE_BAR = 43

内嵌窗口标题栏元素。

AccessibilityRole ROLE_DIALOG = 44

对话框窗口元素。

AccessibilityRole ROLE_TOOLTIP = 45

工具提示元素。

AccessibilityRole ROLE_REGION = 46

Region/landmark元素。屏幕阅读器可以使用地标导航在区域之间进行跳转。

AccessibilityRole ROLE_TEXT_RUN = 47

统一文本运行块。

注意:此角色用于内部文本元素,不应手动分配给节点。


enum AccessibilityPopupType: 🔗

AccessibilityPopupType POPUP_MENU = 0

弹出菜单元素。

AccessibilityPopupType POPUP_LIST = 1

弹出列表。

AccessibilityPopupType POPUP_TREE = 2

弹出树视图。

AccessibilityPopupType POPUP_DIALOG = 3

弹出对话框。


enum AccessibilityFlags: 🔗

AccessibilityFlags FLAG_HIDDEN = 0

元素对无障碍工具隐藏。

AccessibilityFlags FLAG_MULTISELECTABLE = 1

元素支持多项选择。

AccessibilityFlags FLAG_REQUIRED = 2

元素要求用户输入。

AccessibilityFlags FLAG_VISITED = 3

元素为已访问链接。

AccessibilityFlags FLAG_BUSY = 4

元素内容未就绪(例如正在加载)。

AccessibilityFlags FLAG_MODAL = 5

元素为模态窗口。

AccessibilityFlags FLAG_TOUCH_PASSTHROUGH = 6

屏幕阅读器处于触摸探索模式时,元素允许触摸事件穿透。

AccessibilityFlags FLAG_READONLY = 7

元素是文本框,包含可选择但只读的文本。

AccessibilityFlags FLAG_DISABLED = 8

元素已禁用。

AccessibilityFlags FLAG_CLIPS_CHILDREN = 9

元素会裁剪子级。


enum AccessibilityAction: 🔗

AccessibilityAction ACTION_CLICK = 0

单击动作,不设置回调参数。

AccessibilityAction ACTION_FOCUS = 1

聚焦动作,不设置回调参数。

AccessibilityAction ACTION_BLUR = 2

散焦动作,不设置回调参数。

AccessibilityAction ACTION_COLLAPSE = 3

折叠动作,不设置回调参数。

AccessibilityAction ACTION_EXPAND = 4

展开动作,不设置回调参数。

AccessibilityAction ACTION_DECREMENT = 5

下调动作,不设置回调参数。

AccessibilityAction ACTION_INCREMENT = 6

上调动作,不设置回调参数。

AccessibilityAction ACTION_HIDE_TOOLTIP = 7

隐藏工具提示动作,不设置回调参数。

AccessibilityAction ACTION_SHOW_TOOLTIP = 8

显示工具提示动作,不设置回调参数。

AccessibilityAction ACTION_SET_TEXT_SELECTION = 9

文本选区动作,回调参数被设置为 Dictionary,带有以下键:

  • "start_element" 选区起点的无障碍元素。

  • "start_char" 相对于选区起点无障碍元素的字符偏移量。

  • "end_element" 选区终点的无障碍元素。

  • "end_char" 相对于选区终点无障碍元素的字符偏移量。

AccessibilityAction ACTION_REPLACE_SELECTED_TEXT = 10

替换文本动作,回调参数被设置为 String,表示替换后的文本。

AccessibilityAction ACTION_SCROLL_BACKWARD = 11

向后滚动动作,不设置回调参数。

AccessibilityAction ACTION_SCROLL_DOWN = 12

向下滚动动作,回调参数被设置为 AccessibilityScrollUnit

AccessibilityAction ACTION_SCROLL_FORWARD = 13

向前滚动动作,不设置回调参数。

AccessibilityAction ACTION_SCROLL_LEFT = 14

向左滚动动作,回调参数被设置为 AccessibilityScrollUnit

AccessibilityAction ACTION_SCROLL_RIGHT = 15

向右滚动动作,回调参数被设置为 AccessibilityScrollUnit

AccessibilityAction ACTION_SCROLL_UP = 16

向上滚动动作,回调参数被设置为 AccessibilityScrollUnit

AccessibilityAction ACTION_SCROLL_INTO_VIEW = 17

滚动至视图动作,回调参数被设置为 AccessibilityScrollHint

AccessibilityAction ACTION_SCROLL_TO_POINT = 18

滚动至点动作,回调参数被设置为 Vector2,表示点的相对坐标。

AccessibilityAction ACTION_SET_SCROLL_OFFSET = 19

设置滚动偏移量动作,回调参数被设置为 Vector2,表示滚动偏移量。

AccessibilityAction ACTION_SET_VALUE = 20

设值动作,回调参数被设置为 String 或数字,表示新值。

AccessibilityAction ACTION_SHOW_CONTEXT_MENU = 21

显示上下文菜单动作,不设置回调参数。

AccessibilityAction ACTION_CUSTOM = 22

自定义动作,回调参数被设置为整数动作 ID。


enum AccessibilityLiveMode: 🔗

AccessibilityLiveMode LIVE_OFF = 0

表示不应展示对实时区域的更新。

AccessibilityLiveMode LIVE_POLITE = 1

表示对实时区域的更新应在下次机会时展示(例如讲完当前句子后)。

AccessibilityLiveMode LIVE_ASSERTIVE = 2

表示对实时区域的更新具有最高优先级,应立即展示。


enum AccessibilityScrollUnit: 🔗

AccessibilityScrollUnit SCROLL_UNIT_ITEM = 0

要滚动的量度。列表中的单个项目,一行文本。

AccessibilityScrollUnit SCROLL_UNIT_PAGE = 1

要滚动的量度。单页。


enum AccessibilityScrollHint: 🔗

AccessibilityScrollHint SCROLL_HINT_TOP_LEFT = 0

节点滚动到视图的首选位置。滚动容器的左上边缘。

AccessibilityScrollHint SCROLL_HINT_BOTTOM_RIGHT = 1

节点滚动到视图的首选位置。滚动容器的右下边缘。

AccessibilityScrollHint SCROLL_HINT_TOP_EDGE = 2

节点滚动到视图的首选位置。滚动容器的顶部边缘。

AccessibilityScrollHint SCROLL_HINT_BOTTOM_EDGE = 3

节点滚动到视图的首选位置。滚动容器的底部边缘。

AccessibilityScrollHint SCROLL_HINT_LEFT_EDGE = 4

节点滚动到视图的首选位置。滚动容器的左部边缘。

AccessibilityScrollHint SCROLL_HINT_RIGHT_EDGE = 5

节点滚动到视图的首选位置。滚动容器的右部边缘。


方法说明

RID create_element(window_id: int, role: AccessibilityRole) 🔗

新建空的无障碍元素资源。

注意:每个 Node 都会自动创建并释放无障碍元素。一般来说不应手动调用该函数。


RID create_sub_element(parent_rid: RID, role: AccessibilityRole, insert_pos: int = -1) 🔗

新建空的无障碍子元素资源。子元素可用于为非 Node 对象提供无障碍信息,例如列表项、表格单元格或菜单项。子元素在父元素被释放时会自动释放,也可以通过 free_element() 方法提前释放。


RID create_sub_text_edit_elements(parent_rid: RID, shaped_text: RID, min_height: float, insert_pos: int = -1, is_last_line: bool = false) 🔗

从塑形文本缓冲区新建一个空的无障碍访问子元素。子元素在父元素释放时会自动释放,也可以提前使用 free_element() 方法释放。

如果 is_last_linetrue,则不会在文本内容末尾添加换行符。对于多行文本字段的最后一行和单行文本字段,应设置为 true


Variant element_get_meta(id: RID) const 🔗

返回无障碍元素 id 的元数据。


void element_set_meta(id: RID, meta: Variant) 🔗

将无障碍元素 id 的元数据设置为 meta


void free_element(id: RID) 🔗

释放由 create_element()create_sub_element()create_sub_text_edit_elements() 创建的无障碍元素 id


RID get_window_root(window_id: int) const 🔗

返回操作系统原生窗口的主要无障碍元素。


bool has_element(id: RID) const 🔗

如果 id 是有效的无障碍元素,则返回 true


bool is_supported() const 🔗

如果该实现支持屏幕阅读器,则返回 true


void set_window_focused(window_id: int, focused: bool) 🔗

设置辅助应用的窗口聚焦状态。

注意:该方法在 Linux、macOS 和 Windows 上实现。

注意:仅限高级用户!Window 对象会自动调用此方法。


void set_window_rect(window_id: int, rect_out: Rect2, rect_in: Rect2) 🔗

设置辅助应用的窗口外部边界(带装饰)和内部边界(不带装饰)。

注意:该方法在 Linux、macOS 和 Windows 上实现。

注意:仅限高级用户!Window 对象会自动调用此方法。


void update_add_action(id: RID, action: AccessibilityAction, callable: Callable) 🔗

添加无障碍动作的回调(可以通过使用特殊的屏幕阅读器命令或盲文显示器上的按钮执行的动作),并将该动作标记为支持。动作回调接收一个 Variant 参数,取值由动作类型决定。


void update_add_child(id: RID, child_id: RID) 🔗

添加子级无障碍元素。

注意:Node 子节点和子元素会自动添加至子级列表。


void update_add_custom_action(id: RID, action_id: int, action_description: String) 🔗

添加对自定义无障碍动作的支持。action_id 会作为参数传递给 ACTION_CUSTOM 动作的回调。


添加由该元素控制的元素。


添加描述该元素的元素。


添加补充该元素的元素。


添加该元素流入的元素。


添加作为该元素标签的元素。


添加同一单选组中的元素。

注意:单选组中的每个元素都应该调用该方法,使用其他元素作为 related_id


void update_set_active_descendant(id: RID, other_id: RID) 🔗

添加该元素的活动派生元素。


void update_set_background_color(id: RID, color: Color) 🔗

设置元素的背景色。


void update_set_bounds(id: RID, rect: Rect2) 🔗

设置元素的边界框,相对于节点的位置。


void update_set_braille_label(id: RID, name: String) 🔗

为盲文显示设置元素的无障碍标签。


void update_set_braille_role_description(id: RID, description: String) 🔗

为盲文显示器设置元素的无障碍角色描述。


void update_set_checked(id: RID, checekd: bool) 🔗

设置元素的复选状态。


void update_set_classname(id: RID, classname: String) 🔗

设置元素的类名。


void update_set_color_value(id: RID, color: Color) 🔗

设置元素的颜色值。


void update_set_description(id: RID, description: String) 🔗

设置元素的无障碍描述。


void update_set_error_message(id: RID, other_id: RID) 🔗

设置包含该元素错误消息的元素。


void update_set_extra_info(id: RID, name: String) 🔗

设置为元素名添加的元素无障碍额外信息。


void update_set_flag(id: RID, flag: AccessibilityFlags, value: bool) 🔗

设置元素的标志。


void update_set_focus(id: RID) 🔗

设置当前聚焦的元素。


void update_set_foreground_color(id: RID, color: Color) 🔗

设置元素的前景色。


设置链接的目标元素。


void update_set_language(id: RID, language: String) 🔗

设置元素的文本语言。


void update_set_list_item_count(id: RID, size: int) 🔗

设置列表中的项目数。


void update_set_list_item_expanded(id: RID, expanded: bool) 🔗

设置列表项/树项目的展开状态。


void update_set_list_item_index(id: RID, index: int) 🔗

设置元素在列表中的位置。


void update_set_list_item_level(id: RID, level: int) 🔗

设置元素在列表中的层级。


void update_set_list_item_selected(id: RID, selected: bool) 🔗

设置列表项/树项目的选中状态。


void update_set_list_orientation(id: RID, vertical: bool) 🔗

设置列表元素的朝向。


void update_set_live(id: RID, live: AccessibilityLiveMode) 🔗

设置实时区域更新的优先级。


void update_set_member_of(id: RID, group_id: RID) 🔗

将元素设置为分组的成员。


void update_set_name(id: RID, name: String) 🔗

设置元素的无障碍名称。


void update_set_next_on_line(id: RID, other_id: RID) 🔗

设置位于同一行的下一个元素。


void update_set_num_jump(id: RID, jump: float) 🔗

设置数值的跳变。


void update_set_num_range(id: RID, min: float, max: float) 🔗

设置数值的范围。


void update_set_num_step(id: RID, step: float) 🔗

设置数值的步长。


void update_set_num_value(id: RID, position: float) 🔗

设置数值。


void update_set_placeholder(id: RID, placeholder: String) 🔗

设置占位文本。


void update_set_popup_type(id: RID, popup: AccessibilityPopupType) 🔗

设置弹出按钮的弹出类型。


void update_set_previous_on_line(id: RID, other_id: RID) 🔗

设置位于同一行的上一个元素。


void update_set_role(id: RID, role: AccessibilityRole) 🔗

设置元素的无障碍角色。


void update_set_role_description(id: RID, description: String) 🔗

设置元素的无障碍角色描述文本。


void update_set_scroll_x(id: RID, position: float) 🔗

设置滚动条 X 位置。


void update_set_scroll_x_range(id: RID, min: float, max: float) 🔗

设置滚动条 X 范围。


void update_set_scroll_y(id: RID, position: float) 🔗

设置滚动条 Y 位置。


void update_set_scroll_y_range(id: RID, min: float, max: float) 🔗

设置滚动条 Y 范围。


void update_set_shortcut(id: RID, shortcut: String) 🔗

设置元素使用的键盘快捷键列表。


void update_set_state_description(id: RID, description: String) 🔗

设置当前复选状态的人类可读描述。


void update_set_table_cell_position(id: RID, row_index: int, column_index: int) 🔗

设置单元格在表格中的位置。


void update_set_table_cell_span(id: RID, row_span: int, column_span: int) 🔗

设置单元格的跨行/跨列。


void update_set_table_column_count(id: RID, count: int) 🔗

设置表格中的列数。


void update_set_table_column_index(id: RID, index: int) 🔗

设置列的位置。


void update_set_table_row_count(id: RID, count: int) 🔗

设置表格中的行数。


void update_set_table_row_index(id: RID, index: int) 🔗

设置行在表格中的位置。


void update_set_text_align(id: RID, align: HorizontalAlignment) 🔗

设置元素的文本对齐。


void update_set_text_decorations(id: RID, underline: bool, strikethrough: bool, overline: bool, color: Color = Color(0, 0, 0, 1)) 🔗

设置文本的下划线、上划线、删除线。


void update_set_text_orientation(id: RID, vertical: bool) 🔗

设置文本朝向。


void update_set_text_selection(id: RID, text_start_id: RID, start_char: int, text_end_id: RID, end_char: int) 🔗

设置文本字段中的文本选区。text_start_idtext_end_id 应当是由 create_sub_text_edit_elements() 创建的元素。字符偏移量是相对于相应元素的。


void update_set_tooltip(id: RID, tooltip: String) 🔗

设置工具提示文本。


void update_set_transform(id: RID, transform: Transform2D) 🔗

设置元素的 2D 变换。


void update_set_url(id: RID, url: String) 🔗

设置链接 URL。


void update_set_value(id: RID, value: String) 🔗

设置元素文本值。