2011-07-08 47 views
0

我在想,如果有人能幫我解決最近我一直在撓頭的問題。它關於窗體上的可訪問錯誤消息,我花了很長時間研究這些,而沒有找到任何有用的東西,或任何相關的例子。可訪問性的ASP.NET驗證器佈局。需要CSS幫助!

我已經在這裏上傳了佈局問題的模擬頁面。我剛剛使用html,就像asp.net將呈現它一樣。我無法上傳圖片,因爲我必須首先在此論壇上創建點數,所以我剛剛鏈接到此處,以我使用相同樣式http://hbtester.chickenkiller.com/ValidationLayoutTest.htm構建的示例。

在我工作的網站上,我們以前的所有錯誤消息都像紅色的底部錯誤消息。與一個asp.net驗證器在這個單獨的呈現給一個。但作爲我們承擔的可訪問性審計的一部分,我必須將所有驗證器移動到與每個文本框/表單控件關聯的標籤中(經過多次討論)。該代碼看起來像這樣

<tr> 
       <td> 
        <asp:Label ID="parentLabel" AssociatedControlID="input" runat="server"> 
         <asp:Label ID="childLabel" AssociatedControlID="input" runat="server" Text="Enter number here" /> 
         <asp:CustomValidator ID="errorValidator" runat="server" CssClass="error" ControlToValidate="sharesWithDrp" 
          ErrorMessage="Error message"></asp:CustomValidator> 
        </asp:Label> 
       </td> 
       <td> 
        <asp:TextBox ID="input" runat="server"></asp:TextBox> 
       </td> 
      </tr> 

(我和可訪問性驗證檢查,它通過,而當形態模式將有問題的領域是屏幕閱讀器讀出錯誤消息)

,你可以看,老式的底部信息看起來比頂部信息要好得多,我希望它看起來像這樣。有誰知道這是否可能?花費大量時間搞亂CSS,沒有運氣。

有沒有人在ASP.NET中做這個東西的任何經驗?這似乎應該是一件很平常的事情,但我找不到任何東西。請讓我知道如果我完全走錯了方向!

乾杯, 巴斯韋爾

回答

0

唯一的區別在該網站上的兩個錯誤消息之間我看到的是,底部有一個在你的表格跨越兩列跨越。如果您需要將錯誤消息框嵌套在標籤內,我能想到的唯一解決方案就是遠離您的表格佈局。

你可以在這裏查看一些替代方法; http://www.websiteoptimization.com/speed/tweak/forms/

當您不受表格單元限制時,無論您喜歡如何定位錯誤消息都應該是一項小任務。

+0

感謝您的回覆Xec。我會檢查他們在該網站上的設計。我認爲我可能在這裏達到了我們傳統的HTML表格的限制,但是我認爲不得不爲同樣的佈局使用CSS,這並不是我太熱衷於做的事情,所花費的時間以及跨測試的額外工作所有瀏覽器的一致性。 – Buswell

+0

假設右列有一個靜態寬度(風險涉及重疊元素並且難以維護代碼),您也可以使用邊界以相同的方式實現相同的設計 - 嘗試如下所示:.error {margin:10px - 150px 0 0; } – xec