使用HTML5微数据时,'itemscope'和'itemtype'是否应始终用于同一元素?

alo*_*res 9 syntax html5 microdata

我试图理解存在两个属性背后的原因,而不仅仅是让持有'itemtype'的元素成为包装项目范围的元素.

在一个元素上使用'itemtype'属性和在其他元素中使用'itemscope'属性是否有效?像这样:

<section itemtype="http://data-vocabulary.org/Person">
    <div itemscope>
        <span itemprop="name">Alonso Torres</span>
    </div>
</section>
Run Code Online (Sandbox Code Playgroud)

如果这种情况无效那么为什么存在'itemscope'属性呢?为什么规范没有提出让持有'itemtype'属性的元素成为设置范围的元素的想法.这对我来说很有意义.

tag*_*awa 9

你是对的,itemscope属性似乎是多余的.其他人在W3C的HTML邮件列表中指出了这一点:http://lists.w3.org/Archives/Public/public-html-bugzilla/2011Jan/0517.html

答案(http://lists.w3.org/Archives/Public/public-html-bugzilla/2011Jan/0523.html)是:

HTML规范编辑器之前对该功能进行了用户测试,如果我没记错的话,有几个测试对象发现容器的显式指示器更容易,而不是由于类型而隐含.

换句话说,对于属性而言,具有单个明确定义比使用多个隐含定义更好.不确定我同意,但那是官方观点.