Html 替代DOA<;直接投资>;标签

Html 替代DOA<;直接投资>;标签,html,tags,definition,semantic-markup,xhtml2,Html,Tags,Definition,Semantic Markup,Xhtml2,DOA(或者更恰当地说,在到达之前死)XHTML2工作标准表示支持 […]术语及其定义可以在di元素中分组,以帮助澄清术语及其定义之间的关系 为了澄清,此标签将用于将和标签分组在下: 一,。据我所知,这是它被排除在HTML5之外的一个经常被引用的原因(它只是一个样式挂钩)。坦率地说,我认为这是胡说八道,因为这是一种完全合理的方式,可以将术语和定义进行分组,以达到美学和解析的目的。但谁在乎呢?不带引号的属性和不完整的标记更为重要。HTML5 CR定义了一个组内的一个分组,例如dd元素后跟一个或多个

DOA(或者更恰当地说,在到达之前死)XHTML2工作标准表示支持

[…]术语及其定义可以在
di
元素中分组,以帮助澄清术语及其定义之间的关系

为了澄清,此标签将用于将
标签分组在
下:


一,。据我所知,这是它被排除在HTML5之外的一个经常被引用的原因(它只是一个样式挂钩)。坦率地说,我认为这是胡说八道,因为这是一种完全合理的方式,可以将术语和定义进行分组,以达到美学和解析的目的。但谁在乎呢?不带引号的属性和不完整的标记更为重要。

HTML5 CR定义了一个组内的一个分组,例如
dd
元素后跟一个或多个
dd
元素构成一个组,下一个
dd
开始一个新组等。从这个意义上说,
di
元素在结构上是冗余的。另一方面,
dl
元素实际上没有语义(除了在结构上是某种东西之外),除了默认的呈现问题之外,没有已知的软件以任何特定的方式处理它

如果你想把这样一个群体作为一个整体来设计,那么根据规范和草稿,你多半是运气不佳。目前还没有关于添加类似于
di
的内容的提案。您可以提交提案,将
tbody
optgroup
作为先例(即作为特定元素中的特殊用途分组元素),但这将是一个漫长的过程

一个简单的方法是使用
div
dl
中进行分组。当然,这是“无效的”,但这只是一个正式的立场,浏览器并不真正关心。他们似乎消化了这一美好的事物:

<dl>
    <div>
        <dt>defenestrate</dt>
        <dd>throw through or out of the window; "XHTML2 was defenestrated"</dd>
        <dd>what I will do if web standards keep going they way they are</dd>
    </div>
    <div>
        <dt>pragmatic HTML</dt>
        <dd>using markup according to how things actually work in browsers
            and other relevant software</dd>
    </div>
</dl>

你可能会因此被炒鱿鱼。一种更安全、更枯燥的方法是将每个单元作为一个单独的
dl
元素(如果需要将所有元素作为单个元素处理,则将
dl
元素包装在一个
div
容器中)。

可能符合要求,但我认为它在内部无效。@Diodeus我已经接受
在这里不起作用,由于只有
的子元素约束。我可以使用
并尽我所能定义项目部分之间的关系;这就是我现在要去的地方。我只是想知道这个问题是否已经得到了更正式的解决,是否有一个现有的解决方案。我发现StackOverflow人群对HTML语义问题不太感兴趣。@Diodeus好吧,不管怎样,我希望这不是一个不受欢迎的问题。我不认为这是一场势均力敌的选举,但我认为这是一场无休止的选举。我只是想找到一个可以接受的解决方案。谢谢你的回答。我确实考虑过
dl>div>dt+dd
方法,但不幸的是,这里需要标记有效性(尽可能有效)。公然无视这一点并不是一个真正的选择,正如我所希望的那样。我也考虑过写一份提案,但坚持下去可能会让我秃顶。我在这里的部分目标是可访问性合规性,但不幸的是,每个人都想拥有自己的蛋糕,所以我还有一个审美品质的额外目标。我将此作为答案,因为在今天的环境中,标记的有效性不是很重要(Angular等)微数据格式提供了正交的语义结构。非常感谢。
<ul>
    <li>
        <dfn id="term-1">term</dfn>
        <p aria-labelledby="term-1">definition for term 1</p>
        <p aria-labelledby="term-1">another definition for term 1</p>
    </li>
    <li>
        <dfn id="term-2">term</dfn>
        <p aria-labelledby="term-2">definition for term 2</p>
        <p aria-labelledby="term-2">another definition for term 2</p>
    </li>
</ul>
<dl>
    <div>
        <dt>defenestrate</dt>
        <dd>throw through or out of the window; "XHTML2 was defenestrated"</dd>
        <dd>what I will do if web standards keep going they way they are</dd>
    </div>
    <div>
        <dt>pragmatic HTML</dt>
        <dd>using markup according to how things actually work in browsers
            and other relevant software</dd>
    </div>
</dl>
<style>
dl > div { border: solid red 1px; margin-bottom: 0.6em; }
</style>