Этот, и более широкий случай использования принудительного выбора селекторов атрибутов с учетом регистра, был учтен введением флага селектора атрибутов с учетом регистра s
:
ol[type='i' s] {
list-style-type:lower-roman;
}
ol[type='I' s] {
list-style-type:upper-roman;
}
Теперь мы ждем реализации ...
Спецификация HTML, похоже, предполагает, что поведение type
атрибута ol
некорректно, но использование определенных ключевых слов делает это менее чем на 100% ясным. Раздел 4.16.2 использует "must":
Селекторы атрибутов в элементе HTML в документе HTML должны обрабатывать значения атрибутов со следующими именами как нечувствительные к регистру ASCII, с одним исключением, как отмечено в разделе рендеринга :
- ...
type
(кроме случаев, указанных в разделе рендеринга)
Все остальные значения атрибутов и все остальное должны рассматриваться как полностью регистрозависимые для соответствия селектора.
И указывает на раздел 14.3.8 , который использует «ожидаемое», как описано в аннотации раздела 14 (tl; dr: браузер не обязательно нарушает spec, если он решает не следовать тому, что указано как «ожидаемое» поведение):
Ожидается также применение следующих правил в качестве презентационных указаний:
@namespace url(http://www.w3.org/1999/xhtml);
ol[type="1"], li[type="1"] { list-style-type: decimal; }
ol[type=a], li[type=a] { list-style-type: lower-alpha; }
ol[type=A], li[type=A] { list-style-type: upper-alpha; }
ol[type=i], li[type=i] { list-style-type: lower-roman; }
ol[type=I], li[type=I] { list-style-type: upper-roman; }
ul[type=none i], li[type=none i] { list-style-type: none; }
ul[type=disc i], li[type=disc i] { list-style-type: disc; }
ul[type=circle i], li[type=circle i] { list-style-type: circle; }
ul[type=square i], li[type=square i] { list-style-type: square; }
В приведенной выше таблице стилей селекторы атрибутов для элементов ol
и li
должны обрабатываться с учетом регистра.
Учитывая, что ожидаемое поведение, описанное в последнем, больше соответствует ожиданиям автора, чем фактическому поведению браузера, я скажу, что это действительно неправильное поведение, несмотря на вседозволенность слова "ожидаемый".