首页 > 解决方案 > Mechanical Turk 无法解析 HTML5 - 如何最好地检查它?

问题描述

当尝试一个简单的 HIT 测试批次时,我发现提交按钮不起作用。然后我注意到,在查看布局 ID 时,它说There was an error parsing the HTML5 data in your hit template. 这只是我基于现有模板手动构建的快速 HIT,但我认为我一定是在某个地方搞砸了 HTML,因为我是手动编辑的。

当我尝试将 HIT 的源代码复制/粘贴到 W3 验证器中时,它所抱怨的并不是我接触的模板的一部分,而且似乎主要是因为我的源代码不是完整的 HTML 文档,因为MTurk 将包装它:

Warning: Consider adding a lang attribute to the html start tag to declare the language of this document.
Error: Start tag seen without seeing a doctype first. Expected <!DOCTYPE html>.
Error: Element head is missing a required instance of child element title.
Warning: The type attribute for the style element is not needed and should be omitted.

是否有一种简单的方法可以访问 HIT 的完整包装 HTML 以进行验证?或者一些更好的方法来解决我的 HTML。

标签: htmlmechanicalturkhtml5-validation

解决方案


您是正确的,MTurk 将包装您提供的 HTML。您可以看到它将添加到HTMLQuestion 文档中的样板 XML。这些文档适用于使用 API 的开发人员,但它会向您展示您的 HTML 发生了什么。

也就是说,应该没关系。只需制作有效的 HTML,就可以了。例如,<title>当工人执行您的任务时,该标签不会显示,但将其留在里面不会对任何事情造成伤害。

此外,一个常见的错误是在第一行省略<!DOCTYPE html>。它是 HTML 规范的一部分,但浏览器对此并不严格,所以大多数人不这样做。但是如果你忽略它,MTurk 和 W3 验证器都会对你咆哮。


推荐阅读