我的一位同事向我反映了他在项目中遇到的问题。由于我对屏幕阅读器和技术缺乏经验,无法帮助他,因此我转向你们这些自豪而强大的SO用户群体。
TLDR版摘要:我们在UpdatePanel中的网格在屏幕阅读器中无法工作。可能与AJAX工具包有关?
请问有人能提供帮助或建议下一步可以采取哪些步骤吗?
以下是我从同事那里收到的内容(重点是我自己加的,希望提高可扫描性):
我目前正在进行无障碍性工作,并在使用Ajax的页面遇到了一些问题。我使用屏幕阅读器测试页面的无障碍性。屏幕阅读器通过音频(文本转语音)帮助用户识别或解释屏幕上显示的内容,然后将信息传输给用户。这对于盲人、视力受损、文盲或学习障碍者非常有帮助。以下是屏幕阅读器的简要概述。屏幕阅读器拍摄网页快照并将内容放置在虚拟缓冲区中。屏幕阅读器使用虚拟缓冲区允许用户浏览内容。如果使用脚本更改内容,则需要将其传递给屏幕阅读器。没有发现内容更改的机制,屏幕阅读器用户可能根本不会被通知内容已更改,或只会被通知内容已更改,但需要阅读整个文档才能发现确切的更改内容。在测试时,我使用了两种类型的屏幕阅读器:Access To Go 3.0.76和Jaws 10.0。
我的测试结果表明,在具有更新面板内网格视图的页面(例如典型的搜索页面),屏幕阅读器通常会读取页面上所有信息(搜索条件)之后进行搜索。按下搜索按钮后,会生成包含列标题和结果集的网格视图。屏幕阅读器没有获取通知新内容已写入页面的信息,因此听到了静音。一位Microsoft员工推荐了一种技术,涉及在更新面板中插入一个隐藏的IFrame,该IFrame将触发屏幕阅读器导航到更新的内容并读取它。该网站解释了如何仅使用UpdatePanel控件实现可访问性。我测试了这种技术,并没有成功使其正常工作。它会呈现一个iframe,但屏幕阅读器仍然不知道页面有更新。
我们的AjaxControlToolKit版本为1.0.11119.0,不提供ARIA(Accessible Rich Internet Applications)实时区域标记。实时区域表示可能发生内容更改而元素没有焦点,并向辅助技术提供有关如何处理这些内容更新的信息。 W3C已推荐了如何组织页面内容的语义,基本上为页面上的每个元素赋予角色,以便辅助技术可以向用户传达适当的信息。我不确定这在技术上意味着什么。
TLDR版摘要:我们在UpdatePanel中的网格在屏幕阅读器中无法工作。可能与AJAX工具包有关?
请问有人能提供帮助或建议下一步可以采取哪些步骤吗?
以下是我从同事那里收到的内容(重点是我自己加的,希望提高可扫描性):
我目前正在进行无障碍性工作,并在使用Ajax的页面遇到了一些问题。我使用屏幕阅读器测试页面的无障碍性。屏幕阅读器通过音频(文本转语音)帮助用户识别或解释屏幕上显示的内容,然后将信息传输给用户。这对于盲人、视力受损、文盲或学习障碍者非常有帮助。以下是屏幕阅读器的简要概述。屏幕阅读器拍摄网页快照并将内容放置在虚拟缓冲区中。屏幕阅读器使用虚拟缓冲区允许用户浏览内容。如果使用脚本更改内容,则需要将其传递给屏幕阅读器。没有发现内容更改的机制,屏幕阅读器用户可能根本不会被通知内容已更改,或只会被通知内容已更改,但需要阅读整个文档才能发现确切的更改内容。在测试时,我使用了两种类型的屏幕阅读器:Access To Go 3.0.76和Jaws 10.0。
我的测试结果表明,在具有更新面板内网格视图的页面(例如典型的搜索页面),屏幕阅读器通常会读取页面上所有信息(搜索条件)之后进行搜索。按下搜索按钮后,会生成包含列标题和结果集的网格视图。屏幕阅读器没有获取通知新内容已写入页面的信息,因此听到了静音。一位Microsoft员工推荐了一种技术,涉及在更新面板中插入一个隐藏的IFrame,该IFrame将触发屏幕阅读器导航到更新的内容并读取它。该网站解释了如何仅使用UpdatePanel控件实现可访问性。我测试了这种技术,并没有成功使其正常工作。它会呈现一个iframe,但屏幕阅读器仍然不知道页面有更新。
我们的AjaxControlToolKit版本为1.0.11119.0,不提供ARIA(Accessible Rich Internet Applications)实时区域标记。实时区域表示可能发生内容更改而元素没有焦点,并向辅助技术提供有关如何处理这些内容更新的信息。 W3C已推荐了如何组织页面内容的语义,基本上为页面上的每个元素赋予角色,以便辅助技术可以向用户传达适当的信息。我不确定这在技术上意味着什么。