Кратко
СкопированоГлобальный атрибут, который делает элемент недоступными для браузеров и вспомогательных технологий. Слово inert можно перевести буквально как «инертный». То есть, элемент, который бездействует или ничего не делает 😴
Пример
Скопировано
<p>Данные загружаются…</p><form inert> <fieldset> <legend>Срок действия лицензии</legend> <label for="start">Дата начала</label> <input type="date" id="start"> <label for="end">Дата окончания</label> <input type="date" id="end"> <button>Применить</button> </fieldset></form>
<p>Данные загружаются…</p>
<form inert>
<fieldset>
<legend>Срок действия лицензии</legend>
<label for="start">Дата начала</label>
<input type="date" id="start">
<label for="end">Дата окончания</label>
<input type="date" id="end">
<button>Применить</button>
</fieldset>
</form>
Как пишется
СкопированоДобавьте к любому тегу inert. Это булевый атрибут, так что у него нет значений.
inert удаляет элемент из порядка навигации и из дерева доступности. Это значит, что на него нельзя кликнуть, сделать фокус, ввести данные и найти через поиск по странице. Скринридеры не зачитывают содержимое таких элементов и не объявляют роли. Это напоминает поведение другого глобального атрибута disabled, но между ними есть разница, — inert можно задать любому тегу или их группе.
У inert по умолчанию нет стилей. Однако текст внутри блока или элемента с inert нельзя выделить, а в случае disabled можно. Если у кнопки есть кастомные стили при наведении и фокусе, то кнопка с inert их проигнорирует без дополнительных усилий в отличие от disabled.
Хотя inert можно использовать для всех тегов, для одиночных кнопок и других интерактивных элементов лучше задавать disabled. Случаи, в которых используют inert:
- сделать временно неактивной область с подгружающимися элементами;
- убрать содержимое страницы из порядка навигации, когда открыто модальное окно.
Учитывайте, что для области с важными элементами лучше не использовать inert. К примеру, делать неактивной часть формы, пока не заполнена другая.
Не забывайте стилизовать элементы с inert, когда это важно. Например, временно неактивная кнопка или поле. Если пропустите этот шаг, пользователям будет сложно найти визуальные отличия между активными и «инертными» элементами. При этом в случае модального окна стоит стилизовать :, а inert не трогать.
[inert], [inert] * { opacity: 0.7; pointer-events: none; cursor: default; user-select: none;}
[inert], [inert] * {
opacity: 0.7;
pointer-events: none;
cursor: default;
user-select: none;
}
Подсказки
Скопировано💡 Когда используете метод .show для показа <dialog>, браузеры добавят inert к остальному содержимому сами.
- Chrome 102, поддерживается
- Edge 102, поддерживается
- Firefox 112, поддерживается
- Safari 15.5, поддерживается