[英]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.