簡體   English   中英

HTML:從語義上標記地址?

[英]HTML: semantically mark up an address?

如何標記地址(例如,商家及其地址列表)? 問題是我將永遠不會有足夠的地址信息來完成vCard微格式。 address HTML標簽應該是頁面作者的聯系信息,因此可能不是正確的標簽。

有什么建議嗎?

不能完全確定您到底要問什么,但是如果是從搜索引擎的角度來看,您擔心可以嘗試一下Schema.org。 本地商戶頁面上有一些不錯的信息和示例,可以幫助您標記搜索引擎的地址。

當前沒有用於標記物理地址或郵政地址的指定元素。 您是正確的: <address>僅應用於表示文章或文檔作者的聯系信息,因此,例如,您不應使用它來標記企業列表中的地址。

當某些語義不存在HTML時,最好的選擇是標記含義最接近的元素,然后使用輔助標准,例如(1)微格式類,(2)微數據屬性和/或(3)ARIA角色。 我個人更喜歡微數據而不是微格式,因為微數據不會干擾[class]屬性(該屬性用於樣式)。 我不喜歡將語義與樣式混合在一起。 ARIA角色是為了實現可訪問性,我對它們的了解還不夠多,但是在您的代碼中擁有它們非常好。

閱讀Microdata語法 (HTML的擴展)。 微數據是標記中的官方語法 ,而Schema.org是該語法非常流行(谷歌喜歡它)的詞匯 還有其他不受歡迎的詞匯。

要標記物理地址,請使用Schema.org PostalAddress項目類型及其相應的屬性。 老實說,最好使用的元素是普通的<p>

<p itemscope itemtype="http://schema.org/PostalAddress">
  <span itemprop="name">The White House</span>
  <br/>
  <span itemprop="streetAddress">1600 Pennsylvania Avenue</span>
  <br/>
  <span itemprop="addressLocality">Washington</span>,
  <span itemprop="addressRegion">DC</span>
  <span itemprop="postalCode">20500</span>
  <br/>
  <data itemprop="addressCountry" value="US">United States of America</data>
  <br/>
  <span itemprop="url">https://www.whitehouse.gov/</span>
</p>

<br/>元素旨在提供(語義,有意義的)內容換行符,因此在郵政地址中使用此元素是合理的。 這也是一個非常常規的用例。 但是,可以說<pre>也一樣有效,因為它是技術上預先格式化的文本。

<pre itemscope itemtype="http://schema.org/PostalAddress">
  <span itemprop="name">The White House</span>
  <span itemprop="streetAddress">1600 Pennsylvania Avenue</span>
  <span itemprop="addressLocality">Washington</span>, <span itemprop="addressRegion">DC</span> <span itemprop="postalCode">20500</span>
  <data itemprop="addressCountry" value="US">United States of America</data>
  <span itemprop="url">https://www.whitehouse.gov/</span>
</pre>

那么,如果它的企業和他們的地址的列表 ,也許你應該使用列表。 您在HTML中可能做的每一件事都沒有一個語義元素,您只需要使用最相關的元素即可。 根據您將如何格式化此信息,如果數據以表格格式使用,則應使用表格,而對於幾乎所有其他格式,則應使用列表。

您可以設置列表樣式以刪除側面的項目符號,但最重要的是您仍在提供數據列表 ,這是您可以使用的最語義化的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM