Недопустимый селектор CSS приводит к удалению правила: в чем причина?

ищу больше ссылок на обсуждения в списке рассылки и т. д., а не на спекуляции.

Может ли кто-нибудь помочь мне выяснить обоснование указанных правил обработки ошибок от CSSСелекторы Уровень 3 спекуляция

Пользовательские агенты должны соблюдать правила обработки ошибок синтаксического анализа:

простой селектор, содержащий необъявленный префикс пространства имен, недопустимселектор, содержащий недопустимый простой селектор, недопустимый комбинатор или недопустимый токен, недопустим.группа селекторов, содержащая недопустимый селектор, недействительна.

Повторное использование спецификаций Селекторы должны определять, как обрабатывать ошибки синтаксического анализа. (В случае CSS все правило, в котором используется селектор, отбрасывается.)

У меня было следующее правило:

#menu li.last, #menu li:last-child {
  ...
}

Чтобы компенсировать IE8 'Из-за отсутствия поддержки последнего ребенка я использовал класс и шим JavaScript. Тем не менее, это нене работает, потому что IE8 соответствует спецификации CSS по обработке ошибок и отбрасывает все правило, потому что оно неРаспознать один селектор. Это можно исправить, разделив два селектора на отдельные правила.

Почему это желательно? Почему нетТ спецификация предлагает просто отбросить нераспознанный селектор, но оставить остальное правило?

Я хотел бы знать обоснование, поскольку правила в настоящее время кажутся нелогичными.

Ответы на вопрос(1)

Ваш ответ на вопрос