前端面試題-HTML結構語義化

WEBING發表於2019-02-16

一、HTML語義化的背景

HTML結構語義化,是近幾年才提出來的,對比之前的 HTML 結構,大多是一堆沒有語義的標籤。用的最多的就是 DIV+CSS,為了改變這種現狀,開發者們和官方提出了 HTML結構語義化的概念,並且在 HTML5 新增了很多語義化標籤。

二、HTML語義化的概念

語義化是指根據內容的結構,選擇合適的標籤,便於開發者閱讀和寫出更優雅的程式碼的同時,讓瀏覽器的爬蟲和機器很好的解析。

三、HTML語義化的必要

隨著網際網路的發展,WEB承載越來越多的資訊(圖片,音訊,視訊等),人們開始用機器來處理網路資訊,就此誕生了搜尋引擎。如次龐大及複雜的資訊如何讓搜尋引擎處理和挖掘,所以讓機器能夠更好地讀懂WEB上內容就變得越來越重要。

傳統的Web由文件組成,W3C希望通過一組技術支撐 “資料的Web”,即 Web of Data,將Web看作一個儲存和管理資料的大型分散式資料庫。語義Web是構造這樣的資料Web的重要一環,幫助人們建立資料並儲存在Web上,建立相關的詞彙表及資料的處理規則。

四、HTML語義化的作用

4.1 頁面結構清晰

去掉或 CSS 樣式丟失的時候,也能讓頁面呈現清晰的結構,增強頁面的可讀性。

4.2 支援更多裝置

方便其他裝置解析(如螢幕閱讀器、盲人閱讀器、移動裝置)以有意義的方式來渲染網頁。

4.3 利於SEO優化

和搜尋引擎建立良好溝通,有助於爬蟲抓取更多的有效資訊,搜尋引擎的爬蟲也依賴於標記來確定上下文和各個關鍵字的權重。

4.4 便於團隊開發和維護

在團隊中大家都遵循W3C標準,可以減少很多差異化的東西,方便開發和維護,提高開發效率,甚至實現模組化開發。

五、HTML語義化的方法

(1)根據文件上下文結構合理的選用最適合表達當前語義的標籤;

(2)儘可少使用無語義的標籤 <div> 和 <span>;

(3)不要使用帶有樣式的標籤,比如:<b><u><font> 等,使用 CSS 設定;

(4)標題標籤的使用應該根據重要性逐級遞減,沒有斷層,並且一個頁面只能有一個 <h1>;

(5)提高關鍵詞密度,如影像的替代文字 alt,提示文字 title;

(6)正確使用內容容器,比如段落 <p>,列表 <ul>, <ol>, <li>, <dl>, <dt>, <dd>;

(7)需要強調的文字,可以使用 <strong><em> 標籤(瀏覽器預設樣式,能用 CSS 設定就不用), <strong> 預設樣式是加粗(不用 <b>),<em> 是斜體(不用 <i>);

(8)表格注意使用,標題 <caption>,表頭 <thead>,表格主體(正文)<tbody>,表注(頁尾)<tfoot>。<tr> 定義表格行,<th> 定義表頭,<td> 定義表格單元。

(9)表單域使用 <fieldset>標籤,並且<legend> 標籤為 <fieldset> 定義標題;

(10)每個 <input> 標籤對應的說明文字都需要使用 <label> 標籤,通過為 <input> 設定 id 屬性,並且在 <lable> 標籤中設定 for=id 使說明文字和對應的 <input> 關聯。

閱讀更多

相關文章