блочно > IFocusableNode > canBeFocused

Метод IFocusableNode.canBeFocused()

Указывает, разрешает ли этот узел фокус. Если возвращает false, то ни один из других методов IFocusableNode не будет вызван.

Обратите внимание, что необходимо соблюдать особую осторожность, если реализации этой функции динамически изменяют свое возвращаемое значение в течение жизненного цикла узла, поскольку определенные условия среды могут повлиять на фокусируемость элемента DOM этого узла (например, имеет ли элемент положительный или нулевой tabindex). Кроме того, изменение значения с true на false, когда узел удерживает фокус, не приведет к немедленному изменению текущего фокуса узла или внутреннего состояния FocusManager, и, таким образом, может привести к тому, что некоторые функции узла будут вызваны позже, когда он будет дефокусирован (так как ранее он считался фокусируемым во время фокусировки).

Реализации обычно всегда должны возвращать true здесь, если только нет обстоятельств, при которых этот узел следует пропустить из соображений фокуса. Примерами могут быть отключение, только для чтения, чисто визуальное оформление или узел без визуального представления, который должен реализовывать этот интерфейс (например, из-за родительского интерфейса, расширяющего его). Помните о передовых методах обеспечения доступности при определении того, должен ли узел быть фокусируемым, поскольку даже отключенные и только для чтения элементы все еще часто важны для предоставления организационного контекста пользователям (особенно при использовании программы чтения с экрана).

Подпись:

canBeFocused(): boolean;

Возврат:

булев

Может ли FocusManager сфокусировать этот узел.