我们正在努力实现网络可访问性,以便遵守某些规范公共/教育机构的法律。到目前为止,我们一直在确保:
alt=""
我们一直在寻找AngularJS动态Web应用程序的框架,但担心它对我们的可访问性地位可能意味着什么。
AngularJS
我知道没有JavaScript的浏览器很可能会破坏高度动态的Angular应用程序(例如,诸如{{ item.something}}嵌入在标记中的表达式,ng-repeat用于从单个<li>客户端局部视图构建列表(如空标签等))。
{{ item.something}}
ng-repeat
<li>
我想知道,对于这类框架而言,是否存在一个很好理解的 最佳实践或信息资源 ,这些 最佳实践或信息资源 严重依赖于动态标记和行内标记,而对于屏幕阅读器或什至是具有 JavaScript 和 CSS已 关闭。
所有相同的原则都适用,例如对图像使用替代文本,对标题的充分利用,对内容使用适当的HTML(5)结构。
您可能是通过JavaScript创建的,但是近5年的屏幕阅读器了解了这一点,并使用浏览器的可访问性API来访问DOM。非JavaScript方面根本不是可访问性问题。没有JavaScript的屏幕阅读器用户数量与一般人群相同,因此它以完全形成的HTML形式出现,而不是您在开发中看到的原始标记。
注意: 我认为渐进增强是一种很好的方法,但是使用Angular.js,您正在预先决定不采用这种方法。如果您想了解性能和渐进增强功能,我认为这可以回答。
当然,您不只是使用Angular.js来创建标准的内容页面,因此您需要快速掌握WAI- ARIA规范以及如何在HTML中使用ARIA。指定如何动态标记传统HTML惯例未涵盖的内容,例如标签,树,网格等。
对于实践中的WAI ARIA技术的实际示例,我将看一下Whatsock技术风格指南。
与传统网站相比,差异之一是您管理页面更新的方式,因为您可以管理键盘焦点而不是刷新页面。但是除此之外,WAI-ARIA是值得一读的东西。