Asp.net 如何通过屏幕阅读器工具大声读出内联错误?

Asp.net 如何通过屏幕阅读器工具大声读出内联错误?,asp.net,accessibility,Asp.net,Accessibility,我正在做可访问性测试。我创建了一个电子邮件文本框,并添加了一些验证。我想在我移动到下一个元素时输入错误的电子邮件后,屏幕阅读器应该读取内联错误。我遇到过使用aria descripeby和aria live属性的情况,但不知道如何在这段代码中使用它 <asp:panel defaultbutton="btnEmail" cssclass="row" runat="server"> <biw:labelui associatedcontrolid="TextEma

我正在做可访问性测试。我创建了一个电子邮件文本框,并添加了一些验证。我想在我移动到下一个元素时输入错误的电子邮件后,屏幕阅读器应该读取内联错误。我遇到过使用aria descripeby和aria live属性的情况,但不知道如何在这段代码中使用它

<asp:panel defaultbutton="btnEmail" cssclass="row" runat="server">
        <biw:labelui associatedcontrolid="TextEmail" text="Email Address" runat="server"  />
        <biw:textbox id="TextEmail" width="200" runat="server"   />
        <asp:requiredfieldvalidator controltovalidate="TextEmail" text="*" errormessage="Please enter an e-mail address" display="dynamic" runat="server" />

        <biw:emailaddressvalidator controltovalidate="TextEmail" text="*" errormessage="Please enter a valid e-mail address" display="dynamic" runat="server" />

        <asp:customvalidator id="EmailValidator" controltovalidate="TextEmail" text="*" display="dynamic" runat="server" />
    </asp:panel>

向元素添加附加信息。元素通常有名称或标签,此外还可以有描述。如果错误消息位于单独的元素中,例如
,则可以将该
与输入字段关联

您的代码可能类似于:

电子邮件地址:
无效的电子邮件地址
一些屏幕阅读器会在字段标签后阅读
aria descripbed by
,其他阅读器会告诉您点击快捷键以听到描述。如何呈现给用户取决于屏幕阅读器

如果上面的字段有错误,那么它也应该有错误


为了让屏幕阅读器宣布错误消息,它应该具有


当您发现错误时,将文本插入
(通过javascript),屏幕阅读器将宣布它,因为它是活动区域

document.getElementById(“errorMsg”).innerHTML=“无效的电子邮件地址”;

您能否在问题中添加另一个标记以指示您正在使用的框架?它不是纯html,这正是
aria descripbeby
aria live
的用途。我不会使用
aria descripbeby
。我想,对于错误消息,
警报
角色就足够了。aria-descripeby正是将错误与输入字段关联的正确属性。这是它的主要目的之一。使用警报时应小心。许多屏幕阅读器实际上会说“警惕”,这可能会让人恼火。如果您正在填写表单,出现错误的字段不一定将其限定为警报错误。这只是一个简单的表单错误。