blockly > IFocusableNode > canBeFocused

IFocusableNode.canBeFocused() 方法

指示此节点是否允许聚焦。如果此方法返回 false,则系统不会调用任何其他 IFocusableNode 方法。

请注意,如果此函数的实现在节点的生命周期内动态更改其返回值,则必须特别注意,因为某些环境条件可能会影响此节点的 DOM 元素的可聚焦性(例如元素的 tabindex 是正数还是零)。此外,在节点获得焦点时将值从 true 更改为 false 不会立即更改节点的当前焦点或 FocusManager 的内部状态,因此可能会导致在失去焦点后调用节点的某些函数(因为它之前在获得焦点时被视为可聚焦)。

实现通常应始终在此处返回 true,除非在某些情况下,出于焦点考虑,应跳过此节点。例如,处于停用状态、只读、纯视觉装饰,或者没有视觉表示但必须实现此接口的节点(例如,由于父级接口扩展了它)。在确定节点是否应可聚焦时,请牢记无障碍功能最佳实践,因为即使是停用和只读元素,也往往与向用户提供组织上下文相关(尤其是在使用屏幕阅读器时)。

Signature:

canBeFocused(): boolean;

返回

布尔值

此节点是否可以由 FocusManager 聚焦。