4.2.Правила для обработки ошибок после синтаксического анализа.
В некоторых случаях устройства вывода должны игнорировать часть неправильных стилевых таблиц. Эта спецификация определяет, что игнорировать; устройства вывода анализируют неправильную часть (для того, чтобы найти начало и конец).
Чтобы убедиться в том, что можно будет добавить в будущем новые свойства и новые значения для уже существующих, необходимо, чтобы устройства вывода подчинялись следующим правилам при обнаружении ниже лежащих сценариев:
Неизвестные свойства. Устройства вывода должны игнорировать объявление с неизвестным свойством. Например, если стилевая таблица:
H1 { color: red; rotation: 70minutes }
то устройство вывода будет понимать ее, как:
H1 { color: red }
Неправильные значения. Устройства вывода должны игнорировать объявления с неправильными значениями. Например:
IMG { float: left } /* correct CSS2 */
IMG { float: left here } /* "here" is not a value of 'float' */
IMG { background: "red" } /* keywords cannot be quoted in CSS2 */
IMG { border-width: 3 } /* a unit must be specified for length values */
Анализ CSS2 признает первое правило и игнорирует остальные, как если бы стилевая таблица выглядела бы следующим образом:
IMG { float: left }
IMG { }
IMG { }
IMG { }
Устройства вывода, согласующееся с будущими спецификациями CSS, может принять одно или больше других правил.
Неправильное @-ключевое слово. Устройства вывода должны игнорировать неправильные @-ключевые слова вместе со всем, следующим за ними, включая последующие точку с запятой (;) или блока ({…}), что бы ни шло первым. Например:
@three-dee {
@background-lighting {
azimuth: 30deg;
elevation: 190deg;
}
H1 { color: red }
}
H1 { color: blue }
@-правило '@three-dee' не является частью CSS2. Поэтому, все это правило (включая все фигурные скобки внутри) игнорируется. Устройство вывода CSS2 игнорирует его, и эффективно редуцирует стилевую таблицу до следующего вида: