Я больше ищу ссылки на рассылку списков рассылки и т.д., а не на спекуляцию.
Может ли кто-нибудь помочь мне узнать обоснование приведенных правил обработки ошибок из CSS Specors Level 3 spec.
Пользовательские агенты должны соблюдать правила обработки ошибок синтаксического анализа:
- недействителен простой селектор, содержащий недопустимый префикс пространства имен
- недействительный селектор, содержащий недопустимый простой селектор, недопустимый комбинатор или недопустимый токен.
- недействительна группа селекторов, содержащих недопустимый селектор.
Повторное использование спецификаций Селекторы должны определить, как обрабатывать ошибки синтаксического анализа. (В случае CSS исключается общее правило, в котором используется селектор.)
У меня было следующее правило:
#menu li.last, #menu li:last-child {
...
}
Чтобы компенсировать отсутствие поддержки IE8 в прошлом месяце, я использовал класс и подгонку JavaScript. Однако это не сработало, потому что IE8 соответствует спецификации CSS при обработке ошибок и отбрасывает все правило, потому что оно не распознает один селектор. Это можно устранить, разделив два селектора на отдельные правила.
Почему это желательно? Почему спецификация не позволяет просто отказаться от непризнанного селектора, но сохранить остальную часть правила?
Я хотел бы знать логическое обоснование, поскольку правила в настоящее время кажутся противоречивыми.