Из этой статьи дословно взято следующее: Shadow DOM v1: Автономные веб-компоненты | Веб-основы
Модель событий Shadow DOM --- Когда событие всплывает из теневого DOM, его цель настраивается для поддержки инкапсуляции, которую обеспечивает теневой DOM. То есть события перенаправляются так, чтобы выглядеть так, как будто они произошли от компонента, а не от внутренних элементов в вашей теневой DOM. Некоторые события даже не распространяются из тени DOM.
События, которые пересекают границу тени:
- События фокуса: размытие, фокус, фокусировка, фокусировка
- События мыши: щелчок, dblclick, mousedown, mouseenter, mousemove, et c.
- События колеса: wheel
- Входные события: beforeinput, ввод
- События клавиатуры : keydown, keyup
- События композиции: запуск композиции, обновление композиции, конец композиции
- DragEvent: запуск, перетаскивание, перетаскивание, падение и т. д. c.
Что касается спецификаций, событие изменения не является экземпляром InputEvent или UIEvent: https://www.w3.org/TR/uievents/#events -inputevents . Это экземпляр Event.
Что касается обоснования того, почему он не выходит из Shadow DOM, боюсь, я не могу предложить что-то наверняка. Все, что я могу сказать, это то, что событие change не относится непосредственно к действию пользователя, как это делает событие input, а скорее относится к изменению значения HTMLElement. Я полагаю, что только события, рассматриваемые действиями пользователя, должны вспыхивать.
Изменить, чтобы включить дополнительные ссылки:
Вот обсуждение, окружающее обоснование изменения в spe c: https://github.com/w3c/webcomponents/issues/513