標籤:style blog http color os io 使用 java ar
下面這張思維導圖,是我對全書大體內容的一個概括性總結:
工具
本書推薦的工具主要包含的是自動化測試,但是我覺得現行的開發環節當中實際用到的會比較少。這裡就推薦一下其他方面的優秀工具:
1. YSlow
YSlow是雅虎推出的一款瀏覽器外掛程式,可以協助你對網站的頁面進行分析,並為你提供一些最佳化建議,以提高網站的效能。戳我查看Yslow-23條規則
- Firefox外掛程式
- Chrome外掛程式
- YSlow for Mobile/Bookmarklet
- 源碼
2. PageSpeed
PageSpeed也是一個瀏覽器外掛程式,由google推出,可以很好地對我們的Web網站進行最佳化實踐——協助你輕鬆對網站的效能瓶頸進行分析,並為你提供最佳化建議。
- 線上分析你的網站
- 安裝瀏覽器外掛程式( Chrome、 Firefox)
- 通過 Insights API在應用中嵌入PageSpeed功能
3.其他優秀工具
- 蜘蛛模擬器:這個工具可以分析你的頁面,並提供一些最佳化建議。
- 映像SEO工具:這個工具可以檢查圖片的alt標籤,並提供一些最佳化建議。
- 請求檢查器:找出頁面中需要載入哪些資源和服務。
- 連結檢查器:檢查頁面中內部、外部和無效連結。
- HTTP頭檢查:顯示網頁或資源的HTTP回應標頭。
- 社交檢查器:檢查頁面中的社交組件,比如Google+、Facebook、Twitter、Linkedin和Pinterest。
- If modified檢查器:檢查頁面是否接受 If-Modified-Since HTTP頭。
- Gzip檢查器:檢查頁面是否經過了Gzip壓縮。
- CSS delivery工具:檢查頁面中所使用的CSS檔案。
- 麵包屑工具:可根據你輸入的資訊提供麵包屑導航的代碼。
- CSS壓縮公用程式:用於壓縮CSS代碼。
良構
什麼是良構?從技術角度來講:它表示文檔要遵循某種嚴格的結束比如每個起始標籤都應該有一個結束標籤、元素的開始與結構都在相同的父元素內以及每個實體引用都要事先定義好。雖然現在多數網站都已經採用:
採用html5<!DOCTYPE> 標籤讓我們在書寫html標籤語句的時候可以不需要那麼規範,但是我覺得從文檔的嚴謹性和規範性以及可讀性上而言,遵循xml標準還是十分有必要的。所謂的良構符合標準:
1.所有的起始標籤都應有一個匹配的結束標籤。
2.空元素應該使用空元素的標籤文法。
<br /> --> <br class=”empty” />
3.所有的屬性都必須有一個值
4.所有的屬性值都需要用引號括起來
5.所有的&號都必須轉義為&
內嵌的JavaScript在這裡會出現問題。Javascript中&是不可轉義的。可以把指令碼移出到一個沒必要轉義的外部檔案中或者把指令碼放進注釋中。
6.所有小於符號<都要轉義為<
內嵌的JavaScript在這裡會出現問題。Javascript不會把<當做小於符號。可以把指令碼移出到一個沒必要轉義的外部檔案中或者把指令碼放進注釋中。
7.只有唯一的根項目
8.轉義屬性值中的引號
在屬性值中把 ” 轉義為" ,把 ’ 轉義為‘ 。
9.所有未預定義的實體引用必須在DTD中聲明
10.結束每一個實體引用,替換虛構的實體引用
XML要求實體引用以分號結尾。
11.將名稱改為小寫,所有元素的
12.把文本轉化為UTF-8
Utf-8是一個標準的編碼,可運作在所有瀏覽器上,被主流的文字編輯器個工具支援,支援所有Unicode字元。
內容
- 修正拼字錯誤,錯別字
- 保證所有串連的可用性
- 移動頁面(自動化檢查串連)
- 重新組織URL的結構,對開發人員、訪問者和搜尋引擎更透明,但要保證舊的URL能夠繼續工作
- 刪除入口頁面(使用者體驗優先)
- 隱藏電子郵件
可訪問性
作者說了三點
a、對於視力不好的使用者可以通過感知來感知文本
b、可以加大搜尋引擎的結果
c、可以提升網站效能,而且可以節省頻寬成本及訪問者的時間
作者還是那句話:HTML文檔只有內容不應該有裝飾
對非隱藏的input,textarea,select等表單元素確保它們都有相應的標籤
- 使用標準的欄位名稱
- 開啟自動完成
- 為表單添加Tab索引
為每個表單添加Tab索引這樣使用者就可以通過tab鍵進行跳轉了
| 1 |
<input tabindex="1" type="checkbox" /> |
有7個元素支援tabindex分別為:a area button input object select textarea
- 適當為較長的網頁添加跳轉
- 加大輸入框
- 加入表格描述
- 加入lang屬性
| 12345678910 |
// en定義語言為英語// zh-CN定義語言為中文 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN" xml:lang="zh-CN"> // 如果網頁定義為XHTML1.1或者XML格式,那麼可以使用xml:lang屬性(因為xml:lang屬性是在XML中確定語言資訊的標準用法). // 如果網頁使用HTML格式,那麼應該同時使用xml:lang和lang屬性. |
布局
建立現代網頁需要使用與CSS相分離的XHTML不要再使用表格型布局與font標籤等表現性元素(//老生常談)
- 使用Css定位替代架構
- 正確標記列表
- 替換佔位圖片
- 添加id屬性
Web應用程式
以下操作都應該通過POST操作
1) 定購商品
2) 簽署法律文檔
3) 從CMS中刪除頁面
4) 簽署申述
5) 寄送電子郵件
6) 向資料庫插入新內容
7) 列印地圖
8) 操控機器
以下操作都應該通過GET操作,因為這是安全的。且不必強制使用者接受
1) 讀取文檔
2) 從CMS下載一份可編輯文檔的副本
3) 讀取電子郵件
4) 查看地圖
5) 檢查機器的目前狀態
通過GET訪問的URL可以連結、被爬蟲抓取、收藏、預抓取,緩衝。GET的形式的URL讓使用者可以使用後退鍵。總的來說,在這些情況下GET操作比POST操作對使用者更友好。GET形式的URL對搜尋引擎也更友好,可以提高搜尋引擎排名。
啟用緩衝某些不常改變的資源(如網頁icon)可以大大提高使用者訪問頁面的速度,提升使用者互動效能。
ETag:Etag是URL的Entity Tag,用於標示URL對象是否改變,區分不同語言和Session等等。具體內部含義是使伺服器控制的,就像Cookie那樣。
HTML重構與網頁常用工具