1

我有一个自动保存到服务器的页面(如果发生任何更改,会在计时器上)。我想添加一个小指示器,
它将显示或。UnsavedSavedError

为此使用<output>标签在语义上是否有效,还是应该使用<div>

4

1 回答 1

3

这是一个有趣的问题,尽管答案会有些主观。我会尝试给出我的结论和推理。

让我们从规范对<output>元素的说明开始:

输出元素表示计算的结果。

真的,这没什么好说的。然而,假设它曾经说过:

输出元素表示进程运行的结果。

那么很明显,您的用例已包含在该定义中。所以关键问题就变成了:“计算”是否可以解释为“进程的运行”。在我看来,一个通情达理的人可以支持该论点的任何一方。

但是 HTML5 中的 HTML 元素语言只有大约 107 个单词。在这么小的空间里,没有任何意义的细微差别,每个单词都必须涵盖很多用法。为此,需要尽可能宽泛地解释每个元素的语义,而不是尽可能狭隘。在这种情况下,对我来说,“运行进程”与“计算”非常相似<output>,即元素的使用适合您的用例。

另一个需要牢记的问题是“元素的使用是否会导致 HTML 消费者(例如用户代理和搜索引擎)出现不良行为?” 如果确实如此,那么这将是不使用它的明确理由。然而,<output>它似乎是一个被动元素,不会导致任何可能不受欢迎的行为。

所以我的结论是,使用该<output>元素将适合您的用例。

于 2012-12-25T12:53:42.693 回答