← Все статьи

HTML-элемент `<install>`: установка PWA без JavaScript

Chrome и Edge тестируют декларативную кнопку установки веб-приложения — проще, чем только манифест и свой скрипт.

Содержание

Коротко

В Chrome и Edge испытывают HTML-элемент <install> — декларативную кнопку «установить приложение» для PWA без обязательного пользовательского JavaScript. В выпуске Frontend Focus #741 его сравнивают с привычным сценарием через манифест, service worker и собственный UI установки.

Что произошло

Сегодня установка PWA обычно выглядит так: вы публикуете Web App Manifest, регистрируете service worker, рисуете свою кнопку и ловите событие beforeinstallprompt там, где браузер его ещё отдаёт. На каждом шаге что-то может разойтись — scope worker'а, иконки в манифесте, условия показа баннера.

Экспериментальный <install> должен сузить UX-слой до семантической разметки: браузер сам рисует и обрабатывает установку, а разработчик не тащит отдельный React-компонент «InstallButton» ради одной операции.

В том же дайджесте — широкий срез платформы. Safari 26.5 принес псевдокласс :open, доработки функции random() в CSS, правки anchor positioning и Origin API. Отдельно вышел Safari Technology Preview с очередной порцией WebKit-новинок. Для экосистемы фронтенда отметили Tailwind CSS v4.3 и инструменты для тестирования Vue и возможностей веб-платформы.

Общий вектор: браузеры забирают на себя типовые UX-паттерны — как когда-то <dialog> для модальных окон, так сейчас — установка приложения.

Почему это важно

Сценарий установки часто ломается не из-за «сложного PWA», а из-за рассинхрона: манифест говорит одно, worker обслуживает другой scope, скрипт показывает кнопку в третий момент. Декларативный элемент снижает количество moving parts и улучшает доступность: у кнопки есть понятная семантика, а не div с обработчиком клика.

Если <install> дойдёт до стабильной реализации, дизайн-системам придётся упростить слой установки: один тег плюс постепенное улучшение для браузеров без поддержки. Меньше кастомного JS — меньше регрессий при каждом обновлении Chrome или Edge.

На практике

  1. Следите за статусом фичи в Chrome Platform Status и на caniuse — пока это эксперимент, а не baseline.
  2. Не отменяйте манифест и service worker: новый элемент — надстройка над UX, а не замена требований PWA.
  3. Заложите fallback: где <install> недоступен — короткая инструкция или прежний сценарий с событием установки.
  4. Если таргетите Apple-платформы, отдельно проверьте фичи Safari 26.5 (:open, Origin API) — они живут своим циклом релизов.
  5. На странице оставьте одну главную кнопку установки; два конкурирующих CTA путают пользователя и аналитику.

Итог

<install> — ещё один шаг к меньшему количеству JavaScript ради типового сценария «поставить веб-приложение на устройство». Фича пока в тестах, но направление платформы ясное. Контекст и соседние новости — в Frontend Focus #741.