2014-03-01 74 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

哈。我寫了所有這些假設我的標記不會被解釋。我即將編輯它。 –