Обязательно ли для поставщиков браузеров реализовывать relatedTarget как элемент объекта события blur? - PullRequest
0 голосов
/ 25 февраля 2020

Сначала я хотел бы заявить, что я прочитал (почти) все остальные вопросы о blur событии и relatedTarget и что я понял, как они работают вместе.

Тем не менее, из спецификаций, которые я видел, я не понял, является ли (с точки зрения спецификаций) обязательным для поставщиков браузеров реализация relatedTarget вообще.

MDN, похоже, эволюционировал до некоторой степени авторитетная спецификация самостоятельно в течение последних лет. Следовательно, согласно этой странице , не должно быть никаких сомнений в том, что relatedTarget всегда является членом объекта события blur и ссылается на элемент DOM, на который направлен фокус (давайте не будем обращать внимания на такие крайние случаи, как вкладки за окном, вкладки во вложенные документы и т. д.).

Однако на той же самой странице рабочий документ W3 C с рабочим проектом событий упоминается как базовая спецификация, которая указана в § 5.2.1.2:

FocusEventInit , relatedTarget RelatedTarget следует инициализировать элементом, теряющим фокус (в случае события focus или focusin) или элементом, получающим фокус (в случае события blur или focusout).

Здесь Использование термина «следует» явно означает, что поставщики браузеров могут решить пойти другим путем: В проекте W3 C говорится, что он придерживается RFC2119 относительно использования таких терминов. В RFC2119 на самой первой странице мы находим:

3 СЛЕДУЕТ Это слово или прилагательное «РЕКОМЕНДУЕТСЯ» означают, что в определенных обстоятельствах могут существовать веские причины для игнорируйте конкретный элемент, но перед тем, как выбрать другой курс, необходимо понять и тщательно оценить все последствия.

Это действительно создает впечатление, что производители браузеров будут делать все, что захотят в этом месте.

Напротив, и, как еще хуже, мои опасения, § 5.2.4.1. W3 C черновик создает впечатление, что relatedTarget еще раз - это , который должен быть реализован как часть объекта события blur.

Что я должен разобрать об этом?

Обратите внимание, что я не спрашиваю, как на самом деле ведут себя браузеры. Я просто хотел бы знать, является ли реализация relatedTarget как часть объекта события blur обязательной для поставщиков браузеров в соответствии с существующими спецификациями (если таковые имеются) или черновиками .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...