У меня есть следующая разметка, реализованная с помощью проигрывателя VideoJS (я также могу включить js, если это необходимо):
<video id="example_video_1" class="video-js" width="736" height="352" controls="controls" autoplay="autoplay" loop="loop">
<source src="a/v/jt_homevid.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
<source src="a/v/jt_homevid.ogg" type='video/ogg; codecs="theora, vorbis"'>
<object id="flash_fallback_1" class="vjs-flash-fallback" width="736" height="352" type="application/x-shockwave-flash" data="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf">
<param name="movie" value="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf" />
<param name="allowfullscreen" value="true" />
<param name="flashvars" value='config={"playlist":["<? echo $currurl; ?>/a/v/slide-1-joshtaerk-cdcover.jpg", {"url": "<? echo $currurl; ?>/a/v/jt_homevid.mp4","autoPlay":false,"autoBuffering":true}]}' />
<img src="a/v/slide-1-joshtaerk-cdcover.jpg" width="736" height="352" alt="Poster Image" title="No video playback capabilities." />
</object>
</video>
И это в настоящее время не проходит проверку HTML со следующим сообщением об ошибке:
Строка 152, столбец 82: источник элемента не разрешен в качестве дочернего элемента видео элемента в этом контексте. (Подавление дальнейших ошибок из этого поддерева.)…
Контексты, в которых может использоваться источник элемента: как дочерний элемент медиа-элемента, перед любым содержимым потока или элементами отслеживания. Модель содержимого для элемента видео: если элемент имеет атрибут src: ноль или более элементов отслеживания, то прозрачный, но с нет потомков медиаэлемента. Если у элемента нет атрибута src: ноль или более элементов источника, затем ноль или более элементов трека, затем прозрачный, но без потомков медиаэлемента.
Я понимаю, что мне, возможно, не стоит доверять валидатору W3C HTML5 на данном этапе его разработки, но если я ошибся в кодировании, я бы хотел определить, где и как это предотвратить в будущем. Кроме того, я хотел бы убедиться, что правильно интерпретирую сообщение об ошибке, что, по моему мнению, должно произойти по пути.
Я не вижу, как я отклонился от допустимого контекста для этого элемента. Это дочерний элемент медиа-элемента (в частности, тега <video>
), я полагаю, что он предшествует любому «содержимому потока», потому что я не могу найти элемент <source>
, указанный в качестве содержимого потока на W3C (на this ссылка ), и у меня нет элементов <track>
.
Одна вещь, в которой я не уверен, это определение «тогда прозрачного» в модели содержимого для элемента <video>
. Насколько я понимаю, если элементы внутри медиа-элементов действительны, если они также действительны внутри родительского медиа-элемента (из этой темы: Могу ли я иметь несколько атрибутов src в элементе HTML5 ? Или src атрибут и элемент ? ), и, возможно, именно здесь я ошибся, поскольку у меня есть элемент <video>
внутри родительского элемента <div>
?
Может ли кто-нибудь подтвердить это как мою ошибку, или я должен игнорировать сообщение проверки? Если это ошибка, как еще мне выкладывать контент? Стилизуя элемент видео напрямую?
Заранее спасибо.