我有以下标记,使用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栏:在此上下文中,元素源不允许作为元素视频的子元素。(抑制此子树的进一步错误。)…。可使用元素源的上下文:作为媒体元素的子元素,在元素视频的任何流内容或跟踪elements.Content模型之前:如果元素具有src属性:零或多个跟踪元素,则透明,但如果没有媒体元素descendants.If,则该元素不具有src属性:零或多个源元素,然后是零或多个跟踪元素,然后是透明的,但没有媒体元素子代。
我确实明白,在W3C HTML5验证器的开发过程中,我可能不应该信任它,但是如果我编码错误,我想确定在哪里,以及如何在将来防止它。另外,我想确定我正确地解释了错误信息,我认为这应该发生在这个过程中。
我看不出我是如何偏离这个元素的允许上下文的。它是媒体元素(特别是<video>
标记)的子元素,它位于我认为的任何“flow content”之前,因为我无法在W3C (at 此链接)上找到作为flow内容列出的<source>
元素,而且我目前没有任何<track>
元素。
有一件事我不确定,那就是<video>
元素的内容模型中‘那么透明’的定义。根据我的理解,如果媒体元素中的元素在媒体元素的父元素(这个线程:元素?)中也是有效的,那么如果这些元素是有效的,那么这可能就是我错误的地方,因为我在一个<video>
父元素中有一个<video>
元素?
有人能确认这是我的错误吗,或者我是否应该忽略验证消息?如果这是一个错误,我应该如何安排我的内容?通过直接设计视频元素的方式?
提前谢谢。
发布于 2011-09-01 21:34:31
您的理解是正确的,这看起来确实是一个验证程序错误。
Validator.nu基于与W3C验证器相同的验证器引擎,但很可能是一个更晚的版本,它没有任何错误地通过标记。
发布于 2021-05-09 21:40:59
在我的例子中,我有一个错误
使用此html代码:
<video class="tab" controls>
Your browser does not support the <video> tag.
<source src="img/holsbeek-HD720p.mov" type="video/mp4" />
</video>
但如果序列是对的,就不会:
<video class="tab" controls>
<source src="img/holsbeek-HD720p.mov" type="video/mp4" />
Your browser does not support the <video> tag.
</video>
发布于 2011-10-20 16:00:16
这个bug现在已在HTML5 Validator中修复。
https://stackoverflow.com/questions/7273864
复制相似问题