这是我的作业中的代码片段。我检查了w3样本http://www.w3schools.com/html/html5_audio.asp并且格式正确。我是因为这些错误而疯了还是我错过了什么?
我相信HTML5 source
元素并不像编写类型的方式,但我还能怎么做呢?如果你们看到我遗失的任何东西,请告诉我。
<li>.ogg(HTML5 <code>audio</code> tag)
<ul>
<li style="list-style-type:none;">
<audio controls>
` <source src="/audio1/horse.ogg" type="audio/ogg">
<!-- IE Support -->
<source src="http://itwp.macomb.edu/wannerj/itwp1000/sounds/horse.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
</li>
</ul>
</li>
答案 0 :(得分:3)
W3C HTML Checker的维护者。问题是您的HTML中有一个迷路`
(反引号)字符,位于<audio controls>
开始标记之后和<source src="/audio1/horse.ogg" type="audio/ogg">
开始标记之前的行。
删除`
个字符,错误将消失。
验证者在这种情况下显示错误消息的原因是当它看到`
字符时,它将其解释为文本内容(后备内容),以便向不支持该用户的浏览器中的用户显示audio
元素;也就是说,与问题代码段中的“Your browser does not support the audio element
”文字相同。
但是如果audio
元素具有此类文本内容,则HTML规范中的规则规定不允许任何元素遵循该文本内容。因此,当检查器在这种情况下看到source
元素时,它会发出一条错误消息,指出不允许使用source
元素。
对不起,检查员没有在此提供更好的错误消息,以帮助您查明问题;例如,如果它说的话会更好:
此处不允许使用
source
元素,因为此audio
元素 已经有文字内容(`
);删除文本内容或移动它 遵循source
元素。
但是当前检查器代码的设计使得它很难产生更有用的详细错误消息。