如何动态地添加WAI-ARIA在asp.net验证控件?
问题描述:
我有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>
答
你可以这样
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" WAI-ARIA="'role'='alert'"
生成的HTML看起来像这样
<span id="RequiredFieldValidator1" wai-aria="'role'='alert'">Please select .. </span>
我使用NVDA屏幕阅读器,并把它添加到验证由于屏幕阅读器无法读取验证错误消息,因此您接近的方式对我无效。 – Simant
那么你应该找出原因,因为'伟aria'属性出现在HTML它不读它们。它能否读取跨度?或与JavaScript显示的元素? – VDWWD
当我点击提交按钮,我可以看到验证信息,但NVDA没读什么。如果有一个工作样本,这将有很大的帮助。谢谢。 – Simant