Ошибка проверки видео HTML5 - PullRequest
       0

Ошибка проверки видео HTML5

1 голос
/ 01 сентября 2011

У меня есть следующая разметка, реализованная с помощью проигрывателя 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>?

Может ли кто-нибудь подтвердить это как мою ошибку, или я должен игнорировать сообщение проверки? Если это ошибка, как еще мне выкладывать контент? Стилизуя элемент видео напрямую?

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 02 сентября 2011

Ваше понимание верно, и это похоже на ошибку валидатора.

Validator.nu , который основан на том же механизме валидатора, что и валидатор W3C, но, вероятно, будет более поздней версией, проходит разметку без каких-либо ошибок.

0 голосов
/ 20 октября 2011

Эта ошибка теперь исправлена ​​в HTML5 Validator.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...