有没有人在使用AJAX和更新面板并保持其网站508 /辅助功能兼容时遇到任何问题?有没有办法检测javascript是否已关闭并强制更新面板以同步方式工作?
答案 0 :(得分:1)
第508条准则正在向WCAG 2.0迈进。
http://www.access-board.gov/sec508/refresh/draft-rule.htm#e107
E107 WCAG 2.0协调
WCAG 2.0定义的网页,符合WCAG 2.0的AA级,如该标准所定义的(即所有A级和AA级成功标准和一致性>要求1-4)被视为符合>本部分的以下章节,只要它们也符合本部分的列举部分:
第4章,所有相应的WCAG 2.0成功标准和一致性要求以及本部分的第409和413部分;
第5章,所有相应的WCAG 2.0成功标准和一致性要求;
第6章,所有相应的WCAG 2.0成功标准和一致性要求以及本部分的第604.4,604.5,607和608节。
咨询E107 WCAG 2.0协调。 WCAG 2.0网页定义可通过互联网http://www.w3.org/TR/WCAG20/#webpagedef获得。
WCAG 2.0的一致性定义可通过互联网获取 http://www.w3.org/TR/WCAG20/#conformance
WAI-ARIA是使动态网站可访问的关键技术。这与使用UpdatePanels直接相关。使用WAI-ARIA标签,辅助技术可以通过可访问性API从浏览器接收已更新面板的通知。使用WAI-ARIA,您不必担心对新内容进行同步请求。但是,如果您仍然担心,请考虑使用一种称为“渐进增强”的技术。
使用WAI-ARIA方法将使您的应用程序朝着可访问性的未来发展,并使其与WCAG 2.0的508协调良好。
这是一个很大的话题,所以你可能会有更多的问题。
答案 1 :(得分:0)
只要您不使用JavaScript专门触发回发,那么ASP.NET将回归常规的回发,这基本上是HTML表单提交。使用<asp:UpdatePanel>
,服务器端页面生命周期或多或少相同,因此,您的页面应该会正常降级。
您可能遇到问题的地方是必须使用像<asp:LinkButton>
这样的控件,因为此控件依赖于JavaScript来执行回发。您可以使用以下(示例)代码解决此问题:
<noscript>
<asp:Button runat="server" OnClick="Click_Handler" Text="Update" />
</noscript>
<asp:LinkButton runat="server" OnClick="Click_Handler" Text="Update" />
不支持JavaScript的客户端应首先呈现常规按钮,其他浏览器应忽略它。为了提高可用性,您应该考虑使用JavaScript显示link元素:
<span class="hidden">
<asp:LinkButton runat="server" OnClick="Click_Handler" Text="Update" />
</span>
<script type="text/javascript">
// PSEUDO CODE:
document.ready ? for each span.hidden : show
</script>
基于JavaScript的回发可以针对多个控件和事件发生,而不仅仅是LinkButton
(例如DropDown
控件AutoPostBack="True"
或TextBox
OnTextChanged
{{1}}事件)。