“语义正确”是什么意思?

时间:2009-08-18 15:08:23

标签: html css terminology

我在css演讲中看到了很多。语义正确意味着什么?

6 个答案:

答案 0 :(得分:46)

正确标记

这意味着你正在调用它实际上是什么东西。经典的例子是,如果某个东西是table,它应该包含行和列的数据。将它用于布局在语义上是不正确的 - 当你不是时,你会说“这是一张桌子”。

另一个例子:列表(<ul><ol>)通常应该用于对类似的项目进行分组(<li>)。您 可以div作为组,<span>表示每个项目,并将每个span设置为带有项目符号点的单独行,并且它可能看起来像你想要的方式。但“这是一个列表”传达了更多信息。

符合HTML背后的理想

HTML代表“超文本标记语言”;其目的是标记或标记您的内容。标记得越准确越好。 HTML5中引入了新元素,以便更准确地标记常见的网页部分,例如页眉和页脚。

使其更有用

所有这些语义标签都可以帮助机器解析您的内容,从而帮助用户。例如:

  • 了解您的元素 允许浏览器使用合理的默认值来确定外观和行为的方式。这意味着您可以进行更少的自定义工作,并且更有可能在不同的浏览器中获得一致的结果。
  • 浏览器可以正确应用您的CSS(级联样式表格),描述每种类型的内容应该如何显示。您可以提供其他款式,或者用户可以自己使用;只要你在语义上标记了你的元素,就可以使用“我希望头条很大”这样的规则。
  • 盲人的屏幕阅读器可以帮助他们更轻松地填写表单,如果逻辑部分分为fieldsets,每个部分legend。盲人用户可以听到legend文字并决定“哦,我可以跳过此部分”,就像有视力的用户可能会通过阅读一样。
  • 当手机看到type="tel"的表单输入(电话号码)时,可以切换到数字键盘。

答案 1 :(得分:20)

语义学基本上意味着“意义研究”。

通常,当人们谈论代码在语义上是正确的时,他们会引用那些可以描述某些内容的代码。

在(x)HTML中,有某些标记赋予它们包含的内容含义。例如:

H1标签将其包含的数据描述为1级标题。 H2标签将其包含的数据描述为2级标题。这背后隐含的意思是H1下的每个H2都在某种程度上相关(即标题和副标题)。

当您以语义方式编码时,您基本上会为您所描述的数据赋予意义。

考虑以下2个语义VS非语义样本:

<h1>Heading</h1>
<h2>Subheading</h2>

VS非语义平等:

<p><strong>Heading</strong></p>
<p><em>Subheading</em></p>

有时你可能会在辩论中听到人们说“你现在只是在谈论语义”,这通常指的是与其他人说同样含义但使用不同词语的行为。

答案 2 :(得分:10)

“语义正确使用元素意味着您将它们用于它们的用途。这意味着您将表格用于表格数据但不用于布局,这意味着您使用列表来列出事物,强大和em为文本强调,等等。“

来自:http://www.codingforums.com/archive/index.php/t-53165.html

答案 3 :(得分:2)

HTML元素有意义。 “语义正确”意味着您的元素意味着它们应该是什么。

例如,您的定义列表由代码中的<dl>列表表示,缩写为<abbr>s等。

答案 4 :(得分:1)

这意味着HTML元素在正确的上下文中使用(不像表用于设计目的),CSS类以人类可理解的方式命名,文档本身具有可由非浏览器处理的结构客户喜欢屏幕阅读器,自动解析器试图从文档中提取信息及其结构等。

例如,您使用列表来构建菜单。通过这种方式,残障人士的屏幕阅读器将会知道这些列表项是同一菜单级别的一部分,因此它将按顺序读取它们以供人选择。

答案 5 :(得分:0)

我从来没有在纯粹的CSS语境中听过它,但在谈论CSS和HTML时,它意味着使用正确的标签(例如,避免将表标签用于非表格数据),提供正确的值用于标识包含数据的类和标识(并在适当时使用microformats),等等。

所有这些都是为了确保人类可以理解您的数据(一切都正确显示)和计算机(一切都被正确识别和标记)。