Spec-Zone.ru › Web APIs

ShadowRoot: свойство delegatesFocus

Свойство delegatesFocus только для чтения интерфейса ShadowRoot возвращает true если корень тени делегирует фокус, и false в противном случае.

Если true, при нажатии на недоступную для фокусировки часть DOM тени или при вызове .focus() на элементе-хосте, первому доступному элементу внутри DOM тени хоста присваивается фокус, и хосту тени присваивается доступное :focus стилирование.

Фокус имеет особое значение для пользователей клавиатуры (включая тех, кто использует средства чтения экрана). delegatesFocus по умолчанию фокусируется на первом доступном элементе — что может быть нежелательно, если этот элемент не должен быть частью порядка переключения (например, элемент с tabindex="-1"), или если более «важный» доступный элемент должен получить первоначальный фокус (например, первое текстовое поле, а не кнопка «закрыть», которая предшествует ему). В таких случаях, на элементе, который должен получить первоначальный фокус, можно указать атрибут autofocus. Используйте атрибут autofocus с осторожностью, так как это может привести к проблемам с доступностью, таким как обход важного содержимого, которое может быть незамеченным из-за фокусировки на элементе, расположенном позже в порядке DOM.

Значение свойства изначально устанавливается с помощью свойства delegatesFocus объекта, переданного в Element.attachShadow(), или с помощью атрибута shadowrootdelegatesfocus элемента <template> при создании корня тени декларативным способом.

Значение

true если корень тени делегирует фокус, и false в противном случае.

Примеры

let customElem = document.querySelector("my-shadow-dom-element");
let shadow = customElem.shadowRoot;

// ...

// Does it delegate focus?
let hostElem = shadow.delegatesFocus;

Пример Декларативный Shadow DOM с делегированным фокусом в документации <template> демонстрирует эффекты делегирования фокуса.

Спецификации

Спецификация
DOM
# shadowroot-delegates-focus

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на iOS Samsung Internet WebView Android
delegatesFocus 53 79 94 40 15 53 94 41 15 6.0 53

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/delegatesFocus

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API