Медиа-атрибут тега ссылки - проекция, телевизор не действителен

Согласно валидатору w3.org:

<link rel="stylesheet" href="css/style.css" media="screen, projection, tv" />   

больше не действителен Из-за "проекционной" стоимости.

Я точно не помню, но этот способ Opera в полноэкранном режиме включен. Возможно, Opera также загрузит файл с media="screen".

Вопросы:

  1. Почему это недействительно сейчас?
  2. Есть ли другой способ придать дополнительный CSS "полноэкранным / проекционным" устройствам?
  3. Следует ли не указывать атрибут мультимедиа для базового оформления макета?

3 ответа

Решение

Сопровождающий W3C HTML Checker здесь. Около 3 недель назад я внедрил и отправил в рабочую W3C HTML Checker изменение, которое генерирует эти новые ошибки; это изменение: https://github.com/validator/validator/commit/66c739a49afd050226a91f2b7f49662e0dcc9a09

Я сделал это изменение, чтобы привести HTML-контролер в соответствие с текущей спецификацией CSS Media Queries. Как отмечено в предыдущем комментарии:

MQ4 в основном не поддерживает все типы мультимедиа CSS2.1, кроме all, print, screen а также speech, ссылаясь на использование обнаружения медиа-функций вместо этого, говоря:

Кроме того, определены следующие устаревшие типы носителей. Авторы не должны использовать эти типы носителей; вместо этого рекомендуется выбирать соответствующие медиа-функции, которые лучше отражают тот аспект устройства, к которому они пытаются применить стиль.

Предположительно, валидатор помечает значение как недействительное, потому что он нарушает условие, что "Авторы не должны использовать эти типы медиа".

Полное сообщение об ошибке гласит:

Плохая ценность screen, projection, tv для атрибута media на элементе link: Устаревший тип носителя projection, Инструкции см. В разделе "Типы медиа" в текущей спецификации медиазапросов.

... и "текущая спецификация Media Queries" ссылается на Media Queries 4, которая в данный момент находится в разработке. MQ4 в основном не поддерживает все типы мультимедиа CSS2.1, кроме all, print, screen а также speech, ссылаясь на использование обнаружения медиа-функций вместо этого, говоря:

Кроме того, определены следующие устаревшие типы носителей. Авторы не должны использовать эти типы носителей; вместо этого рекомендуется выбирать соответствующие медиа-функции, которые лучше отражают тот аспект устройства, к которому они пытаются применить стиль.

Предположительно, валидатор помечает значение как недействительное, потому что он нарушает условие, что "Авторы не должны использовать эти типы медиа".

Я думаю, что это правильный HTML5:

  1. media атрибут link стихия говорит:

    Значение должно быть действительным медиа-запросом.

  2. Он ссылается на это определение "действительного медиа-запроса";

    Строка является допустимым медиа-запросом, если он соответствует media_query_list изготовление спецификации Media Queries. [MQ]

  3. Это ссылки на эту спецификацию:

    Медиа-запросы (URL: http://www.w3.org/TR/css3-mediaqueries/), Х. Ли, Т. Челик, Д. Глазман, А. ван Кестерен. W3C.

  4. Текущая Рекомендация http://www.w3.org/TR/css3-mediaqueries/:

    http://www.w3.org/TR/2012/REC-css3-mediaqueries-20120619/

  5. Упомянутый media_query_list определяется в разделе 3:

    Синтаксис медиазапроса описан в терминах грамматики CSS2. Таким образом, правила, не определенные здесь, определены в CSS2. media_query_list определенная ниже продукция заменяет media_list производство из CSS2. [CSS21]

  6. Это ссылки на Рекомендацию http://www.w3.org/TR/2011/REC-CSS2-20110607

  7. projection является одним из признанных типов медиа

Другие вопросы по тегам