2014-03-01 50 views
4

在为Web编写代码时,作者是否应该使用带有类的<i>元素,还是应该使用常规圆括号来表示括号短语?使用'<i>'对圆括号

实施例:

<p>I was walking to my car <i class="paren">on the other side of town</i>, when...</p> 

<p>I was walking to my car (on the other side of town), when...</p> 

附有:

.paren { 
    font-style: normal; 
    &::before {content: '(';} 
    &::after {content: ')';} 
} 

只是想知道这是更语义适当的方法。当然,更容易的选择是简单地输入shift + 9而不必用HTML标记它,但根据The Draft,应该使用<i>元素来指示语音的改变,这正是括号内的短语:通常在前面加上一个短暂的停顿以及一个人声音的音量和音调的降低。


同样的问题适用于由EM包围短语破折号—其用作a similar purpose如括号—短语虽然长破折号可以更加灵活。

+0

个人,括号 – Markasoftware

+0

我不知道这是如何适合编程。 –

+1

我总是采用括号来表示“支持”增强或澄清句子的文本。例如,列举一些例子或“附注”。斜体另一方面,国际海事组织意味着强调或把重点放在一个点上。 –

回答

1

圆括号在英语中已经有了含义,您可以争辩说它们是短语的“标记”。括号表示文本与封闭句/段的关系,并提供演示提示(如何阅读/说出文本)。换句话说,添加HTML标记不会为您提供很多凭借纯文本​​而不存在的语义值。

如果要区分短语与段落的其余部分,或者需要添加仅应用于特定文本的属性,则额外标记可用于此目的。在文本周围添加标签可让您以清晰的方式处理该文本;你可以设计它,用脚本访问它,用屏幕阅读器等解析它。我可能会建议使用span而不是i;尽管i具有广泛的潜在用途,但括号内的文字似乎与普遍的期望相反。

即使你可以设置它拆开,括号文字可能不总是需要被分开设置。

最后,使用CSS提供括号似乎对于开发人员(以及任何后来的读者)来说都是额外的工作。它为已经存在的含义增加了一层间接性。

1:有些情况下,标点符号不能提供足够的结构,应该使用标记进行扩充。一个简单的例子是电话号码,如3.3.2中的here所述。

+0

感谢您的回答。我刚刚意识到的另一件事是'i.paren'的样式定义的一部分是添加的左右括号。这是内容和演示的混合体;如果样式表关闭,则括号内的语句将失去语义。从来没有想过这样! – chharvey

+0

...虽然人们可能会争辩说,'i'元素将*赋予其语义意义,无论表现如何...... – chharvey

+0

@chharvey - 你可以争辩说''我给了文本的语义意义,在某种程度上)...但我会说这是一个较弱的意义,或者至少是一个远不那么标准化的意思。不过,一个非常好的问题;可惜它已关闭。 –

0

http://www.w3schools.com/tags/tag_i.asp

我觉得这是非常正确的。出于可访问性原因(例如读出文本的软件)以及其他人,如果括号表示文本中的语调发生了变化,那么i标签就是适当的元素。作为一个侧面说明,正如原始海报似乎知道:它不再是html5中的“斜体”。

只是为了击败这个死亡:大多数能够处理i标签的文本阅读器可能不会产生听起来像去加重的声音,或者您可能试图用括号表示的任何声音,所以如果它真的很重要让它恰到好处,我会建议创建一个名为de-emphsis的类,它不会产生令人费解的问题并使用括号。听起来像是过度杀伤,但这是推理。

在其他地方可以使用去加重而不用括号。

我的标签可能听起来不像文本阅读器的解密。

视力受损的用户可能想知道实际的括号。

于是,疯狂的建议,我会是这样的:

<p>I was walking to my car (<i class="de-emphasis">on the other side of town</i>), when...</p> 

我没有足够的信誉发表评论或者我会评论,所以我最后的建议是一种意见,不是事实或任何像那样。试着在你做出有关这类东西的决定时记住可访问性。

+0

哈。我写了所有这些假设我的标记不会被解释。我即将编辑它。 –