2011年8月16日 星期二

[ASP.net] 撰寫無障礙網頁的ASP.net技巧&分享 part2

照著之前的文章寫完程式,雖然可以硬過機器檢測
但在人工檢測方面可能會被退件……

有些政府機關要求嚴格,必須連人工檢測部份也要符合無障礙標準
但人工檢測必須在平時撰寫程式時就該留意,網站完成後若再每個網頁一個一個比對修改的話,整個會更動很大
所以以下再針對A+無障礙的人工檢測分享一些心得:

1.DropDownList控制項最好不要AutoPostBack=”True”
說明:因為當DropDownList設定AutoPostBack=Ture的話,視障者使用鍵盤移動下拉選單,每次網頁會刷新,他們會重覆聽取網頁訊息。

2.Table行列標題請使用正確TH標籤
說明:GridView的ShowHeader=”True”時,呈現出Table的Header會自動套上th,ListView則須自行確保標題部份為th而不是td

3.表單的驗證碼圖片,要提供替代方案(EX:寄送mail、語音說明…)
說明:可以把驗證碼的字串存在Session,然後如下圖

<!--GenerateValidateCode.aspx就是產生驗證碼字串的程式,要把驗證碼字串儲存在Session-->
<img src="GenerateValidateCode.aspx" width='100' height='50' alt='<%= (String)Session["ValidateCode"] %>' border='0' />
<!--之後的alt再用以上的方式,來讓圖片有說明文字-->

另外用<a>把該驗證碼圖片包起來超連結另開視窗,讓另一支程式去顯示該字串也是一種辦法。

4. 使用JavaScript語言需指定不支援JavsScript時的辦法
實務範例:以Javascript更改字級大小為例
要追加

<!--中文版-->
<noscript>
字級大小SCRIPT,如您的瀏覽器不支援,IE6請利用鍵盤按住ALT鍵 + V → X → (G)最大(L)較大(M)中(S)較小(A)小,來選擇適合您的文字大小,如為IE7或Firefoxy瀏覽器則可利用鍵盤 Ctrl + (+)放大 (-)縮小來改變字型大小。
</noscript>
<!--英文版-->
<noscript>
Word-class size SCRIPT, such as your browser does not support, IE6 please use the keyboard hold down the ALT key + V → X → (G) the largest (L) larger (M) in the (S) smaller (A) small, to choose The text size is right for you, or iffor IE7 Firefoxy browser can use the keyboard Ctrl + (+) to enlarge (-) narrowed to change the font size.
</noscript>

如此一來,當使用者的瀏覽器把Javascript關閉時,<noscript>區塊裡的文字就會出現如下圖

5. 超連結須加上title屬性
例:

<a href="http://tw.yahoo.com" alt="機器檢測必填" title="人工檢測會檢查" >Yahoo</a>

6.對經常使用的超連結,提供快速鍵的操作
例:

<a href="http://tw.yahoo.com" accesskey="C">靜態網頁</a>
<asp:HyperLink AccessKey="C" runat="server">Server控制項</asp:HyperLink>
<!--以上兩個當使用者在網頁中按下Alt+C時,焦點就會移到該超連結-->


6.美編、排版圖片的裝飾圖,用alt=””,項目符號圖片用alt=”*”
說明:如果以上兩種圖的alt設定說明文字的話,語言朗讀系統會重覆讀取無意義的資訊。




沒有留言:

張貼留言