WebAIM團隊部落格的一篇關於網站易用性的文章,比較基礎,簡單翻譯如下:
1. 給logo新增替代文字
這樣有兩個好處:螢幕閱讀器能識別logo圖片代表的含義,圖片未載入到時,也能告訴非視障使用者那裡是你的logo。
幾種方法:
1 |
<img src="logo.png" alt="前端界"> |
或者,你用背景圖來實現logo的話,也可以新增title屬性來實現:
1 2 |
<span title="前端界"></span> </code> |
當然,連結+背景圖的方式是最好的,但最好也加上title屬性:
1 |
<a title="前端界">前端界</a> |
2.新增基本的Landmarks
ARIA Landmark是W3C定義的一套網站可用性規則,對於網站不同的模組新增描述性的Landmark——或者直接叫role,有利於讀屏軟體更好的理解你的網頁,從而讓視障使用者更好的使用你的網站。
1 2 3 |
<nav role="navigation"> <div id="maincontent" role="main"> <form action="search.php" role="search"> |
等等,具體的規則請檢視W3C的建議。
3.增強focus定義
其實很多網站會用盡一切辦法去掉瀏覽器的:focus樣式,特別是對於IE瀏覽器,其實,瀏覽器預設帶上:focus樣式是有道理的,它能指示使用者當前的滑鼠焦點位置是在哪裡。這個對於鍵盤流特別重要。
所以請不要去掉:focus樣式,甚至,你覺得預設的樣式不好看或者不統一(IE是虛線框,Webkit是高亮的實線框,並且,Safari是藍色,Chrome是橙色)也可以自己給定義一個高亮色:
1 2 3 4 |
a:focus{ outline:1px solid red; background:yellow; } |
如果你的產品經理或者視覺設計師堅持要去掉focus狀態的話,把他的滑鼠拿走一天並告訴TA只能用Tab切換連結就好了……
4.定義必填表單項
用aria-required
屬性可以定義表單中的必填項——嗯,主要還是告訴讀屏軟體:
1 |
<input type="text" name="username" aria-required="true"> |
5.給頁面新增一個h1
原因很簡單,不只是有利於SEO,對網站整體的可用性和可讀性都很有幫助。另外,你沒有程式碼潔癖麼?
6.定義表格的表頭
通常很多人習慣表格全部使用td
標籤,其實,表格不止有hd標籤,還有th
、col
、scope
等。
所以簡單來說,表頭換成th
標籤吧:
1 |
<th scope="col">Date</th> |
7.定義表格描述
不要簡單的在表格前面/後面加個p了事了,表格有專用的caption標籤可用,就像圖片一樣。
1 2 3 4 |
<table> <caption>Class Schedule</caption> <tr> …… |
關於表格部分,強烈推薦重新發現HTML表格
8.避免“點選此處”
雖然這樣的連結描述對普通人都無所謂,但是對讀屏軟體來說,是相當糟糕的,它其實是對視障使用者的一種干擾。
所以,直接把連結用到正地方吧。
9.去掉tabindex
曾經,很多人用tabindex
來“增強”使用者體驗,但是這個屬性卻會打亂頁面的正常閱讀順序,對視障使用者是災難性的,對普通使用者也未必是友善的。
所以千萬不要濫用tabindex
屬性。
10.線上檢測一下
呃,看到這裡發現其實是個廣告,但是如果能檢測出來網站可用性問題,也是件好事情,WebAIM開發的一個網頁工具,輸入URL就會自動檢測。測試了一下還不錯,http://wave.webaim.org/