2011-03-24 67 views
4

我讀過this和我一般使用跨度或強身描述「文本標籤」。這對於最佳實踐是否正確?它似乎也是一種語義方式,但爲什麼它僅限於形式元素?標籤吊牌語義

如果我想顯示的信息是:

Name: FOo Bar 
Age: 27 
Weight: 151 kg 

等?

姓名,年齡和體重都可以描述爲標籤,但因爲他們是描述項目不輸入標籤,是不正確的語義(HTML和W3C至少)。我通常使用

<span class="label"> or <span class="description"> or <span class="person-detail"> etc 

但通常還應該有一個不屬於輸入字段的標籤標籤。因爲這可能有點主觀,我不介意這變成一個社區維基或

+0

相關:http://stackoverflow.com/questions/1687733/what-html-markups-to-use-for-displaying-label-value-data – 2012-09-25 09:33:21

回答

0

我想如果你想100%的語義正確,你必須使用標籤結合禁用或只讀文本框它們的風格看起來有點不同。

+0

我不認爲禁用文本框甚至應該用於僅用於顯示目的。只有身份證有一個原因,它應該被禁用...對不對? – corroded 2011-03-24 05:34:12

+0

您可以只讀。看看屏幕閱讀器如何應對並將其用作標準可能是一個更好的主意。 – JohnP 2011-03-24 05:56:21

4

您應該使用definition listdldtdd):

<dl> 

<dt>Name</dt> 
<dd>FOo Bar</dd> 

<dt>Age</dt> 
<dd>27</dd> 

<dt>Weight</dt> 
<dd>151 kg</dd> 

</dl> 

該規範規定,它可用於

的術語和定義,元數據的主題和價值觀,問題和答案或任何其他名稱 - 值數據組。


我認爲table(與th可以可以使用了。但是我只會用它來比較幾個人,而不只是列出一個人的數據。

1

我會避免使用label標籤,除非它是在具有功能的HTML形式組合(具有可編輯字段);否則,使用它可能會在語義上混淆。

一個span標籤沒有語義含義,無論添加到它的ID或一類,並且無論在哪個它使用的上下文中。通過使用span(儘管它不會造成任何傷害),您不會獲得任何語義。

一個strong標籤有一個通用的含義(此內容有額外的重要性)不變化基於在它使用的上下文。當沒有其他更合適的時候,它有時會很有用。

在這種特殊情況下,一個定義列表(由@unor建議)好像要走的路。如果需要高級樣式,請將每個名稱 - 值對放入單獨的定義列表中(這可能會在語義上很尷尬,但它可以使樣式化內容具有更大的靈活性)。