508合规性 - ASP.NET webforms更新面板

时间:2011-03-03 15:33:56

标签: updatepanel section508

有没有人在使用AJAX和更新面板并保持其网站508 /辅助功能兼容时遇到任何问题?有没有办法检测javascript是否已关闭并强制更新面板以同步方式工作?

2 个答案:

答案 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}}事件)。