編寫有意義的CSS類和#id名稱有什麼好處?屏幕閱讀器說話是爲了幫助用戶瞭解標籤內容的含義和用途嗎?編寫有意義的css .class和#id名稱有什麼好處?
回答
再次,語義你近期的問題,得到的答案保持不變:
這一切都取決於在有關實體的數據上下文。
<span class="username">Andrew Moore</span>
:
如果你的元素擁有一個有意義的領域,它給它分配一個類(即使你不想應用CSS它)只是簡單地定義特定的領域是非常有用的這樣做有以下優點:
- 它很容易識別您的代碼中字段的內容。
- 它增加了可維護性。
- 它幫助解析器和第三方應用程序獲取此字段的值。
微格式只是一個更大的例子。簡而言之,它們是一組預定義的元素和屬性,用於保存特定的一組數據,旨在簡化第三方工具的解析。
「輕鬆解析第三方工具」哪些工具?如果我們也編寫有意義的類和ID,那麼它對第三方工具也會有幫助嗎? – 2010-02-14 08:04:36
@Jitendra:在Stack Overflow的早期,** flair ** API不可用。由於SO具有有意義的「類」定義,因此人們編寫了第三方工具來解析其用戶頁面,獲取其當前聲譽和徽章,併爲具有SO聲譽的論壇創建圖像簽名。至於微格式(這只是同一想法的標準化版本),請參閱以下示例以瞭解其用處:http://googlewebmastercentral.blogspot.com/2009/05/introducing-rich-snippets.html – 2010-02-14 08:08:15
@Jitendra:A一堆用戶爲堆棧溢出創建的第三方工具的其他示例:http://meta.stackexchange.com/questions/tagged/so-addon – 2010-02-14 08:12:18
你不這樣做的機器,但爲人類。
如果我們只關心機器,我們還是會被編碼組裝:)
但爲什麼微格式增加了這麼多的類都是人類的這些? – 2010-02-14 07:56:46
它們是人類意義和可讀性的增強標記,這也有利於刮板等。一般來說,良好的命名約定使得文檔易於理解,可維護並且更容易與(來自人類)一起工作。例如嘗試瞭解gmail.com標記和css命名中發生了什麼。 Impossible :) – cherouvim 2010-02-14 08:00:11
「也有利於刮刀等的標記」你能解釋一下嗎? – 2010-02-14 08:02:33
其他答案很好,但我會專注於這裏的抓取/第三方工具方面。
案例1是蜘蛛和爬行像搜索引擎一樣。如果他們解析你的頁面並且看到類似id="username"
的東西,他們將更有可能發現一些含義,而不是id="div-style-32"
。誠然,我不確定Google現在是否在做這類事情,但可能會有更多的人對此做得更好。
案例2是人們編寫腳本來拉下HTML並對其進行處理以便將其內容提取爲數據。幾乎任何想要這樣做的人都可以使用任何標記,但它只是一個令人討厭的問題。更清晰和更好描述的標記允許刮板腳本由於語義增強而更容易地找到所需的信息。
這還包括瀏覽器擴展或Greasemonkey腳本等功能,允許用戶更改網站的行爲。使用清理標記來創建這些修改會更容易。
但是,如果您不希望人們通過客戶端擴展抓取或修改您的網站,從技術的角度來看,您幾乎沒有辦法做到這一點。你無法阻止它,你只能讓它更加痛苦。而網站開發人員的可維護性的好處是巨大的。真的,爲什麼不呢?
總之,您或其他人可能與您的網站做更容易做的所有不同的事情。
你的意思是id =「用戶名」可以對SEO有幫助。 – 2010-02-14 09:07:31
更有可能成爲更多的SEO,是的。儘管目前我不確定它與當前的索引算法有多大關係。但是我對這個問題也不太瞭解。 – 2010-02-14 11:13:25
- 1. 在記事本中編寫和管理CSS有什麼好處?
- 2. 壓縮CSS class/id名稱?
- 3. App ID和Provisioning Profiles有什麼意義?
- 4. 使用.class對象有什麼意義?
- 5. libcxxabi在linux下有意義嗎?有什麼好處?
- 6. 名稱和友好名稱有什麼區別?
- 7. - (id)init方法有什麼好處?
- 8. 在C#中使用名稱空間別名有什麼好處?
- 9. 什麼意思是帶有美元符號和數字.class的java文件名(名稱是$ 1.class)?
- 10. C#名稱空間別名 - 有什麼意義?
- 11. bean id activemqTx有什麼意義?
- 12. 讓Javascript函數的名稱以小寫字母開頭有什麼好處嗎?
- 13. NHibernate有什麼好處和壞處?
- 14. 元編程,它有什麼好處?
- 15. 用線程編程有什麼好處?
- 16. 定義$ scope界面有什麼好處
- 17. 使用名稱而不是版本號有什麼好處?
- 18. 在JavaScript中使用名稱空間有什麼好處?
- 19. 在web.config文件中添加名稱空間有什麼好處?
- 20. 與OO相比,編寫「功能性」JavaScript有什麼好處?
- 21. 爲主方法編寫公共類有什麼好處嗎?
- 22. 命名錶單有什麼意義?
- 23. 向建設者提供名稱有什麼意義
- 24. `public class`和just`class`有什麼區別?
- 25. final Class和Class有什麼區別?
- 26. 這個typedef是什麼意思,它有什麼好處?
- 27. 排序myClass $ 1.class的Java類文件有什麼意義?
- 28. 什麼時候編寫isEqual在Swift中有意義?
- 29. 將getter和setter命名爲「get ...」和「set ...」有什麼好處?
- 30. 什麼意思[隱藏] {...} class in css?
爲什麼要使用賦予有意義的變量名稱和函數名稱? – knittl 2010-02-14 09:41:14