1、什麼是HTML語意化?
根據內容的結構化(內容語義化),選擇合適的標籤(程式碼語義化)便於開發者閱讀和寫出更優雅的程式碼的同時讓瀏覽器的爬蟲和機器很好地解析。
2、為什麼要語意化?
- 為了在沒有CSS的情況下,頁面也能呈現出很好地內容結構、程式碼結構:為了裸奔時好看;
- 使用者體驗:例如title、alt用來解釋名詞或解釋圖片資訊、label標籤的活用;
- 有利於SEO:和搜尋引擎建立良好溝通,有助於爬蟲抓取更多的有效資訊:爬蟲依賴標籤來確定上下文和各個關鍵字的權重;
- 方便其他裝置解析(如螢幕閱讀器、盲人閱讀器、行動裝置)以意義的方式來渲染網頁;
- 便於團隊開發和維護,語意化更具可讀性,是下一步吧網頁的重要動向,遵循W3C標準的團隊都遵循這個標準,可以減少差異化。
3、寫HTML程式碼時要注意什麼?
- 盡可能少的使用無語義的標籤div和span;
- 在語意不明顯時,既可以使用div或p時,盡量用p, 因為p在預設情況下有上下間距,對相容特殊終端有利;
- 不要使用純樣式標籤,如:b、font、u等,改用css設定。
- 需要強調的文本,可以包含在strong或em標籤中(瀏覽器預設樣式,能用CSS指定就不用他們),strong預設樣式是加粗(不要用b),em是斜體(不用i);
- 使用表格時,標題要用caption,表頭用thead,主體部分用tbody包圍,尾部用tfoot包圍。表頭和一般單元格要區分開,表頭用th,單元格用td;
- 表單域要用fieldset標籤包起來,並用legend標籤說明表單的用途;
- 每個input標籤對應的說明文字都需要使用label標籤,並且透過為input設定id屬性,在lable標籤中設定for=someld來讓說明文字和相對應的input關聯起來。
4、HTML5新增了哪些語意標籤,詳述之。
見這位前端大拿的blog。