Ответ 1
В самом деле, тот же документ был указан в другом вопросе здесь. Вот что я должен был сказать об этом:
Этот документ, на который вы ссылаетесь, представляет собой 10-летний проект.
Сейчас 11 лет, но это не так (хотя это и говорит о очень вероятной причине, почему приведенный вами пример не работает). Дело в том, что приведенный пример не отображается в последней версии той же спецификации. Таким образом, предположительно, внедрение селекторов в атрибутах стиля считалось нежизнеспособным и отбрасывалось в результате.
Мой ответ на вопрос, связанный в комментариях, подсказывает, почему такая функция считалась нежизнеспособной - она просто несовместима с текущим состоянием CSS как языка:
Обратите внимание, что встроенные стили участвуют в одном и том же каскаде в качестве селекторов в наборах правил и имеют наивысший приоритет в каскаде (
!important
несмотря на это). Поэтому они имеют приоритет даже над псевдоклассовыми состояниями. Предоставление псевдоклассов или любых других селекторов в встроенных стилях могло бы ввести новый каскадный уровень, а вместе с ним и новый набор осложнений.
Конечно, я не претендую на то, чтобы говорить за людей, которые на самом деле приняли решения и/или написали спецификацию, но если бы я был одним из них, то причина, по которой я дал бы за то, что не поддерживал эту функцию.
Это также объясняет, почему ни один браузер не реализовал такую функцию (или, что более вероятно, отсутствие реализации было одним из факторов, заставляющих его пересматривать и затем в конечном итоге отбрасывать, давая поставщикам еще больше причины не начинать внедрение теперь, когда спецификация достигла статуса CR).
Урок здесь - никогда не ссылаться на старые версии технических документов W3C в качестве канона. Всегда помните, чтобы просмотреть последние спецификации; вы должны иметь возможность найти ссылку в заголовке документа.