2017-10-18 71 views
0

我有ASP.NET Web窗体和有像RequiredFieldValidator的几个asp.net验证控件,RegularExpresionValidator等使用。我必须使表单可以被访问,以便屏幕阅读器可以正确地阅读屏幕。我要补充WAI-ARIA属性“角色” =“警报”“咏叹调原子”:“真”到相应的验证控件,如果有任何验证失败而这些属性不应该存在,如果验证已通过。但我想知道如何添加这些属性,我需要一些帮助WAI-ARIA添加到验证控件。我的Web窗体HTML是如下:如何动态地添加WAI-ARIA在asp.net验证控件?

<asp:FileUpload ID="Fileupload" runat="server" /> 
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
ErrorMessage="Please select a zip file to upload!!!" 
ControlToValidate="Fileupload" ForeColor="Red" Display="Dynamic" > 
</asp:RequiredFieldValidator> 

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" 
    ErrorMessage="Only zip file is allowed!!!" ForeColor="Red" 
    ValidationExpression="^.+(.zip|.ZIP)$" ControlToValidate="Fileupload" 
    Display="Dynamic"> </asp:RegularExpressionValidator> 

回答

0

你可以这样

<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" WAI-ARIA="'role'='alert'" 

生成的HTML看起来像这样

<span id="RequiredFieldValidator1" wai-aria="'role'='alert'">Please select .. </span> 
+0

我使用NVDA屏幕阅读器,并把它添加到验证由于屏幕阅读器无法读取验证错误消息,因此您接近的方式对我无效。 – Simant

+0

那么你应该找出原因,因为'伟aria'属性出现在HTML它不读它们。它能否读取跨度?或与JavaScript显示的元素? – VDWWD

+0

当我点击提交按钮,我可以看到验证信息,但NVDA没读什么。如果有一个工作样本,这将有很大的帮助。谢谢。 – Simant